myVpsAgent终端
用于VPS的自托管MCP shell服务器——通过HTTPS从Cursor AI控制您的服务器。
让您的Cursor AI代理完全访问您的VPS。运行任何命令、管理Docker容器、读取日志——所有这些都来自Cursor中的自然语言聊天。
运作原理
Cursor AI (local)
↕ HTTPS + Bearer token
Apache / Nginx (your VPS)
↕ HTTP (localhost only)
MCP Shell container (127.0.0.1:PORT)
↕
bash您的MCP容器永远不会直接暴露在互联网上,只有您现有的反向代理是这样。
先决条件
- Ubuntu/Debian虚拟专用服务器
- Docker+Docker组合
- 阿帕奇 或 Nginx已安装
openssl已安装(sudo apt install openssl)
安装
git clone https://github.com/bannik62/myVpsAgent-terminal.git
cd myVpsAgent-terminal
sudo ./install.sh该脚本将指导您完成:
- 反向代理检测 --自动检测Apache或Nginx
- 域名/SSL --3个选项:
- 已配置现有域+Let's Encrypt - 现有域名+自动证书机器人 - 仅限IP+自签名证书
- 端口选择 --显示已占用的端口,建议使用空闲端口
- 令牌生成 --自动生成一个安全的32字节令牌
- 配置输出 --打印
mcp.json代码段已准备好粘贴到游标中
在安装结束时,您将得到类似以下内容:
{
"mcpServers": {
"vps-shell": {
"url": "https://yourdomain.fr/mcp/shell",
"transport": "http",
"headers": {
"Authorization": "Bearer "
}
}
}
}将此粘贴到 ~/.cursor/mcp.json 并重新启动Cursor。
用法
连接后,向Cursor询问任何问题:
"Show me running Docker containers"
"Tail the last 50 lines of the nginx error log"
"How much disk space is left?"
"Restart the zerok-backend container"
"Show me the apache config for codeurbase.fr"安全
- MCP容器正在监听
127.0.0.1只是——从未接触过互联网 - 所有请求都需要
Bearer令牌在Authorization头球 - Apache/Nginx返回
403对于任何没有正确令牌的请求 - 对你的代币保密 --它允许shell访问您的服务器
续订令牌
# Generate a new token
NEW_TOKEN=$(openssl rand -hex 32)
# Update .env
sed -i "s/^MCP_TOKEN=.*/MCP_TOKEN=${NEW_TOKEN}/" .env
# Regenerate reverse proxy config and reload
sudo ./install.sh --reload
# Update your ~/.cursor/mcp.json with the new token卸载
sudo ./uninstall.sh这将:
- 停止并删除Docker容器
- 删除反向代理配置
- (可选)删除自签名证书
- 删除
.env文件
项目结构
myVpsAgent-terminal/
├── server.js ← MCP server (Node.js, HTTP streamable)
├── Dockerfile ← node:22-alpine image
├── docker-compose.yml ← container config (reads .env)
├── package.json
├── install.sh ← interactive installer
├── uninstall.sh ← clean uninstaller
├── .env.example ← environment variables template
└── templates/
├── apache.conf.template ← Apache + Let's Encrypt
├── apache-selfsigned.conf.template ← Apache + self-signed
├── nginx.conf.template ← Nginx + Let's Encrypt
└── nginx-selfsigned.conf.template ← Nginx + self-signed许可证
麻省理工学院
