变革者MCP桥
生产就绪的Express服务器,为Changemaker平台集成了完整的模型上下文协议(MCP)。
概述
该服务器在Changemaker平台和各种MCP服务器之间提供了一个强大的桥梁,实现了:
- 多租户架构:具有用户权限的组织范围访问
- MCP集成:支持Taskmaster AI、Zen Suite和Playwright MCP服务器
- 企业功能:速率限制、缓存、监控和全面的错误处理
- 外部集成:支持Supabase、Resend、Sentry和RewardStack
主要特点
核心能力
- ✅ 支持TypeScript的生产就绪Express服务器
- ✅ 使用Claude Code CLI集成实现完整的MCP客户端
- ✅ 具有组织隔离的多租户上下文管理
- ✅ 基于Redis的缓存用于性能优化
- ✅ 全面的身份验证和授权
- ✅ 每个组织和用户的费率限制
- ✅ 结构化日志记录和错误跟踪
- ✅ 健康检查和监控端点
MCP功能
- 在多个MCP服务器上执行工具
- 批处理工具执行支持
- 工具发现和列表
- 服务器健康监控
- 上下文感知工具执行
- 结果缓存以提高性能
安全
- 基于JWT的身份验证
- API关键支持
- 基于角色的访问控制(RBAC)
- 组织级隔离
- 请求验证和净化
建筑
src/
├── api/
│ ├── server.ts # Express server setup
│ ├── controllers/ # Request handlers
│ ├── middleware/ # Auth, validation, error handling
│ └── routes/ # API route definitions
├── integrations/
│ └── mcp/
│ ├── mcp-client.ts # MCP client implementation
│ └── context/ # Context management
├── services/ # Business logic
├── types/ # TypeScript definitions
├── utils/ # Utilities (logger, errors)
└── config/ # ConfigurationAPI终点
MCP操作
POST /api/v1/mcp/execute-执行单个MCP工具POST /api/v1/mcp/batch-执行多个MCP工具GET /api/v1/mcp/servers/:server/tools-列出可用工具GET /api/v1/mcp/servers/:server/status-获取服务器状态GET /api/v1/mcp/servers/status-获取所有服务器状态GET /api/v1/mcp/health-MCP集成健康检查
挑战管理
POST /api/v1/challenges-创造挑战GET /api/v1/challenges-列出挑战GET /api/v1/challenges/:id-获取挑战详情PATCH /api/v1/challenges/:id-更新挑战DELETE /api/v1/challenges/:id-删除挑战POST /api/v1/challenges/:id/participate-加入挑战POST /api/v1/challenges/:id/metrics-更新指标GET /api/v1/challenges/:id/stats-获取统计数据
健康与监测
GET /health-基本健康检查GET /api/v1/health/detailed-详细的系统健康状况GET /api/v1/health/ready-Kubernetes就绪性探测GET /api/v1/health/live-Kubernetes活性探测
入门指南
先决条件
- Node.js 18+
- Redis服务器
- PostgreSQL(用于Supabase)
安装
- 克隆存储库
- 安装依赖项:
npm install- 复制环境变量:
cp .env.example .env- 在中配置环境变量
.env
- 启动Redis:
redis-server- 在开发中运行:
npm run dev生产大楼
npm run build
npm start配置
服务器使用环境变量进行配置。看 .env.example 所有可用选项。
关键配置:
- 服务器:端口、主机、环境
- 安全:JWT秘密,CORS起源
- 雷迪斯:连接URL和TTL设置
- MCP服务器:API密钥和配置
- 外部服务:Supabase、重新发送、哨兵凭证
认证
服务器支持两种身份验证方法:
- 承载令牌 (JWT):
Authorization: Bearer - API密钥:
x-api-key: org__user_错误处理
服务器通过以下方式实现了全面的错误处理:
- 结构化错误响应
- 正确的HTTP状态代码
- 哨兵集成用于生产监控
- 调试详细日志记录
错误响应格式:
{
"error": {
"code": "ERROR_CODE",
"message": "Human readable message",
"details": {}
}
}发展
运行测试
npm test
npm run test:watch
npm run test:coverage代码检查
npm run lintTypeScript类型检查
npx tsc --noEmit部署
该服务器专为容器化部署而设计:
- 构建Docker镜像
- 设置环境变量
- 确保Redis可访问
- 部署健康检查监控
许可证
麻省理工学院
