ssh-chat-mcp
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
No arguments | |||
Capabilities
Features and capabilities supported by this server
| Capability | Details |
|---|---|
| tools | {
"listChanged": true
} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| connectA | Open a temporary in-memory SSH connection. Requires host, username, and either password OR privateKey (PEM). All credentials are kept in RAM only and wiped on disconnect. WARNING: this connects to a real remote host and host-key checking is disabled — the calling user is responsible for trust. |
| disconnectA | Close the named SSH connection and wipe its credentials from memory. |
| list_connectionsA | List currently registered SSH connections. Returns only non-sensitive metadata (connectionName, host, port, username, connectedAt, status). |
| diagnoseA | Return explicit local diagnostics: MCP server alive, registered connections, known jobs, or a short SSH probe for a named connection. This helps distinguish server unavailable, SSH unavailable, dead connection, and MCP transport issues. |
| execA | Execute a shell command over SSH on the named connection. WARNING: this runs real commands on a real remote machine — destructive operations are NOT blocked by this server. The MCP client / approval layer is responsible for confirming dangerous commands with the user. |
| exec_startA | Start a command over SSH and return immediately with a jobId. Use |
| exec_asA | Run a command non-interactively as another Linux user via |
| exec_as_startA | Start a sudo -iu command and return immediately with a jobId. Read it with |
| exec_statusA | Return job status plus stdout/stderr slices. Pass stdoutOffset/stderrOffset from the previous response's nextOffset fields to read incrementally. |
| exec_jobsB | List known exec jobs and their statuses. Output is metadata only, without logs. |
| exec_cancelA | Best-effort cancellation for a job. If the remote job PID is known, the MCP server sends the signal to the remote process group, then closes the SSH channel. |
| exec_removeB | Forget a completed/cancelled/failed job and drop its buffered stdout/stderr. |
| upload_fileC | Upload a single local file to the remote host via SFTP. localPath and remotePath are taken from arguments only — no paths are hardcoded. |
| upload_directoryA | Recursively upload a local directory tree to the remote host via SFTP. Excludes are caller-supplied (no project dirs hardcoded). Symlinks are not followed unless explicitly requested. |
| download_fileA | Download a remote file to the local filesystem via SFTP. File content is not included in the tool response; only the byte count. |
| read_remote_fileA | Read up to maxBytes of a remote file as UTF-8 text. Content is redacted for known secret patterns before being returned. |
| write_remote_fileB | Write a UTF-8 text payload to a remote file via SFTP. Useful for staging config files (e.g. into /tmp) which a subsequent |
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/aiplatforms-ru/ssh-chat-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server