Sponsored by Deepsite.site

MCP Bridge

Created By
EvalsOnea year ago
Enables cloud-based AI services to access local Stdio based MCP servers
Content

MCP Bridge

License: MIT

███╗   ███╗ ██████╗██████╗     ██████╗ ██████╗ ██║██████╗  ██████╗ ███████╗
████╗ ████║██╔════╝██╔══██╗    ██╔══██╗██╔══██╗██║██╔══██╗██╔════╝ ██╔════╝
██╔████╔██║██║     ██████╔╝    ██████╔╝██████╔╝██║██║  ██║██║  ███╗█████╗  
██║╚██╔╝██║██║     ██╔═══╝     ██╔══██╗██╔══██╗██║██║  ██║██║   ██║██╔══╝  
██║ ╚═╝ ██║╚██████╗██║         ██████╔╝██║  ██║██║██████╔╝╚██████╔╝███████╗
╚═╝     ╚═╝ ╚═════╝╚═╝         ╚═════╝ ╚═╝  ╚═╝╚═╝╚═════╝  ╚═════╝ ╚══════╝

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 bridge 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 the bridge and the MCP server, 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

  1. Clone the repository
    git clone https://github.com/modelcontextprotocol/mcp-bridge.git
    
    and enter the directory
    cd mcp-bridge
    
  2. Copy .env.example to .env and configure the port and auth_token:
    cp .env.example .env
    
  3. Install dependencies:
    npm install
    
  4. Run the bridge
    # build the bridge
    npm run build
    # run the bridge
    npm run start
    # or, run in dev mode (supports hot reloading by nodemon)
    npm run dev
    

Now MCP bridge 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 bridge has built-in support for Ngrok tunnel. To run the bridge with a public URL using Ngrok:

  1. Get your Ngrok auth token from https://dashboard.ngrok.com/authtokens
  2. Add to your .env file:
    NGROK_AUTH_TOKEN=your_ngrok_auth_token
    
  3. Run with tunnel:
    # Production mode with tunnel
    npm run start:tunnel
    
    # Development mode with tunnel
    npm run dev:tunnel
    

After the bridge is running, you can see the MCP Bridge URL in the console.

API Endpoints

After the bridge is running, there are two endpoints exposed:

  • GET /health: Health check endpoint
  • POST /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

The bridge uses a simple token-based authentication system. The token is stored in the .env file. If the token is set, the bridge 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)

License

MIT License

Recommend Servers
TraeBuild with Free GPT-4.1 & Claude 3.7. Fully MCP-Ready.
EdgeOne Pages MCPAn MCP service designed for deploying HTML content to EdgeOne Pages and obtaining an accessible public URL.
AiimagemultistyleA Model Context Protocol (MCP) server for image generation and manipulation using fal.ai's Stable Diffusion model.
DeepChatYour AI Partner on Desktop
Playwright McpPlaywright MCP server
Howtocook Mcp基于Anduin2017 / HowToCook (程序员在家做饭指南)的mcp server,帮你推荐菜谱、规划膳食,解决“今天吃什么“的世纪难题; Based on Anduin2017/HowToCook (Programmer's Guide to Cooking at Home), MCP Server helps you recommend recipes, plan meals, and solve the century old problem of "what to eat today"
Baidu Map百度地图核心API现已全面兼容MCP协议,是国内首家兼容MCP协议的地图服务商。
Amap Maps高德地图官方 MCP Server
MiniMax MCPOfficial MiniMax Model Context Protocol (MCP) server that enables interaction with powerful Text to Speech, image generation and video generation APIs.
ChatWiseThe second fastest AI chatbot™
Zhipu Web SearchZhipu Web Search MCP Server is a search engine specifically designed for large models. It integrates four search engines, allowing users to flexibly compare and switch between them. Building upon the web crawling and ranking capabilities of traditional search engines, it enhances intent recognition capabilities, returning results more suitable for large model processing (such as webpage titles, URLs, summaries, site names, site icons, etc.). This helps AI applications achieve "dynamic knowledge acquisition" and "precise scenario adaptation" capabilities.
MCP AdvisorMCP Advisor & Installation - Use the right MCP server for your needs
Jina AI MCP ToolsA Model Context Protocol (MCP) server that integrates with Jina AI Search Foundation APIs.
TimeA Model Context Protocol server that provides time and timezone conversion capabilities. This server enables LLMs to get current time information and perform timezone conversions using IANA timezone names, with automatic system timezone detection.
CursorThe AI Code Editor
Tavily Mcp
Serper MCP ServerA Serper MCP Server
Visual Studio Code - Open Source ("Code - OSS")Visual Studio Code
BlenderBlenderMCP connects Blender to Claude AI through the Model Context Protocol (MCP), allowing Claude to directly interact with and control Blender. This integration enables prompt assisted 3D modeling, scene creation, and manipulation.
WindsurfThe new purpose-built IDE to harness magic
Context7Context7 MCP Server -- Up-to-date code documentation for LLMs and AI code editors