Back to MCP directory
publicPublicdnsLocal runtime

mcp-bridge-api

MCP Bridge是一个轻量级、与LLM无关的RESTful代理,用于连接多个模型上下文协议(MCP)服务器,并通过统一的REST API暴露其功能。它解决了边缘设备、移动设备和Web浏览器等平台无法高效运行MCP服务器的问题,提供了可选的基于风险的执行级别,包括标准执行、确认工作流和Docker隔离等安全控制。

article

README

🚀 MCP 桥接 API 文档

MCP Bridge API 是一款强大的桥梁服务,借助 RESTful 接口能与多个 MCP 服务器展开交互。它支持多语言集成,还具备丰富的功能模块,为开发者提供了便捷、高效的开发体验。

🚀 快速开始

服务器端安装

# 克隆仓库
git clone https://github.com/INQUIRELAB/mcp-bridge-api.git
cd mcp-bridge-api

# 安装依赖
npm install

# 启动服务
node index.js

客户端配置

创建一个 config.json 文件,内容如下:

{
  "servers": [
    {
      "name": "server1",
      "url": "http://localhost:3000",
      "protocol": "rest"
    },
    {
      "name": "server2",
      "url": "ws://localhost:3001",
      "protocol": "sse"
    }
  ],
  "timeout": 5000,
  "proxyEnabled": true
}

✨ 主要特性

  • 多语言支持:支持 Node.js 和 Python 两种语言的开发,满足不同开发者的需求。
  • 协议兼容性:支持 STDIO、SSE(Server-Sent Events)等多种通信协议,增强了系统的灵活性。
  • 扩展插件系统:提供灵活的插件机制,便于功能扩展,如自定义协议处理、插件化日志记录、扩展认证机制等。
  • 高可用性设计:内置负载均衡和容错机制,确保服务稳定运行。

📚 详细文档

项目概述

功能简介

  • 提供统一的 REST API 接口,支持多种通信协议。
  • 内置多语言处理能力,支持 Node.js 和 Python 开发。
  • 提供灵活的插件扩展机制,便于功能定制。

技术架构

  • 基于 Express 框架构建,性能高效稳定。
  • 支持 WebSocket 协议,实现实时通信。
  • 提供完整的日志系统和监控面板。

核心组件

MCP Bridge Server

作为整个系统的中枢,负责处理来自客户端的请求,并将其转发到相应的 MCP 服务。

Plugin System

允许用户根据需求扩展功能模块,例如:

  • 自定义协议处理
  • 插件化日志记录
  • 扩展认证机制

💻 使用示例

基础用法

启动服务器

# 安装依赖
npm install express uuid

# 启动服务
node server.js

调用工具

使用 mcp-client 工具调用远程服务:

mcp-client --server http://localhost:3000 --command "echo Hello World"

查看日志

journalctl -u mcp-bridge-api -f

📊 风险级别说明

| 属性 | 详情 | |------|------| | 低风险 | 对系统影响较小的漏洞,建议及时修复 | | 中风险 | 可能导致服务中断或数据泄露的漏洞,必须立即处理 | | 高风险 | 严重的安全风险,可能导致完全控制系统的漏洞,需要紧急响应 |

🔧 技术细节

性能优化

负载均衡

使用 Nginx 实现负载均衡:

upstream mcp-servers {
    server server1:80;
    server server2:80;
}

server {
    listen 80;
    location / {
        proxy_pass http://mcp-servers;
    }
}

日志优化

启用 GELF 格式日志输出,便于集中化管理:

const winston = require('winston');
const graylog = new winston.transports.GELF({
    host: 'graylog.example.com',
    port: 12201
});

logger.add(graylog);

扩展阅读

贡献指南

欢迎社区贡献代码!请参考贡献规范

📄 许可证

本项目采用 MIT License,详细信息见 LICENSE 文件。

help

Runtime guide

cloud

Hosted runtime

Hosted servers run from a provider-managed environment. You usually connect the MCP client to the hosted endpoint or follow the provider's authorization flow, without keeping a local process alive

  1. Open provider connection page
  2. Authorize or copy endpoint
  3. Connect from your MCP client
terminal

Local runtime / other methods

Local servers run on your own machine or infrastructure. You normally copy the server_config into your MCP client, install the required package, and provide env variables from env_schema when needed

  1. Copy server_config
  2. Install required package
  3. Fill env variables and restart client