remote-admin-mcp
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| SSH_MCP_AUDIT_LOG | No | Path to audit log file (optional). | ~/.ssh-mcp-audit.log |
| SSH_SERVER_1_HOST | No | Hostname or IP of the first server. | |
| SSH_SERVER_1_NAME | No | Name for the first server. | |
| SSH_SERVER_1_PORT | No | SSH port for the first server (optional, default 22). | 22 |
| SSH_SERVER_1_USER | No | SSH username for the first server. | |
| SSH_SERVER_1_KEY_FILE | No | Path to SSH private key file for the first server (if not using password). | |
| SSH_SERVER_1_PASSWORD | No | SSH password for the first server (if not using key file). |
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": false
} |
| experimental | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| list_serversA | List all configured SSH servers with their connection details. Call this first to discover available server names. |
| executeA | Execute a command or multi-line script on a remote server via SSH. For single commands use |
| read_fileA | Read a file or specific line range from a remote server. For large files (>200 lines), always use lines+offset to read only the relevant section. Use tail=true to read from end (e.g. log files). |
| write_fileA | Overwrite an entire file on remote server via SFTP. WARNING: replaces full file content. For surgical edits on large files, use replace_in_file instead. Requires approval. |
| transfer_fileA | Transfer a file between local machine and remote server via SFTP. Use direction=upload to send, direction=download to receive. |
| serviceA | Manage or query a systemd service. Use action=status to check, or start/stop/restart/reload to control. Actions other than status require sudo. |
| search_in_fileA | Search for a text pattern in a remote file using grep. Returns matching lines with line numbers and surrounding context. Use this to locate code sections before editing. |
| replace_in_fileA | Replace a specific text passage in a remote file without loading the full content. Preferred over write_file for editing large files. Returns error if old_text not found. Supports dry_run preview. |
| get_file_structureA | Get an overview of functions, classes and key definitions in a source file. Returns symbol names with line numbers. Use this to understand a large file before reading or editing specific sections. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 9 tools
Each tool has a clear, distinct purpose: server discovery, command execution, file reading/writing/transfer, service control, and file inspection/editing. The overlap between write_file and replace_in_file is explicitly disambiguated by descriptions, and file-reading tools are differentiated by intent (full read, search, structure).
Most tools follow a verb_noun pattern (list_servers, read_file, write_file, transfer_file, search_in_file, replace_in_file), with a couple of exceptions: 'execute' is a bare verb and 'service' is a noun used as a command. However, the pattern is recognizable and predictable overall.
9 tools is well-scoped for a remote administration server. Each tool covers a necessary function without bloat, and the count is within the ideal range for a specialized MCP server.
The tool surface covers the core remote admin workflows: discovering servers, executing commands, reading/editing/writing files, transferring files, and managing services. Minor gaps exist (e.g., no explicit directory listing or delete/rename file tool), but these can be worked around via the execute tool.