关于 mcp-ssh-toolkit-py
mcp-ssh-toolkit-py 是通过 SSH 执行命令和传输文件的 MCP 服务,面向 DevOps 与服务器管理场景,支持密码或密钥认证及可配置的连接参数。
主要功能
- 01通过 SSH 执行命令
- 02使用 SFTP 上传和下载文件
- 03支持密码、密钥和 SSH agent 认证
- 04可配置端口和超时
适用场景
- 01从 MCP 客户端运行远程脚本
- 02通过聊天界面管理服务器
- 03使用 LLM 自动化 DevOps 任务
MCP 相关
它向 MCP 客户端提供 `ssh_execute_command` 工具,用于远程 SSH 命令执行;也支持通过 SFTP 上传和下载文件。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
工具
还没有获取到工具列表
本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。
详细介绍
mcp-ssh-toolkit-py
一款用于安全 SSH 自动化的轻量级模型上下文协议(MCP)服务,基于 python-sdk 和 paramiko 构建。
目录
概述 🚀
mcp-ssh-toolkit-py 是一款功能强大的 MCP 服务,可通过模型上下文协议安全地执行 SSH 命令。
🔹 主要功能:
- 通过 SSH 在远程服务上执行任意命令
- 通过 SFTP 上传/下载文件
- 与 Claude/Cline 及其他 MCP 客户端集成
- 支持密码和 SSH 密钥身份验证
- 可配置连接参数(超时、端口)
🔹 适用场景:
- 通过大模型实现 DevOps 自动化
- 通过聊天界面管理服务
- 安全地远程执行脚本
- 在 MCP 生态系统中集成 SSH
用法示例:
# Through MCP client
response = mcp.tool("ssh_execute_command", {
"host": "example.com",
"username": "user",
"command": "docker ps"
})
功能 ✨
核心功能
- 🛡️ 通过 MCP 安全执行 SSH 命令
- 📁 SFTP 操作(文件上传/下载)
- 🔑 多种身份验证方式:
- 用户名/密码
- SSH 密钥(RSA)
- SSH Agent
集成
- 🤖 完全兼容 Claude/Cline
- 🐳 可直接使用的 Docker 镜像
- 📦 通过 Pip 安装软件包
安全性
- 🔒 加密连接
- ⏱ 可配置超时
- 🚫 不存储凭据
安装 📦
Docker(推荐)
- 克隆仓库:
git clone https://github.com/VitalyMalakanov/mcp-ssh-toolkit-py.git
cd mcp-ssh-toolkit-py
- 构建 Docker 镜像:
docker build -t mcp-ssh-toolkit-py .
- (可选)推送到你的 Docker 仓库:
docker tag mcp-ssh-toolkit-py yourusername/mcp-ssh-toolkit-py
docker push yourusername/mcp-ssh-toolkit-py
Pip 安装
直接从 GitHub 安装:
pip install git+https://github.com/VitalyMalakanov/mcp-ssh-toolkit-py.git
安装后运行服务:
python -m mcp_ssh_toolkit
开发环境设置
开发时,使用以下命令安装:
git clone https://github.com/VitalyMalakanov/mcp-ssh-toolkit-py.git
cd mcp-ssh-toolkit-py
pip install -e .
快速入门
使用 Docker 运行
docker run --rm -i mcp-ssh-toolkit-py
MCP 集成
添加到你的 MCP 配置中(例如 cline_mcp_settings.json):
"mcp-ssh-toolkit-py": {
"command": "docker",
"args": ["run", "--rm", "-i", "mcp-ssh-toolkit-py"],
"env": {}
}
用法
工具:ssh_execute_command
说明:
通过 SSH 在远程服务上执行命令。
输入参数:
host(字符串,必填):SSH 服务地址username(字符串,必填):SSH 用户名password(字符串,可选):SSH 密码privateKey(字符串,可选):SSH 私钥路径(PEM)command(字符串,必填):要执行的命令port(整数,可选,默认值为 22):SSH 端口timeout(整数,可选,默认值为 20):连接超时时间(秒)
输出:
stdout:命令输出stderr:错误输出exit_code:退出代码
调用示例:
{
"host": "example.com",
"username": "user",
"password": "secret",
"command": "uname -a"
}
开发
- Python 3.8+
- python-sdk
- paramiko
在本地安装依赖:
pip install -r requirements.txt
在本地运行:
python main.py
安全性
- SSH 凭据绝不会被存储或记录。
- 身份验证请始终使用强密码或 SSH 密钥。
- 不要将 MCP 服务暴露在不受信任的网络中。
- 请查看 paramiko 安全最佳实践。
- 如果发现安全漏洞,请通过 GitHub Issues 报告,或私下联系维护者。
许可证
MIT 许可证。详情请参阅 LICENSE。
评论
支持 Markdown
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。