🚀 MCP编排器平台
基于多MCP服务器、编排器代理循环和可选沙盒代码执行的模块化AI代理平台。 使用Bun+TypeScript+Elysia+PocketBase构建。
______________________________________________________________________
✨ 引言
MCP编排器平台是一种基于模型上下文协议(MCP)的可扩展架构,MCP是Anthropic提出的标准化工具、资源和代理集成的协议。
该平台创建了一个中央编排器,能够:
- 连接到多个MCP服务器(SearXNG、Figma、Linear、Notes、GitHub等)
- 将所有工具整合到一个统一的工具注册表中
- 编排LLM代理循环(重新行动/计划执行)
- 通过MCP(STDIO或WebSocket)进行工具调用
- 支持代码沙盒,用于自动执行代理代码
- 为Web/Mobile客户端公开HTTP API
- 通过PocketBase进行动态配置管理
使用此模型,您可以使用各种工具构建AI代理平台、MCP市场或多任务应用程序。
______________________________________________________________________
🧱 架构概述
User (Web/Mobile)
↓
orchestrator-api (REST)
↓
MCP Orchestrator ←→ LLM Provider (Claude / OpenAI)
↓
Tool Registry
↓
┌──────────────────────────────┐
│ Multi MCP Servers │
│ - mcp-searxng │
│ - mcp-linear │
│ - mcp-figma │
│ - mcp-note │
│ - mcp-code-executor (optional)
└──────────────────────────────┘
↓
PocketBase (config / logs / tenants)核心概念
- MCP服务器 =工具层(服务器风格插件)
- 编排器 =大脑(LLM+路由+代理循环)
- 沙盒 =执行层(运行LLM生成的代码)
- API =集成层(Web/Mobile接口)
______________________________________________________________________
📦 主要特点
🧠 MCP编排器
- 生成/监控MCP服务器
- 自动工具注册表
- 多服务器路由
- LLM代理循环(重新行动/计划执行)
- 观测流程
- 工具调用推理
- 多步骤任务执行
🔌 多MCP服务器支持
每个MCP服务器都是一个独立的模块:
mcp-searxng-Web搜索集成mcp-linear-项目管理mcp-figma-设计合作mcp-note-记笔记mcp-github-代码库管理mcp-code-executor-安全代码执行
🔒 可选:代码沙盒执行
- 代理可以编写Types/Python代码
- 安全沙盒执行(有限的FS、CPU、RAM、网络)
- 代码通过内部SDK调用MCP工具
- 减少令牌使用+提高复杂的工作流能力
🌐 用于客户端的REST API
POST /chat-与AI代理聊天POST /tools/:key-直接工具调用GET /tools-列出可用工具GET /servers-列出MCP服务器
🗂 管理员仪表板(可选)
- MCP服务器管理(开/关)
- 日志监控
- 租户配置
- 密钥/令牌管理
🧩 PocketBase集成
- 动态MCP服务器配置
- 用户/租户/API密钥管理
- 工具日志和使用指标
- 内置管理面板
______________________________________________________________________
📁 项目结构
mcp-platform/
├── apps/
│ ├── orchestrator-api/ # HTTP API server
│ └── admin-dashboard/ # Admin UI (planned)
│
├── orchestrator/ # CORE: MCP client + agent loop
│ ├── src/
│ │ ├── index.ts
│ │ ├── orchestrator.ts
│ │ ├── agent-loop.ts
│ │ ├── mcp-server-manager.ts
│ │ ├── tool-registry.ts
│ │ ├── llm/
│ │ ├── utils/
│ │ └── types/
│ └── package.json
│
├── servers/ # MCP servers as plugins
│ ├── mcp-searxng/
│ ├── mcp-linear/
│ ├── mcp-figma/
│ ├── mcp-note/
│ ├── mcp-code-executor/
│ └── (add more servers here)
│
├── packages/ # Shared libraries
│ ├── shared-types/
│ ├── shared-utils/
│ ├── pb-client/
│ └── registry-client/
│
├── pocketbase/ # Database for config/logs
│ ├── pb_data/
│ ├── docker-compose.yml
│ └── schema.json
│
├── docs/
│ └── developer_onboarding.md
│
├── infra/
│ └── docker-compose.yml # Development environment
│
├── bunfig.toml
├── package.json # Root workspace config
└── README.md______________________________________________________________________
🔁 工作流(代理循环)
- 用户请求:
"Find videos about HanaCare and create an issue in Linear"- 编排器→ LLM:
LLM返回一个计划:
- 呼叫工具: searxng.search_web - 解析结果 - 呼叫工具: linear.create_issue
- 编排器路由 → 正确的MCP服务器:
tools.call("searxng.search_web", {...})
tools.call("linear.create_issue", {...})- 如果需要,LLM会编写小代码 对于复杂逻辑:
- 发送代码至 mcp-code-executor (沙盒)
- 沙盒执行代码,代码调用MCP工具:
- 将结果返回给编排器→ LLM
- LLM生成最终答案:
- API返回Web/Mobile客户端
______________________________________________________________________
⚙️ 快速开始
先决条件
- 包子 >= 1.3.1
- 码头工人 (适用于PocketBase和开发环境)
- API密钥 用于各种服务(线性、Figma等)
安装
- 克隆存储库:
git clone https://github.com/your-org/mcp-platform
cd mcp-platform- 安装依赖项:
bun install- 启动PocketBase数据库:
docker compose -f pocketbase/docker-compose.yml up -d- 启动编排器+所有MCP服务器:
docker compose -f infra/docker-compose.yml up --build- 测试API:
curl -X POST http://localhost:3000/chat \
-H 'Content-Type: application/json' \
-d '{"message": "Find videos about HanaCare"}'环境设置
创建一个 .env 使用API密钥文件:
LINEAR_API_KEY=your_linear_api_key
FIGMA_API_KEY=your_figma_api_key
SEARXNG_URL=your_searxng_instance_url
GITHUB_TOKEN=your_github_token访问PocketBase管理员: http://localhost:8090/_/
______________________________________________________________________
🔥 为什么是这种架构?
- ✅ 模块化 --每个MCP服务器=1个插件
- ✅ 可扩展的 --编排层是独立的
- ✅ 工具重复使用 --MCP服务器可供多个代理使用
- ✅ 安全 --沙盒降低了LLM运行代码时的风险
- ✅ 多用户 --适用于SaaS应用
- ✅ 可扩展 --通过添加文件夹+config添加新服务器
- ✅ 网络和移动友好 -适用于所有客户端的HTTP API
- ✅ 人类对齐 --遵循“使用MCP执行代码”的方向
______________________________________________________________________
🛣 路线图
- \[\]完全支持MCP规范v1.1
- \[\]用于MCP服务器管理的CLI
- \[\]增强的Types/Python沙盒运行器
- \[\]托管MCP服务器市场
- \[\]LLM代理存储层
- \[\]多租户+计费支持
- \[\]为AWS/Fly.io/Render部署模板
- \[\]Webhooks和事件流
- \[\]工具组成和链接
______________________________________________________________________
💡 贡献
拉取请求总是受欢迎的!你可以:
- 添加新的MCP服务器
- 改进沙盒跑步者
- 添加示例工作流
- 增强编排器循环
- 改进文档
- 添加测试覆盖率
- 报告错误并建议功能
开发指南
- 每个MCP服务器都必须有清晰的描述和输入模式
- 包括所有工具的测试用例
- 全程使用TypeScript
- 遵循现有的代码样式和模式
- 添加功能时更新文档
______________________________________________________________________
📄 许可证
此项目根据MIT许可证获得许可-请参阅 许可证 文件以获取详细信息。
