ShellKeeperBLOCK
Persistent Terminal Sessions + File Transfer for AI Assistants
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
721f398e1b0eOBSERVED · 2026-10-08Connect
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 mcp add mcp-shellkeeper -- npx -y [email protected]
{
"mcpServers": {
"mcp-shellkeeper": {
"command": "npx",
"args": [
"-y",
"[email protected]"
]
}
}
}Exposed tools (7)
4 read · 3 write · 0 destructive.
| Tool | Risk | Description |
|---|---|---|
terminal_close_session | read | Close and cleanup a specific terminal session |
terminal_download_file | read | Download a file from remote server to local machine through the terminal session. |
terminal_execute | write | Execute a command in a persistent terminal session. |
terminal_get_buffer | read | Get the raw output buffer from a session. |
terminal_list_sessions | read | List all active terminal sessions with their status and metadata |
terminal_new_session | write | Create a new isolated terminal session. |
terminal_upload_file | write | Upload a file from local machine to remote server through the terminal session. |
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.
| Layer | What it checks | Result |
|---|---|---|
| L0 | Provenance & inventory | PASS |
| L1 | Static analysis of the code | PASS |
| L2 | Instruction surface (what it tells the agent) | FAIL |
| L3 | Class-specific surface | PASS |
| L4 | Behavioural (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)
Upload a file from local machine to remote server through the terminal session.
@modelcontextprotocol/sdk, node-pty, @types/node, typescript
Gates applied: critical_finding, no_behavioural_pass, undeclared_transfer.
721f398e1b0efull audit observations/trust-audit/mcp-server/tranhuucanh__shellkeeper.json · Report an issue / request a re-scanAudit history
Every audit this server has had. A grade with a past is a grade somebody is still checking.
| Date | Source | Verdict | Grade | Score | Change |
|---|---|---|---|---|---|
| 2026-10-08 | 721f398e1b0e | BLOCK | D | 69 | first audit |
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.