mcp多ssh
MCP服务器,用于通过SSH在多个远程服务器上管理和执行命令。
专为配合使用而设计 克劳德桌面版 以及其他MCP兼容客户端。
特性
- 多主机SSH --配置和管理多个服务器连接
- 连接池 --自动重新连接、保持活动、并发会话
- CRUD用于连接 --在运行时创建、读取、更新、删除连接
- 身份验证 --需要密码或私钥,防止无效配置
- 命令历史记录 --使用时间戳和退出代码跟踪执行的命令
- 密码屏蔽 --工具响应中从未暴露的敏感数据
- 占地面积最小 --约500行,仅限SSH,无冗余
安装
克劳德桌面/Claude.ai
增添 claude_desktop_config.json:
窗户: %APPDATA%\Claude\claude_desktop_config.json macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
{
"mcpServers": {
"mcp-multi-ssh": {
"command": "npx",
"args": ["-y", "mcp-multi-ssh"]
}
}
}克劳德代码
claude mcp add mcp-multi-ssh -- npx -y mcp-multi-ssh或添加到 .mcp.json 在项目根目录中:
{
"mcpServers": {
"mcp-multi-ssh": {
"command": "npx",
"args": ["-y", "mcp-multi-ssh"]
}
}
}光标
增添 ~/.cursor/mcp.json (全球)或 .cursor/mcp.json (项目):
{
"mcpServers": {
"mcp-multi-ssh": {
"command": "npx",
"args": ["-y", "mcp-multi-ssh"]
}
}
}帆板运动
增添 ~/.codeium/windsurf/mcp_config.json与上述JSON格式相同。
VS代码+GitHub副本
增添 .vscode/mcp.json 在您的工作空间中:
{
"servers": {
"mcp-multi-ssh": {
"command": "npx",
"args": ["-y", "mcp-multi-ssh"]
}
}
}克莱恩
打开Cline->MCP服务器图标->编辑MCP设置,然后添加与Claude Desktop相同的JSON。
OpenAI Codex命令行界面
codex mcp add mcp-multi-ssh -- npx -y mcp-multi-ssh泽德
添加到Zed settings.json (通过代理面板->设置):
{
"context_servers": {
"mcp-multi-ssh": {
"command": {
"path": "npx",
"args": ["-y", "mcp-multi-ssh"]
}
}
}
}兼容性矩阵
| 工具 | 配置位置 |
|---|---|
| 克劳德桌面/Claude.ai | claude_desktop_config.json |
| 克劳德代码 | .mcp.json |
| 光标 | .cursor/mcp.json |
| 风帆冲浪 | ~/.codeium/windsurf/mcp_config.json |
| VS代码+副本 | .vscode/mcp.json |
| 临床 | MCP设置JSON |
| Continue.dev | .continue/mcpServers/*.json |
| Zed | settings.json |
| Codex CLI | .codex/config.toml |
| Roo代码 | MCP设置JSON |
| 谷歌反重力 | ~/.gemini/settings.json |
本地安装
npm install -g mcp-multi-ssh然后在 claude_desktop_config.json:
{
"mcpServers": {
"mcp-multi-ssh": {
"command": "mcp-multi-ssh"
}
}
}配置
配置文件从以下位置加载(按顺序):
- 通过指定的路径
--config旗帜 ./config.json在当前目录中~/.mcp-multi-ssh/config.json
配置示例
{
"ssh": {
"enabled": true,
"defaultTimeout": 60,
"maxConcurrentSessions": 10,
"keepaliveInterval": 5000,
"keepaliveCountMax": 3,
"readyTimeout": 30000,
"connections": {
"my-server": {
"host": "example.com",
"port": 22,
"username": "deploy",
"privateKeyPath": "/home/user/.ssh/id_rsa"
},
"db-server": {
"host": "10.0.0.5",
"port": 22,
"username": "admin",
"password": "secret"
}
}
},
"logging": {
"enabled": true,
"maxHistorySize": 1000
}
}要生成默认配置,请执行以下操作:
npx mcp-multi-ssh --init-config ~/.mcp-multi-ssh/config.json工具
| 工具 | 说明 |
|---|---|
ssh_execute | 在远程主机上执行命令 |
ssh_disconnect | 关闭SSH连接 |
create_ssh_connection | 向配置添加新连接 |
read_ssh_connections | 列出所有已配置的连接 |
update_ssh_connection | 修改现有连接 |
delete_ssh_connection | 从配置中删除连接 |
get_command_history | 查看最近的SSH命令历史记录 |
连接配置
每个连接都需要:
| 字段 | 必填 | 描述 |
|---|---|---|
host | yes | 主机名或IP地址 |
port | 是 | SSH端口 |
username | 是 | SSH用户名 |
password | 其中之一 | 密码身份验证 |
privateKeyPath | 私钥文件路径之一 | |
keepaliveInterval | no | 覆盖全局保活(ms) |
keepaliveCountMax | 否 | 覆盖最大失败保活时间 |
readyTimeout | 否 | 覆盖连接超时(ms) |
至少 password 或 privateKeyPath 必须提供。
背景
这个项目始于 win-cli-mcp服务器 (现已存档/弃用)。它已被重建为一个专注于SSH的MCP服务器——所有Windows CLI功能都被删除,错误得到修复,代码库减少了50%以上。
许可证
麻省理工学院
