SSH MCP Server
This is a Model Context Protocol (MCP) server that provides SSH capabilities to your AI assistant. It allows the AI to upload files (including recursive directory uploads and archive extraction) and execute commands on remote servers.
You can submit your questions in the Issues section or send an email to [email protected]
Features
- File Upload: Upload text content directly to a remote file.
- Local Path Upload: Recursively upload local files or directories to a remote server.
- Upload & Extract: Upload a compressed archive (.zip, .tar.gz, .tar) and automatically extract it on the remote server.
- Remote Command Execution: Execute standard Shell commands via SSH.
Configuration
ssh_config.py
HOST_DEFAULT = "YourServerIP"USERNAME_DEFAULT = "YourUsername"PASSWORD_DEFAULT = "YourPassword"PORT_DEFAULT = 22
Installation
Dependencies:
pip install mcp paramikoMCP Configuration:Add the server to your MCP client configuration file (e.g.,
mcp_config.json):"ssh-tools": { "command": "python", "args": ["c:/path/to/ssh_server.py"] }
Usage
Tools
ssh_exec_command(command): Run a command.ssh_upload_local_path(local_path, remote_path): Sync local files/folders.ssh_upload_and_extract(local_path, remote_path): Deploy archives.ssh_upload_file(remote_path, content): Quick text file creation.
Directory Structure
ssh_server.py: Entry point.ssh_config.py: Configuration.ssh_ops.py: Core logic implementation.ssh_client.py: SSH connection helper.
License
This project is licensed under the terms of the MIT License.