SSH Agent MCP服务 - 支持SSH连接管理、命令执行和SFTP文件传输的完整MCP服务器
Project description
SSH Agent MCP
Manage SSH and SFTP via MCP tools for AI assistants.
SSH Agent MCP is a Python-based MCP (Model Context Protocol) stdio server that lets AI assistants manage SSH connections, execute commands, and transfer files via SFTP. It supports zero-argument startup, pure CLI configuration, and JSON config files, making it simple to operate multiple remote servers securely.
- Requires: Python >= 3.12
- Project status: Beta
Why uvx?
- No local install: run
uvx ssh-agent-mcp@latestdirectly - Always up-to-date: pin to
@latestfor consistent versioning - Ideal for desktop assistants: simplest setup for Claude Desktop
Why SSH Agent MCP?
- Multiple concurrent sessions: manage and track many SSH connections at once
- Async long-running tasks: stream outputs and control jobs like
top,tail, logs - Built-in SFTP: upload/download, list, mkdir, remove, and rename directories/files
- Auto keepalive & reconnect: maintain session health and minimize drops
- Interactive commands: handle
sudo, shells, editors with input events
Install
- Recommended (no local install):
uvx ssh-agent-mcp@latest - Pip (use PyPI to avoid cached mirrors):
pip install -i https://pypi.org/simple ssh-agent-mcp - Externally managed environments: use virtualenv or pipx
python -m venv .venv && source .venv/bin/activatepipx install ssh-agent-mcp
Quick Start
Run via uvx (Claude Desktop)
Minimal config:
{
"mcpServers": {
"ssh-mcp": {
"command": "uvx",
"args": ["ssh-agent-mcp@latest"]
}
}
}
The assistant can then connect using ssh_connect or ssh_connect_by_name.
CLI examples
- Zero-argument startup:
ssh-agent-mcp - Direct params:
ssh-agent-mcp --host example.com --user admin --password secret - With config file:
ssh-agent-mcp --config /path/to/ssh_config.json --connection production
Minimal config file
ssh_config.json:
{
"connections": [
{
"name": "production",
"host": "prod.example.com",
"username": "admin",
"private_key": "/home/user/.ssh/id_rsa"
}
],
"auto_connect": ["production"]
}
Tools (MCP)
- Connection:
ssh_connect,ssh_connect_by_name,ssh_disconnect,ssh_list_connections - Commands:
ssh_execute,ssh_execute_interactive,ssh_execute_async - Lifecycle:
ssh_check_status,ssh_terminate,ssh_list_async - SFTP:
sftp_upload,sftp_download,sftp_list,sftp_mkdir,sftp_remove,sftp_rename - Files:
remote_read_file,remote_write_file - Status:
ssh_status
Example: Connect and Execute
{
"tool": "ssh_connect",
"params": {
"name": "prod",
"host": "prod.example.com",
"username": "admin",
"private_key": "/home/user/.ssh/id_rsa"
}
}
{
"tool": "ssh_execute",
"params": {
"connection": "prod",
"command": "uname -a"
}
}
Notes
- Prefer
uvx ssh-agent-mcp@latestfor frictionless use. - If domestic mirrors cache old versions, specify PyPI index explicitly.
- For full CLI options and advanced usage, see the Chinese guide:
README_CN.md.
Badges & Links
- Repository: https://github.com/zhijun/ssh-mcp
- Issues: https://github.com/zhijun/ssh-mcp/issues
- PyPI: https://pypi.org/project/ssh-agent-mcp/
License
MIT License. See LICENSE.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file ssh_agent_mcp-0.3.3.tar.gz.
File metadata
- Download URL: ssh_agent_mcp-0.3.3.tar.gz
- Upload date:
- Size: 29.4 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.9.5
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
61f8d5f21dae2d3ea7f4bbc43918ca1b716289f4631b96a3d728eee8825cda20
|
|
| MD5 |
897dab1ae9079cf1ad1afa125152caa7
|
|
| BLAKE2b-256 |
8fa7deb02eca0f7fe15e38b9af28f2779d1cf517345164441910d8ae8f6a25f5
|
File details
Details for the file ssh_agent_mcp-0.3.3-py3-none-any.whl.
File metadata
- Download URL: ssh_agent_mcp-0.3.3-py3-none-any.whl
- Upload date:
- Size: 28.6 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.9.5
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
92569dfafe72eecde4cf277d8f031f63e27a74003d34513afa215c838fbbd5ca
|
|
| MD5 |
1faa897dea1ce9b5305104203444e2cb
|
|
| BLAKE2b-256 |
24c2ad205d6aff7e587f8d401f5c084f26ca34753e8c42e69e0112129ccbe1e7
|