███╗ ███╗ ██████╗██████╗ ██████╗ ██████╗ ███╗ ██╗███╗ ██╗███████╗ ██████╗████████╗
████╗ ████║██╔════╝██╔══██╗ ██╔════╝██╔═══██╗████╗ ██║████╗ ██║██╔════╝██╔════╝╚══██╔══╝
██╔████╔██║██║ ██████╔╝ ██║ ██║ ██║██╔██╗ ██║██╔██╗ ██║█████╗ ██║ ██║
██║╚██╔╝██║██║ ██╔═══╝ ██║ ██║ ██║██║╚██╗██║██║╚██╗██║██╔══╝ ██║ ██║
██║ ╚═╝ ██║╚██████╗██║ ╚██████╗╚██████╔╝██║ ╚████║██║ ╚████║███████╗╚██████╗ ██║
╚═╝ ╚═╝ ╚═════╝╚═╝ ╚═════╝ ╚═════╝ ╚═╝ ╚═══╝╚═╝ ╚═══╝╚══════╝ ╚═════╝ ╚═╝
<div align="center">
轻量级桥接器,将本地MCP服务器暴露为HTTP API
</div>MCP Connect是一个HTTP网关,允许您通过Streamable HTTP或传统的请求/响应桥接来调用本地MCP服务器(使用stdio)。
deploy/e2b下新增了快速部署脚本和配置,用于在E2B沙箱中启动+-----------------+ HTTP (JSON) +------------------+ stdio +------------------+
| | /bridge | | | |
| 云AI工具 | <------------------------> | Node.js桥接器 | <------------> | MCP服务器 |
| (远程) | | (本地) | | (本地) |
| | HTTP (SSE流) | | | |
| | /mcp/:serverId | | | |
+-----------------+ 隧道(可选) +------------------+ +------------------+
关键特性
| 特性 | 描述 |
|---|---|
| 🚀 双模式 | 通过Streamable HTTP或传统HTTP桥接调用本地stdio MCP服务器 |
| 🔄 会话管理 | 使用会话维护对话连续性 |
| 🔐 安全性 | 承载令牌认证 + CORS白名单 |
| 🌐 公开访问 | 内置Ngrok隧道以对外公开端点 |
| ☁️ 云端部署 | 一键部署到E2B云沙箱 |
git clone https://github.com/EvalsOne/MCP-connect.git
cd mcp-connect
npm install
A. 设置初始环境变量
cp .env.example .env
B. 配置MCP服务器
对于Streamable HTTP方法,每个MCP服务器需要单独配置。编辑文件以添加更多配置,除了现有的示例服务器。
vim mcp-servers.json
# 构建并启动
npm run build
npm start
# 或使用开发模式(热重载)
npm run dev
# 启用Ngrok隧道
npm run start:tunnel
启动后,访问 http://localhost:3000/health 检查服务器状态。
通用且兼容任何支持Streamable HTTP的MCP客户端。
在Streamable HTTP模式下,每个MCP服务器都会分配一个唯一的路由。例如,在mcp-servers.json中添加fetch MCP服务器。
{
"mcpServers": {
"fetch": {
"command": "uvx",
"args": ["mcp-server-fetch"],
"description": "HTTP/HTTPS内容抓取器"
}
}
}
启动后,使用您喜欢的MCP客户端(如Claude Code、Cursor、Codex、GitHub Copilot...)访问fetch MCP服务器。
http://localhost:3[END_OF_TEXT]