SSH代理管理工具

SSH Agent MCP是一个基于Python的MCP标准IO服务器,允许AI助手管理SSH连接、执行命令并通过SFTP传输文件,适用于需要安全管理多个远程服务器的场景。

  • by zhijun
  • Python
  • 本地部署
  • 3 星标
  • 更新于
在 GitHub 查看 zhijun/ssh-mcp

使用说明

SSH 代理 MCP(或“SSH 代理管理组件”,具体翻译可能根据上下文有所调整)

中文文档 README_CN.md 翻译为中文是:“中文版说明文件 README_CN.md”。

通过MCP工具管理AI助手的SSH和SFTP。

SSH Agent MCP 是一个基于 Python 的 MCP(模型上下文协议)stdio 服务器,它允许 AI 助手管理 SSH 连接、执行命令以及通过 SFTP 传输文件。它支持零参数启动、纯 CLI 配置和 JSON 配置文件,使得安全地操作多个远程服务器变得简单。

  • 要求:Python >= 3.12
  • 项目状态:测试版

为什么是uvx?

  • 无需本地安装:直接运行 uvx ssh-agent-mcp@latest 直接
  • 始终保持最新:固定到 @latest 为了保持版本一致性
  • 非常适合桌面助手:Claude Desktop的最简易设置

为什么选择SSH代理MCP?

  • 多个并发会话:同时管理和追踪多个SSH连接
  • 异步长时间运行的任务:流式输出并控制作业,如 top, tail,日志
  • 内置SFTP功能:支持上传/下载、列出目录、创建目录、删除以及重命名目录/文件
  • 自动保持连接并重新连接:保持会话健康,最小化断开次数
  • 交互命令:处理 sudo,外壳程序,支持输入事件的编辑器

安装

  • 推荐(无需本地安装): uvx ssh-agent-mcp@latest
  • Pip(使用 PyPI 以避免缓存镜像): pip install -i https://pypi.org/simple ssh-agent-mcp
  • 外部管理的环境:使用 virtualenv 或 pipx
    • python -m venv .venv && source .venv/bin/activate
    • pipx install ssh-agent-mcp

快速入门

通过uvx运行(Claude桌面版)

最小配置:

{
  "mcpServers": {
    "ssh-mcp": {
      "command": "uvx",
      "args": ["ssh-agent-mcp@latest"]
    }
  }
}

然后,助手可以使用(以下方式)进行连接 ssh_connect 或者 ssh_connect_by_name。

CLI 示例

  • 无参数启动: ssh-agent-mcp
  • 直接参数: ssh-agent-mcp --host example.com --user admin --password secret
  • 使用配置文件: ssh-agent-mcp --config /path/to/ssh_config.json --connection production

最小配置文件

ssh_config.json:

{
  "connections": [
    {
      "name": "production",
      "host": "prod.example.com",
      "username": "admin",
      "private_key": "/home/user/.ssh/id_rsa"
    }
  ],
  "auto_connect": ["production"]
}

工具(MCP)

  • 连接: ssh_connect, ssh_connect_by_name, ssh_disconnect, ssh_list_connections
  • 命令: ssh_execute, ssh_execute_interactive, ssh_execute_async
  • 生命周期: ssh_check_status, ssh_terminate, ssh_list_async
  • SFTP:安全文件传输协议(Secure File Transfer Protocol) sftp_upload, sftp_download, sftp_list, sftp_mkdir, sftp_remove, sftp_rename
  • 文件: remote_read_file, remote_write_file
  • 状态: ssh_status

示例:连接并执行

{
  "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"
  }
}

注释

  • 更喜欢 uvx ssh-agent-mcp@latest 以便轻松无阻地使用。
  • 如果国内镜像缓存了旧版本,请明确指定PyPI索引。
  • 要查看完整的CLI选项和高级用法,请参阅中文指南: README_CN.md。

徽章与链接

  • 仓库地址:https://github.com/zhijun/ssh-mcp
  • 问题:https://github.com/zhijun/ssh-mcp/issues
  • PyPI(Python Package Index): https://pypi.org/project/ssh-agent-mcp/

许可证

麻省理工学院许可证。参见 许可证。