Back to MCP directory
publicPublicdnsLocal runtime

PluggedinMCP

plugged.in MCP代理服务器是一个中间件,用于聚合多个MCP服务器并提供统一接口,支持多种MCP客户端。

article

README

🚀 plugged.in MCP 代理服务器

plugged.in MCP 代理服务器是一个通用桥梁,它能连接 MCP 客户端与多个底层 MCP 服务器。该服务器简化了客户端与不同服务器的交互流程,还能通过 plugged.in 应用程序实现集中化管理和发现功能。

🚀 快速开始

基本用法

  1. 启动代理服务器
    node index.js
    
  2. 连接 MCP 客户端
    npx @modelcontextprotocol/client --mcp-endpoint tcp://localhost:4000
    

示例工作流程

发现工具

await client.call("pluggedin_discover_tools");
// 返回发现的工具列表

✨ 主要特性

  • 通用桥梁:连接 MCP 客户端与多个底层 MCP 服务器,简化交互流程。
  • 集中管理:通过 plugged.in 应用程序实现集中化管理和发现功能。
  • 多工作区支持:不同工作区可独立管理工具、资源和指令集。
  • 互动式控制台:可测试工具调用和查看实时日志。

📦 安装指南

克隆仓库

git clone git@github.com:vernit/pluggedin-mcp-proxy.git
cd pluggedin-mcp-proxy

启动脚本(Docker)

# Dockerfile 内容
FROM node:18-alpine AS dev

WORKDIR /app
COPY package*.json ./
RUN npm install --production

CMD ["node", "index.js"]

运行命令:

docker build -t pluggedin-mcp-proxy .
docker run -it pluggedin-mcp-proxy

📚 详细文档

项目架构

核心组件

  1. 代理服务器:处理客户端请求,路由到目标服务器。
  2. 能力管理
    • tools/list:获取所有工具列表。
    • resources/list:获取所有资源列表。
  3. 自定义指令:支持基于前缀的自定义指令。

实现细节

  • 代理服务器通过 /api/discover 端点发现新服务器。
  • 每个服务器在注册时获得唯一前缀,用于路由请求。

整合 plugged.in 应用

  • 统一管理:通过 plugged.in 应用集中配置和监控所有 MCP 服务器。
  • 多工作区支持:不同工作区可独立管理工具、资源和指令集。
  • 互动式控制台:测试工具调用和查看实时日志。

🔧 技术细节

  • 代理服务器通过 /api/discover 端点发现新服务器,该端点会处理服务器的注册和发现逻辑。
  • 每个服务器在注册时获得唯一前缀,这个前缀会被代理服务器用于路由客户端的请求,确保请求能准确到达目标服务器。
  • 能力管理模块中的 tools/listresources/list 接口,分别用于获取所有工具列表和所有资源列表,方便客户端进行管理和使用。

📄 相关资源

🤝 贡献指南

欢迎贡献!请随意提交 Pull Request。

📄 许可证

本项目遵循 MIT 协议,具体内容见 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