这是一个提供对远程服务器SSH访问的模型上下文协议(MCP)服务器,允许像Claude Desktop或VS Code这样的AI工具安全地连接到您的VPS进行网站管理。
克隆仓库:
git clone https://github.com/yourusername/mcp-ssh-server.git
cd mcp-ssh-server
安装依赖项:
npm install
构建项目:
npm run build
全局安装(可选):
npm install -g .
{
"mcpServers": {
"ssh-server": {
"command": "node",
"args": ["/path/to/mcp-ssh-server/build/index.js"],
"env": {
"NODE_NO_WARNINGS": "1"
}
}
}
}
重要: 将/path/to/mcp-ssh-server/build/index.js替换为您构建的index.js文件的绝对路径。
在工作区中创建或编辑.vscode/mcp.json:
{
"mcpServers": {
"ssh-server": {
"command": "node",
"args": ["/path/to/mcp-ssh-server/build/index.js"]
}
}
}
建立与远程服务器的SSH连接。
参数:
host(必需) - 主机名或IP地址username(必需) - SSH用户名password(可选) - SSH密码privateKeyPath(可选) - 私钥文件路径passphrase(可选) - 私钥的密码短语port(可选) - SSH端口(默认:22)connectionId(可选) - 连接的唯一标识符返回值:
success - 表示成功的布尔值connectionId - 后续命令使用的IDmessage - 连接状态消息示例:
使用用户名'admin'和密码认证连接到example.com上的我的服务器
在远程服务器上执行命令。
参数:
connectionId(必需) - 来自ssh_connect的IDcommand(必需) - 要执行的命令cwd(可选) - 工作目录timeout(可选) - 命令超时时间(以毫秒为单位,默认:60000)返回值:
code - 退出代码signal - 终止进程的信号(如果有)stdout - 标准输出stderr - 标准错误示例:
在服务器上运行"ls -la /var/www/html"
将文件上传到远程服务器。
参数:
connectionId(必需) - 来自ssh_connect的IDlocalPath(必需) - 本地文件路径remotePath(必需) - 远程目标路径返回值:
success - 表示成功的布尔值message - 上传状态消息从远程服务器下载文件。
参数:
connectionId(必需) - 来自ssh_connect的IDremotePath(必需) - 远程文件路径localPath(必需) - 本地目标路径返回值:
success - 表示成功的布尔值message - 下载状态消息列出远程服务器目录中的文件。
参数:
connectionId(必需) - 来自ssh_connect的IDremotePath(必需) - 要列出的目录路径返回值:
files - 文件对象数组,包含属性:
filename - 文件名isDirectory - 表示是否为目录的布尔值size - 文件大小lastModified - 最后修改时间关闭SSH连接。
参数:
connectionId(必需) - 来自ssh_connect的ID返回值:
success - 表示成功的布尔值message - 断开连接状态消息连接到您的服务器:
请使用用户名'admin'和位于~/.ssh/id_rsa的SSH密钥连接到我在example.com上的VPS
检查服务器状态:
运行命令"systemctl status nginx"以检查Web服务器状态
上传网站文件:
将我本地的~/websites/index.html文件上传到服务器上的/var/www/html/index.html
列出网站文件:
显示/var/www/html目录中的所有文件
下载备份:
将/var/backups/website-backup.tar.gz文件下载到我的本地Downloads文件夹
完成时断开连接:
请断开SSH会话
基础已经就绪,可以在src/ubuntu-website-tools.ts中添加Ubuntu网站管理工具。未来增强功能将包括:
.env文件中设置环境变量以保护敏感信息node --versionnpm installnpm run build要修改或扩展服务器:
src/中的源文件npm run build为了在开发期间快速测试:
npm run dev
欢迎提交额外工具和功能的贡献。请随时提交拉取请求或打开问题以提出改进和修复错误。
MIT许可证