ssh-session-mcp
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| SSH_KEY | No | Local private key path | |
| SSH_HOST | No | Legacy single-target SSH host | |
| SSH_PORT | No | Legacy single-target SSH port | 22 |
| SSH_USER | No | Legacy single-target SSH user | |
| VIEWER_HOST | No | Viewer bind host | 127.0.0.1 |
| VIEWER_PORT | No | Viewer port or 'auto' | 0 |
| SSH_MCP_MODE | No | safe or full | safe |
| SSH_PASSWORD | No | Password auth | |
| SSH_MCP_DEBUG | No | Enable debug browser actions | false |
| SSH_MCP_LOCAL | No | Launch a local shell instead of SSH | false |
| SSH_MCP_CONFIG | No | Explicit config file path | auto-discovery |
| SSH_MCP_INSTANCE | No | Runtime isolation key | proc-<pid> |
| SSH_MCP_LOG_MODE | No | 'off' or 'meta' JSONL logging | off |
| AUTO_OPEN_TERMINAL | No | Auto-open browser terminal | false |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": true
} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| ssh-session-openB | Open a persistent interactive SSH PTY session with automatic idle cleanup and a terminal-style dashboard view. |
| ssh-session-sendA | Send raw input to an interactive SSH PTY session. Actor is shown inline in the dashboard transcript. |
| ssh-device-listA | List configured SSH device profiles discovered from ssh-session-mcp.config.json. |
| ssh-session-readA | Read raw buffered terminal output from an SSH PTY session. Supports optional long-polling for new terminal output. |
| ssh-session-watchA | Long-poll an SSH PTY session and render a terminal-style dashboard with inline actor markers. |
| ssh-session-historyA | Read line-numbered session history built from terminal output and user/agent actions. |
| ssh-session-controlB | Send a control key to an interactive SSH PTY session. Actor is shown inline in the dashboard transcript. |
| ssh-session-resizeA | Resize the PTY window of an interactive SSH session. |
| ssh-session-listA | List tracked SSH PTY sessions. Closed sessions are kept briefly for inspection, then automatically pruned. |
| ssh-session-diagnosticsA | Inspect session health, buffer trim state, viewer attachment state, input lock state, and tracked command metadata. |
| ssh-session-policy-listB | List the inherited and session-level custom policy rules currently active for an SSH session. |
| ssh-session-policy-upsertA | Add or update a session-level custom policy rule. Session rules are applied after immutable built-in hard blocks and before the built-in safe/full warning set. |
| ssh-session-policy-removeB | Remove a session-level custom policy rule by id. |
| ssh-session-policy-resetA | Reset the current session custom policy rules back to the inherited defaults loaded from configuration. |
| ssh-session-set-activeB | Set or clear the active session used by tools when the session argument is omitted. |
| ssh-viewer-ensureA | Ensure that a viewer exists for a session. Terminal mode is singleton-scoped and will reuse a running viewer instead of opening duplicates. |
| ssh-viewer-listB | List persisted local viewer processes and their current binding state. |
| ssh-session-closeA | Close an interactive SSH PTY session immediately and remove it from the MCP server. |
| ssh-quick-connectA | One-step: open SSH session using configured device profiles when available, otherwise fall back to legacy .env defaults. Reuse an existing session when possible and return viewer details when enabled. |
| ssh-runA | Execute a command in the SSH session and return the output. Uses intelligent completion detection (prompt matching + idle timeout). In safe mode, dangerous/interactive commands are blocked. Long-running commands automatically transition to async mode. |
| ssh-statusA | Quick status check: list active sessions, viewer URL, connection state. Use this to check if a session is already running. |
| ssh-command-statusA | Check the status of a long-running async command. Returns current output if completed, or partial output if still running. |
| ssh-retryA | Execute a command with automatic retry and backoff on failure. Useful for flaky network commands or services that need time to start. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/Zw-awa/ssh-session-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server