内容
# 流程编排MCP
一个为AI代理提供工作流设计建议的循证工具。可以将其与ChatGPT、Claude(网页版)、Cursor或Claude Desktop连接,实现更安全、更可靠的AI工作流——基于经过测试的组件、边和黄金路径剧本的注册中心。只读,无状态,不存储任何秘密。
**状态:** 注册中心包含47个组件、78条边、1个堆栈、5条路由、5个剧本;16种工具;可通过stdio和免费托管的端点(`https://mcp.orchestratemcp.dev/mcp`)访问。
---
## 功能介绍
流程编排MCP公开了一个结构化的注册中心,包含:
```
组件 → AI工作流的构建块
边 → 组件之间经过测试的关系(需要,更安全,与...冲突等)
堆栈 → 不同部署环境下的技术选择
路由 → 组件图谱中经过测试的路径
剧本 → 具有完整实施指导的黄金路径路由
```
当用户描述工作流目标时,MCP可以:
1. 将目标与所需功能和组件匹配。
2. 遍历经过测试的组件关系。
3. 重用已知黄金路径剧本的某些部分。
4. 在没有确切剧本的情况下,组合一个候选路由。
5. 对路由置信度进行评分(覆盖率、经过测试的边、堆栈适配性、安全性和简单性)。
6. 将路由作为结构化的实施上下文返回给Cursor或Claude。
---
## 当前功能
- MCP服务器运行在stdio(Cursor,Claude Desktop)和Streamable HTTP / Cloudflare Worker(ChatGPT,claude.ai)上,共注册16种工具。
- `health_check` 返回 `{ name, version, registry: { component_count, edge_count, stack_count, route_count, playbook_count, untested_edge_pct } }`。
- 从YAML加载注册中心:47个组件、78条边、1个堆栈、5条路由、5个剧本。
- `pnpm verify`(类型检查 + lint + 测试)从干净的克隆和安装后运行通过。
---
## 要求
- Node.js ≥ 20
- pnpm
---
## 本地设置
```bash
cd orchestratekit-mcp
pnpm install
pnpm verify # 类型检查 + 测试 — 在执行其他操作之前必须通过
pnpm dev # 在stdio上启动MCP服务器
```
服务器从`stdin`读取并向`stdout`写入JSON-RPC。所有日志输出都发送到`stderr`。
---
## 从Cursor连接
将`examples/cursor-mcp.json`的内容复制到Cursor工作区MCP配置的`.cursor/mcp.json`中。将`cwd`值替换为此目录的绝对路径。
```json
{
"mcpServers": {
"orchestratekit": {
"command": "npx",
"args": ["tsx", "src/server.ts"],
"cwd": "/absolute/path/to/orchestratekit-mcp"
}
}
}
```
---
## 从Claude Desktop连接
macOS: `~/Library/Application Support/Claude/claude_desktop_config.json`
Windows: `%APPDATA%\Claude\claude_desktop_config.json`
```json
{
"mcpServers": {
"orchestratekit": {
"command": "npx",
"args": ["tsx", "src/server.ts"],
"cwd": "/absolute/path/to/orchestratekit-mcp"
}
}
}
```
---
## 从ChatGPT或claude.ai(托管)连接
无需安装,无需终端 — 将您的AI客户端指向免费托管的端点:
```
https://mcp.orchestratemcp.dev/mcp
```
完整的操作指南(ChatGPT开发者模式连接器 + claude.ai): **[docs/CHATGPT_USAGE.md](docs/CHATGPT_USAGE.md)**。
---
## 连接工作流服务
将MCP连接到您的客户端不需要身份验证(因为它是一个只读顾问)。但是,它计划的工作流需要您提供Gmail、Slack、Stripe、CRM等的凭证。有关如何安全地配置这些凭证(最小权限范围、秘密管理器和管理身份验证代理),请参见 **[docs/CONNECTION_SETUP.md](docs/CONNECTION_SETUP.md)**。流程编排MCP绝不会持有凭证。
---
## 脚本
| 脚本 | 描述 |
|--------|-------------|
| `pnpm dev` | 直接运行服务器(无构建步骤) |
| `pnpm build` | 编译到 `dist/`(使用tsup) |
| `pnpm typecheck` | 仅进行TypeScript类型检查(无编译) |
| `pnpm test` | 运行单元测试(使用vitest) |
| `pnpm verify` | 运行 `typecheck` 然后 `test` |
---
## 项目结构
```
orchestratekit-mcp/
src/
server.ts 入口点 — 将MCP服务器连接到stdio传输
config.ts 服务器名称和版本常量
tools/
index.ts 工具注册(16种工具:health_check + 15种图谱/顾问工具)
composeWorkflowRoute.ts
listGraphComponents.ts / getGraphComponent.ts
listGraphEdges.ts / getGraphEdge.ts
getStackRecommendation.ts
listKnownRoutes.ts / getRoute.ts
registry/
registryLoader.ts YAML加载器,带有验证、状态筛选和交叉引用检查
componentSchema.ts / edgeSchema.ts / stackSchema.ts / routeSchema.ts / playbookSchema.ts
registryTypes.ts / registryValidation.ts
graph/
capabilityMatcher.ts 关键词 + token匹配:目标文本 → 组件
routeComposer.ts 将所有图谱模块编排成一个组合路由
routeScoring.ts 确定性0-100评分,带有分解
routeOrdering.ts 使用Kahn算法的拓扑排序
safetyAugmenter.ts 自动添加审批门和审计日志
playbookOverlap.ts 检测与已知剧本/路由的重叠
docs-index/ 补充文档加载器(未来)
lib/
errors.ts McpToolError类和toErrorResult助手
logger.ts 仅stderr日志(stdout保留用于传输)
registry/
components/ 组件YAML文件(47个活跃)
edges/ 边/关系YAML文件(78个活跃)
stacks/ 堆栈YAML文件
routes/ 路由YAML文件(5个验证)
playbooks/ 黄金路径剧本YAML文件(5个)
docs-index/ 补充上下文文档
examples/
cursor-mcp.json 示例Cursor MCP配置
claude-desktop-config.json 示例Claude Desktop配置
tests/
health-check.test.ts
```
---
## 非目标(设计决定)
- 无第一方凭证存储 — 推荐秘密管理器/托管身份验证代理,从不持有秘密
- 无身份验证 / OAuth / 账户 — 托管端点是只读和无状态的,无需登录
- 无向量数据库
- 无图数据库(Neo4j等)
- 无自动注册更新
- 无MCP工具中的LLM API调用
- 无SaaS仪表盘
- 运行时无需依赖OrchestrateLab
---
## 构建顺序
```
MAR-35 ✅ 脚手架 — 已完成
MAR-37 ✅ 图谱注册模式:组件、边、堆栈、路由、剧本
MAR-38 ✅ 种子工作流图谱:30个组件、47条边、1个堆栈、5个剧本
MAR-77 ✅ 图谱查找工具:列出/获取组件、边、堆栈、路由
MAR-78 ✅ compose_workflow_route — 确定性路由编译器
MAR-49 ✅ 基准测试设置 — 见docs/BENCHMARKING.md
MAR-88 ✅ 领域门控能力匹配器 — 消除跨领域假阳性
MAR-92 ✅ 注册校验 + untested_edge_pct在health_check中
MAR-95 ✅ crm_note_write组件 + research→content桥边
MAR-96 ✅ 基准测试协议v2 — 评分标准、prompts-v2.yaml、PROTOCOL.md
MAR-97 ✅ 文档真实性传递 — 注册计数、工具计数、验证路径
```
---
## 基准测试
为了验证工作流图谱是否比普通的Cursor/Claude提高规划质量,请运行 **[docs/BENCHMARKING.md](docs/BENCHMARKING.md)** 中描述的手动基准测试。
快速开始:
```bash
# v2协议 — 为所有7个提示打印会话指南
pnpm tsx scripts/benchmark-template.ts --prompts benchmarks/prompts-v2.yaml --all
# v2 — 单个提示
pnpm tsx scripts/benchmark-template.ts --prompts benchmarks/prompts-v2.yaml --prompt p6_email_lead_crm
# v1(旧版)
pnpm tsx scripts/benchmark-template.ts
```
结果存放在 `benchmarks/results-YYYY-MM-DD.md` 中。