MCP 连接
MCP Connect 是一个工具,使基于云的 AI 服务能够访问本地的 Stdio 基于模型上下文协议(MCP)服务器,弥合本地资源与云应用之间的差距。
概览
什么是 MCP Connect?
MCP Connect 是一个工具,使基于云的 AI 服务能够访问本地的基于 Stdio 的模型上下文协议 (MCP) 服务器,弥合本地资源与云应用之间的差距。
如何使用 MCP Connect?
要使用 MCP Connect:
- 克隆代码库
- 配置环境变量
- 安装依赖项
- 本地运行应用程序
- 可选地,使用隧道(例如,Ngrok)以便于云访问
MCP Connect 的主要特性
- 云集成:将云 AI 工具与本地 MCP 服务器连接
- 协议转换:将 HTTP/HTTPS 请求转换为 Stdio 通信
- 安全性:确保安全访问本地资源
- 灵活性:支持各种 MCP 服务器,无需修改
- 易于使用:不需要对 MCP 服务器进行更改
- 隧道支持:内置对 Ngrok 隧道的支持
MCP Connect 的使用案例
- 将本地 AI 工具与基于云的应用程序集成
- 从云环境安全访问本地资源
- 促进云服务与本地 MCP 服务器之间的通信
MCP Connect 的常见问题解答
MCP Connect 容易设置吗?
是的!它需要最少的配置,并且可以快速设置。
我可以与任何 MCP 服务器一起使用 MCP Connect 吗?
是的!MCP Connect 旨在与各种 MCP 服务器一起使用,无需修改。
使用 MCP Connect 的前提条件是什么?
您需要安装 Node.js 才能运行 MCP Connect。
详情
MCP Connect
███╗ ███╗ ██████╗██████╗ ██████╗ ██████╗ ███╗ ██╗███╗ ██╗███████╗ ██████╗████████╗
████╗ ████║██╔════╝██╔══██╗ ██╔════╝██╔═══██╗████╗ ██║████╗ ██║██╔════╝██╔════╝╚══██╔══╝
██╔████╔██║██║ ██████╔╝ ██║ ██║ ██║██╔██╗ ██║██╔██╗ ██║█████╗ ██║ ██║
██║╚██╔╝██║██║ ██╔═══╝ ██║ ██║ ██║██║╚██╗██║██║╚██╗██║██╔══╝ ██║ ██║
██║ ╚═╝ ██║╚██████╗██║ ╚██████╗╚██████╔╝██║ ╚████║██║ ╚████║███████╗╚██████╗ ██║
╚═╝ ╚═╝ ╚═════╝╚═╝ ╚═════╝ ╚═════╝ ╚═╝ ╚═══╝╚═╝ ╚═══╝╚══════╝ ╚═════╝ ╚═╝
The Model Context Protocol (MCP) introduced by Anthropic is cool. However, most MCP servers are built on Stdio transport, which, while excellent for accessing local resources, limits their use in cloud-based applications.
MCP Connect is a tiny tool that is created to solve this problem:
- Cloud Integration: Enables cloud-based AI services to interact with local Stdio based MCP servers
- Protocol Translation: Converts HTTP/HTTPS requests to Stdio communication
- Security: Provides secure access to local resources while maintaining control
- Flexibility: Supports various MCP servers without modifying their implementation
- Easy to use: Just run MCP Connect locally, zero modification to the MCP server
- Tunnel: Built-in support for Ngrok tunnel
By bridging this gap, we can leverage the full potential of local MCP tools in cloud-based AI applications without compromising on security.
How it works
+-----------------+ HTTPS/SSE +------------------+ stdio +------------------+
| | | | | |
| Cloud AI tools | <---------------> | Node.js Bridge | <------------> | MCP Server |
| (Remote) | Tunnels | (Local) | | (Local) |
| | | | | |
+-----------------+ +------------------+ +------------------+
Prerequisites
- Node.js
Quick Start
- Clone the repository
and enter the directorygit clone https://github.com/EvalsOne/MCP-connect.git
cd MCP-connect
- Copy
.env.example
to.env
and configure the port and auth_token:cp .env.example .env
- Install dependencies:
npm install
- Run MCP Connect
# build MCP Connect npm run build # run MCP Connect npm run start # or, run in dev mode (supports hot reloading by nodemon) npm run dev
Now MCP connect should be running on http://localhost:3000/bridge
.
Note:
- The bridge is designed to be run on a local machine, so you still need to build a tunnel to the local MCP server that is accessible from the cloud.
- Ngrok, Cloudflare Zero Trust, and LocalTunnel are recommended for building the tunnel.
Running with Ngrok Tunnel
MCP Connect has built-in support for Ngrok tunnel. To run the bridge with a public URL using Ngrok:
- Get your Ngrok auth token from https://dashboard.ngrok.com/authtokens
- Add to your .env file:
NGROK_AUTH_TOKEN=your_ngrok_auth_token
- Run with tunnel:
# Production mode with tunnel npm run start:tunnel # Development mode with tunnel npm run dev:tunnel
After MCP Connect is running, you can see the MCP bridge URL in the console.
API Endpoints
After MCP Connect is running, there are two endpoints exposed:
GET /health
: Health check endpointPOST /bridge
: Main bridge endpoint for receiving requests from the cloud
For example, the following is a configuration of the official GitHub MCP:
{
"command": "npx",
"args": [
"-y",
"@modelcontextprotocol/server-github"
],
"env": {
"GITHUB_PERSONAL_ACCESS_TOKEN": "<your_github_personal_access_token>"
}
}
You can send a request to the bridge as the following to list the tools of the MCP server and call a specific tool.
Listing tools:
curl -X POST http://localhost:3000/bridge \
-d '{
"method": "tools/list",
"serverPath": "npx",
"args": [
"-y",
"@modelcontextprotocol/server-github"
],
"params": {},
"env": {
"GITHUB_PERSONAL_ACCESS_TOKEN": "<your_github_personal_access_token>"
}
}'
Calling a tool:
Using the search_repositories tool to search for repositories related to modelcontextprotocol
curl -X POST http://localhost:3000/bridge \
-d '{
"method": "tools/call",
"serverPath": "npx",
"args": [
"-y",
"@modelcontextprotocol/server-github"
],
"params": {
"name": "search_repositories",
"arguments": {
"query": "modelcontextprotocol"
},
},
"env": {
"GITHUB_PERSONAL_ACCESS_TOKEN": "<your_github_personal_access_token>"
}
}'
Authentication
MCP Connect uses a simple token-based authentication system. The token is stored in the .env
file. If the token is set, MCP Connect will use it to authenticate the request.
Sample request with token:
curl -X POST http://localhost:3000/bridge \
-H "Authorization: Bearer <your_auth_token>" \
-d '{
"method": "tools/list",
"serverPath": "npx",
"args": [
"-y",
"@modelcontextprotocol/server-github"
],
"params": {},
"env": {
"GITHUB_PERSONAL_ACCESS_TOKEN": "<your_github_personal_access_token>"
}
}'
Configuration
Required environment variables:
AUTH_TOKEN
: Authentication token for the bridge API (Optional)PORT
: HTTP server port (default: 3000, required)LOG_LEVEL
: Logging level (default: info, required)NGROK_AUTH_TOKEN
: Ngrok auth token (Optional)
Using MCP Connect with ConsoleX AI to access local MCP Server
The following is a demo of using MCP Connect to access a local MCP Server on ConsoleX AI:
License
MIT License