返回 MCP 目录
public公开dns本地运行

mcp-tunnel

一个通过MCP协议访问虚拟机命令行的工具,提供Web终端和自动隧道功能。

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

使用步骤

  1. 启动 MCP 服务器:
# 带自动隧道功能启动
npm start

# 不带自动隧道功能启动
npm start -- --no-tunnel

这将构建项目并启动服务器。默认情况下会创建一个隧道。使用 --no-tunnel 标志可禁用自动隧道。

  1. 服务器启动后会在 stderr 提供输出(以避免干扰 MCP 通信的 stdout)

  2. 使用 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 命令行的直接访问。考虑以下安全实践:

  • 在暴露隧道之前使用强身份验证机制
  • 通过适当的身份验证限制可以执行的命令
  • 考虑在受限环境中运行
  • 不要通过隧道泄露敏感信息
help

运行方式说明

cloud

托管运行

托管运行通常表示这个 MCP Server 由服务方环境承载,用户一般按页面提供的连接方式或授权流程接入,不需要在本地长期启动一个 MCP 进程

  1. 打开服务方连接页
  2. 完成授权或复制端点
  3. 在 MCP 客户端中连接
terminal

本地运行 / 其它方式

本地运行通常需要用户在自己的电脑或服务器上安装依赖,把 server_config 复制到 MCP 客户端,并按 env_schema 补齐环境变量、密钥或其它配置

  1. 复制 server_config
  2. 安装所需依赖
  3. 补齐环境变量后重启客户端