Atlas / MCP servers / tranhuucanh / ShellKeeper

ShellKeeperBLOCK

mcp/tranhuucanh/shellkeeper

Persistent Terminal Sessions + File Transfer for AI Assistants

Verdict
BLOCK
Grade
D
Trust score
69 /100
Exposed tools
7 4r · 3w · 0d
Transport
stdio
License
MIT
Stars
37
01

Overview

From the repository's own README, as read at the audited commit. Badges and raw HTML are left out.

Persistent Terminal Sessions + File Transfer for AI Assistants

SSH into servers, run commands, transfer files — all through your AI assistant. No more stateless limitations.

[](https://opensource.org/licenses/MIT) [](https://nodejs.org) [](https://modelcontextprotocol.io) [](https://www.npmjs.com/package/mcp-shellkeeper) [](https://www.npmjs.com/package/mcp-shellkeeper) [](https://deepwiki.com/tranhuucanh/mcp-shellkeeper)

Real-World Example • Installation • Core Features • Use Cases • Tools

🎯 The Problem

AI assistants like Cursor execute commands statelessly — each command runs in a fresh environment:

❌ ssh user@server                          # Hangs forever - no output until exit
❌ Can't run commands after SSH
❌ Each command starts from scratch
❌ No way to transfer files to/from servers
❌ Must re-authenticate for every operation

✨ The Solution

ShellKeeper transforms AI assistants into stateful operators with persistent sessions and file transfer capabilities.

🚀 Core Features

🔄 Stateful Execution

Traditional AI (Stateless)

You: "SSH to server"
AI: ❌ Command hangs forever

You: "List files"
AI: ❌ Runs on local, not server

ShellKeeper (Stateful)

You: "Connect to my server"
AI: ✅ Establishes SSH session

You: "What files are there?"
AI: ✅ Lists files on server

You: "Go to the logs folder"
AI: ✅ Changes to /var/log

You: "Show me rec
Read from source at commit 721f398e1b0eOBSERVED · 2026-10-08
Advertisement
02

Connect

Built from this server's own package name, version and transport as found in its source — not copied from anyone's documentation, so it cannot drift against a page we do not control.

claude-code
claude mcp add mcp-shellkeeper -- npx -y [email protected]
claude-desktop
{
  "mcpServers": {
    "mcp-shellkeeper": {
      "command": "npx",
      "args": [
        "-y",
        "[email protected]"
      ]
    }
  }
}
03

Exposed tools (7)

4 read · 3 write · 0 destructive.

ToolRiskDescription
terminal_close_sessionreadClose and cleanup a specific terminal session
terminal_download_filereadDownload a file from remote server to local machine through the terminal session.
terminal_executewriteExecute a command in a persistent terminal session.
terminal_get_bufferreadGet the raw output buffer from a session.
terminal_list_sessionsreadList all active terminal sessions with their status and metadata
terminal_new_sessionwriteCreate a new isolated terminal session.
terminal_upload_filewriteUpload a file from local machine to remote server through the terminal session.
04

Trust audit

BLOCKgrade D · trust 69/100 Do not install this without reading the findings. The audit found something that could harm you or your machine.

LayerWhat it checksResult
L0Provenance & inventoryPASS
L1Static analysis of the codePASS
L2Instruction surface (what it tells the agent)FAIL
L3Class-specific surfacePASS
L4Behavioural (sandbox)SKIPPED

What the source does

Filesystem
none-observed
Network
none-observed
Shell
none-observed
Dependencies
not all pinned
Secrets in source
none-found

Findings (2)

CRITICALPrompt injection · prompt.transfer_instruction · CWE-94, CWE-1427
<tool:terminal_upload_file>:1
Upload a file from local machine to remote server through the terminal session.
Why it matters. an instruction to move sensitive data to an outside destination
Fix. remove; a skill never needs the user's secrets off the machine
LOWSupply chain · supply.unpinned · CWE-829, CWE-1357
package.json
@modelcontextprotocol/sdk, node-pty, @types/node, typescript
Why it matters. 4 dependency range(s) float
Fix. pin exact versions or ship a lockfile

Gates applied: critical_finding, no_behavioural_pass, undeclared_transfer.

Audited 2026-10-08 · audit v0.4.1 · source sha 721f398e1b0efull audit observations/trust-audit/mcp-server/tranhuucanh__shellkeeper.json · Report an issue / request a re-scan
05

Audit history

Every audit this server has had. A grade with a past is a grade somebody is still checking.

DateSourceVerdictGradeScoreChange
2026-10-08721f398e1b0eBLOCKD69first audit
06

Questions

What is the ShellKeeper MCP server?

Persistent Terminal Sessions + File Transfer for AI Assistants

What tools does ShellKeeper expose?

7 in total: 4 read-only, 3 that write, and 0 that can delete or overwrite. Every one is listed on this page with its risk.

Is ShellKeeper safe to connect to an agent?

No — not without reading the findings first. The audit graded it D (69/100) and found 1 critical or high issue in the source. Each one is listed on this page with the file and line it is on.

What credentials does ShellKeeper need?

No credential environment variables were found in its source, so it appears to need none.

How does ShellKeeper run?

It speaks stdio, so it runs as a local process your client starts. It is published on npm as mcp-shellkeeper at 1.0.0.

How current is this page?

The grade is for one exact copy of the source (721f398e1b0e), read on 2026-10-08. The repository is watched and re-audited when it changes.

Advertisement