M

MCP隧道

@leomercier/mcp-tunnel
0 Stars 356 次浏览 leomercier 更新于 2026-08-23

一个简单的MCP服务器,允许通过基于Web的终端界面访问和执行虚拟机上的shell命令,并通过自动隧道功能使该虚拟机可从任何地方访问。

该服务暂未提供标准配置,请参考 README 手动接入

服务介绍

MCP Tunnel

一个简单的MCP(Model Context Protocol)服务器,允许访问VM机器的命令行。启动时,它还会将主机隧道连接到网络,以便可以通过MCP进行访问。

特性

  • 通过MCP在VM上执行shell命令
  • 基于Web的终端界面用于与VM交互
  • 自动隧道连接,使VM可以从任何地方访问
  • 基于WebSocket的实时通信

前提条件

  • Node.js (v18 或更新版本)

安装和使用

使用 npx 运行(无需安装)

npx mcp-cli

全局安装

npm install -g mcp-cli
mcp-cli

本地开发

# Clone repository
git clone [repository-url]
cd mcp-cli

# Install dependencies
npm install

开发

同时为后端和前端运行带有热重载功能的开发服务器:

npm run dev

构建

构建生产环境下的前端和后端:

npm run build-all

使用方法

  1. 启动MCP服务器:
# Start with automatic tunneling
npm start

# Start without automatic tunneling
npm start -- --no-tunnel

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

  1. 服务器将启动,并且输出将在stderr上显示(以避免干扰stdout上的MCP通信)。

  2. 使用以下工具通过MCP与服务器交互:

可用的MCP工具

  • execute_command: 在VM上运行shell命令
    • 参数: { "command": "your shell command" }
  • start_tunnel: 创建web隧道以访问VM界面
    • 参数: { "port": 8080, "subdomain": "optional-subdomain" }

Web界面

启动隧道后,您可以通过隧道提供的URL访问基于Web的终端界面。此界面允许您:

  • 直接在VM中执行命令
  • 实时查看命令输出
  • 从任何具有网络访问权限的设备与VM交互

环境变量

创建一个 .env 文件来配置服务器:

# Server configuration
PORT=8080

# Localtunnel configuration
LOCALTUNNEL_SUBDOMAIN=your-preferred-subdomain

安全注意事项

此工具提供了直接访问您的VM命令行的功能。请考虑以下安全实践:

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

相关 MCP 服务