article
README
🚀 plugged.in MCP 代理服务器
plugged.in MCP 代理服务器是一个通用桥梁,它能连接 MCP 客户端与多个底层 MCP 服务器。该服务器简化了客户端与不同服务器的交互流程,还能通过 plugged.in 应用程序实现集中化管理和发现功能。
🚀 快速开始
基本用法
- 启动代理服务器
node index.js - 连接 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
📚 详细文档
项目架构
核心组件
- 代理服务器:处理客户端请求,路由到目标服务器。
- 能力管理:
tools/list:获取所有工具列表。resources/list:获取所有资源列表。
- 自定义指令:支持基于前缀的自定义指令。
实现细节
- 代理服务器通过
/api/discover端点发现新服务器。 - 每个服务器在注册时获得唯一前缀,用于路由请求。
整合 plugged.in 应用
- 统一管理:通过
plugged.in应用集中配置和监控所有 MCP 服务器。 - 多工作区支持:不同工作区可独立管理工具、资源和指令集。
- 互动式控制台:测试工具调用和查看实时日志。
🔧 技术细节
- 代理服务器通过
/api/discover端点发现新服务器,该端点会处理服务器的注册和发现逻辑。 - 每个服务器在注册时获得唯一前缀,这个前缀会被代理服务器用于路由客户端的请求,确保请求能准确到达目标服务器。
- 能力管理模块中的
tools/list和resources/list接口,分别用于获取所有工具列表和所有资源列表,方便客户端进行管理和使用。
📄 相关资源
🤝 贡献指南
欢迎贡献!请随意提交 Pull Request。
📄 许可证
本项目遵循 MIT 协议,具体内容见 LICENSE 文件。
Scan to contact