ssh-mcp
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| SSH_MCP_CONFIG | No | Custom path to the servers.toml configuration file. If not provided, the server defaults to ~/.config/ssh-mcp/servers.toml. |
Capabilities
Features and capabilities supported by this server
| Capability | Details |
|---|---|
| tools | {
"listChanged": false
} |
| prompts | {
"listChanged": false
} |
| resources | {
"subscribe": false,
"listChanged": false
} |
| experimental | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| list_serversA | List all configured SSH servers with their groups and descriptions. Args: group: Optional group name to filter by. Shows all servers if omitted. Use list_groups to see available group names. Returns: Formatted table of servers with name, groups, and description. |
| list_groupsB | List all server groups with descriptions and member counts. Returns: Formatted table of groups with name, description, and server count. |
| executeA | Execute a shell command on a single SSH server. Args:
server: Server name (e.g. 'web-prod-01'). Must match a configured server.
Use list_servers to see available servers.
command: Shell command to execute on the remote server (exactly as it
would be typed at a bash prompt).
timeout: Command timeout in seconds. Default 30. Range 1–3600.
working_dir: Absolute remote directory to cd into before running the
command. Uses the server's Returns:
Formatted command execution result with stdout, stderr, and exit code.
Long output is truncated at |
| execute_on_groupA | Execute a shell command on all servers in a group in parallel. Concurrency is capped by the Args:
group: Group name (e.g. 'production', 'web'). Use list_groups to see
available groups.
command: Shell command to execute on every server in the group.
timeout: Per-server command timeout in seconds. Default 30.
Each server has its own timer; slow servers do NOT extend the
per-server limit for others.
working_dir: Absolute remote directory to cd into on each server.
Uses each server's Returns: Formatted summary showing per-server results, success/failure counts, and aggregate exit status. |
| upload_fileA | Upload a file to a remote server via SFTP. Args: server: Server name (e.g. 'pro-dicentra'). local_path: Absolute path to local file. remote_path: Absolute destination path on remote server. Returns: Confirmation message with file size. |
| download_fileA | Download a file from a remote server via SFTP. Args: server: Server name (e.g. 'pro-dicentra'). remote_path: Absolute path to remote file. local_path: Absolute local destination path. Returns: Confirmation message with file size. |
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
- 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/blackaxgit/ssh-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server