Skip to main content
Glama

SSH MCP Server

by format37
README.md3.74 kB
# ssh-mcp SSH MCP server that provides secure shell access to local machines through a Model Context Protocol interface. ## Overview This server implements an SSH client using Paramiko and exposes SSH functionality through MCP tools, allowing AI assistants to execute commands on local machines securely. ## Features - **Session Management**: Create, manage, and close SSH sessions with unique session IDs - **Command Execution**: Execute shell commands with proper input handling - **Sudo Support**: Specialized tools for running privileged commands with password authentication - **Interactive Commands**: Support for commands requiring user input (e.g., sudo prompts) - **Thread-Safe**: Concurrent session management with proper locking ## Tools - `ssh_start_session`: Initialize SSH connection to localhost - `ssh_exec_command`: Execute shell commands with optional input - `ssh_exec_sudo_command`: Run sudo commands with automatic password handling - `ssh_close_session`: Clean up SSH sessions ## Quick Start 1. Install dependencies: ```bash pip install -r requirements.txt ``` 2. Start the server: ```bash ./start.sh ``` The server runs on `http://0.0.0.0:7777` and provides an SSE (Server-Sent Events) endpoint for MCP communication. ## Configuration Default SSH credentials: - Hostname: localhost - Username: alex - Password: your-pass **Note**: Update these credentials in `server.py` for production use. ## Claude-desktop config If using Linux, your config folder is: ``` /home/username/.config/Claude/claude_desktop_config.json ``` To enable this u need to enable it in claude desktop: File / Config / Developer / Edit config ## SSH Daemon: Configure ssh daemon: ``` nano /etc/systemd/system/ssh-mcp.service ``` Paste (update ur username): ``` [Unit] Description=SSH MCP Server After=network.target [Service] User=alex WorkingDirectory=/home/alex/projects/ssh-mcp ExecStart=/bin/bash -c 'eval "$(/home/alex/anaconda3/bin/conda shell.bash hook)" && conda activate base && /home/alex/anaconda3/bin/uvicorn server:app --host 0.0.0.0 --port 7777' Restart=on-failure RestartSec=5s [Install] WantedBy=multi-user.target ``` Start ``` sudo systemctl daemon-reload sudo systemctl enable ssh-mcp.service sudo systemctl start ssh-mcp.service ```

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/format37/ssh-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server