这是一个用于 SSH 连接和文件操作的 MCP 服务器,项目中的所有代码均由生成式 AI 创建。
该服务器实现了几种与 SSH 相关的工具,具体如下:
有两个 Python 脚本可用于自动安装 SSH MCP 服务器:
./install_ssh_mcp.py
./install_ssh_mcp_claude.py
这些脚本会执行以下操作:
提供了一个示例 Claude Desktop 配置文件 claude-desktop-config-example.json,展示了如何在 Claude Desktop 中配置 SSH MCP 服务器。
要将 SSH MCP 服务器安装到 Claude Desktop,可按以下步骤操作:
~/Library/Application\ 支持/Claude/claude_desktop_config.json%APPDATA%/Claude/claude_desktop_config.jsonmcpServers 对象中:{
"mcpServers": {
"ssh-connect": {
"command": "uv",
"args": [
"--directory",
"/path/to/ssh-connect",
"run",
"ssh-connect"
],
"env": {
"SSH_HOST": "example.com",
"SSH_PORT": "22",
"SSH_USERNAME": "username",
"SSH_PASSWORD": "password",
"SSH_KEY_PATH": "/path/to/private_key",
"SSH_KEY_PASSPHRASE": "key_passphrase"
},
"disabled": false,
"autoApprove": []
}
}
}
⚠️ 重要提示
请将占位符值替换为您的实际 SSH 连接信息。
要准备分发包,可按以下步骤操作:
uv sync
uv build
这将在 dist/ 目录下创建源代码和轮文件。
3. 发布到 PyPI:
uv publish
⚠️ 重要提示
您需要通过环境变量或命令行标志设置 PyPI 凭据:
- 令牌:
--token或UV_PUBLISH_TOKEN- 或者用户名/密码:
--username/UV_PUBLISH_USERNAME和--password/UV_PUBLISH_PASSWORD
在 tests 目录下提供了一个测试脚本来验证 SSH MCP 服务器是否正常工作:
python tests/test_ssh_connect.py
该测试脚本使用 unittest 和 mocking 来测试 SSH MCP 服务器的基本功能,而无需实际连接到 SSH 服务器。
由于 MCP 服务器通过标准输入输出运行,调试可能会比较困难。为了获得最佳的调试体验,我们强烈推荐使用 MCP Inspector。 您可以使用以下命令启动 MCP Inspector:
npx @modelcontextprotocol/inspector uv --directory /path/to/ssh-connect run ssh-connect
启动后,Inspector 会显示一个 URL,您可以在浏览器中访问该 URL 开始调试。