返回 MCP 目录
public公开dns本地运行

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

运行方式说明

cloud

托管运行

托管运行通常表示这个 MCP Server 由服务方环境承载,用户一般按页面提供的连接方式或授权流程接入,不需要在本地长期启动一个 MCP 进程

  1. 打开服务方连接页
  2. 完成授权或复制端点
  3. 在 MCP 客户端中连接
terminal

本地运行 / 其它方式

本地运行通常需要用户在自己的电脑或服务器上安装依赖,把 server_config 复制到 MCP 客户端,并按 env_schema 补齐环境变量、密钥或其它配置

  1. 复制 server_config
  2. 安装所需依赖
  3. 补齐环境变量后重启客户端