article
README
🚀 MCP 隧道服务器
MCP 隧道服务器是一个简单的 MCP(模型上下文协议)服务器,它允许通过 MCP 访问 VM 机器的命令行界面。在启动时,该服务器还会自动创建隧道,让 VM 能够从 Web 进行访问,为用户提供便捷的操作体验。
✨ 主要特性
- 命令执行:可在 VM 上执行 shell 命令。
- Web 交互:借助基于 Web 的终端界面与 VM 进行交互。
- 自动隧道:具备自动隧道功能,使 VM 能从任意位置被访问。
- 实时通信:采用 WebSocket 实现实时通信。
📦 安装指南
先决条件
- Node.js (v18 或更高版本)
安装方式
使用 npx(无需安装)
npx mcp-cli
全局安装
npm install -g mcp-cli
mcp-cli
本地开发
# 克隆仓库
git clone [仓库地址]
cd mcp-cli
# 安装依赖项
npm install
💻 使用示例
开发
运行带有热重载的开发服务器,同时为前后端进行更新:
npm run dev
构建
构建生产环境下的前端和后端:
npm run build-all
使用步骤
- 启动 MCP 服务器:
# 带自动隧道功能启动
npm start
# 不带自动隧道功能启动
npm start -- --no-tunnel
这将构建项目并启动服务器。默认情况下会创建一个隧道。使用 --no-tunnel 标志可禁用自动隧道。
-
服务器启动后会在 stderr 提供输出(以避免干扰 MCP 通信的 stdout)
-
使用 MCP 工具与服务器交互:
可用的 MCP 工具
execute_command:在 VM 上执行 shell 命令- 参数:
{ "command": "your shell command" }
- 参数:
start_tunnel:创建 Web 隧道以访问 VM 界面- 参数:
{ "port": 8080, "subdomain": "optional-subdomain" }
- 参数:
Web 界面
启动隧道后,可以在提供的 URL 上访问基于 Web 的终端界面。此界面允许您:
- 直接在 VM 上执行命令
- 实时查看命令输出
- 使用任何支持 Web 的设备与 VM 交互
📚 详细文档
环境变量
创建一个 .env 文件以配置服务器:
# 服务器配置
PORT=8080
# Localtunnel 配置
LOCALTUNNEL_SUBDOMAIN=your-preferred-subdomain
安全注意事项
此工具提供对 VM 命令行的直接访问。考虑以下安全实践:
- 在暴露隧道之前使用强身份验证机制
- 通过适当的身份验证限制可以执行的命令
- 考虑在受限环境中运行
- 不要通过隧道泄露敏感信息
扫码联系在线客服