工作流编排系统

基于模型上下文协议(MCP)的代理请求分诊系统,用于3D资产生产工作流的验证、规划和分配。

  • by jabs142
  • Python
  • 本地部署
  • 更新于
在 GitHub 查看 jabs142/-mcp-workflow-orchestrator

使用说明

MCP工作流编排器

使用模型上下文协议(MCP)的基于代理的请求分类系统。

演示3D资产生产工作流的验证、规划和分配功能的工作流编排。

特性

  • MCP服务器 有4个工具和4个资源
  • AI 代理 在Claude中使用ReAct模式
  • 验证 预设配置(4通道纹理打包)
  • 基于规则的工作流规划
  • 容量感知艺术家分配
  • 决策审计追踪 基于自然语言理论
  • 可观测性 通过结构化日志记录

建筑

┌─────────────────────────────────────────────────────────────┐
│                  Agent (run_agent.py)                        │
│  - Connects to MCP server via stdio                         │
│  - Uses Claude API for reasoning                            │
│  - Orchestrates tools: validate → plan → assign → record    │
│  - Outputs decisions.json with rationale                    │
└────────────────┬────────────────────────────────────────────┘
                 │ MCP Protocol (stdio)
                 │
┌────────────────▼────────────────────────────────────────────┐
│                 MCP Server (server.py)                       │
│                                                              │
│  Tools:                        Resources:                   │
│  ├─ validate_preset()          ├─ resource://requests       │
│  ├─ plan_steps()               ├─ resource://artists        │
│  ├─ assign_artist()            ├─ resource://presets        │
│  └─ record_decision()          └─ resource://rules          │
│                                                              │
│  Reads: data/*.json            Writes: decisions.json       │
└─────────────────────────────────────────────────────────────┘

设置

1.创建虚拟环境

python3 -m venv venv
source venv/bin/activate

2.安装依赖项

pip install -r requirements.txt

3.设置API密钥

从以下位置获取密钥:https://console.anthropic.com/settings/keys

创建一个 .env 文件:

ANTHROPIC_API_KEY=sk-ant-...your-key-here

用法

运行代理

python run_agent.py

使用来自的默认数据文件 data/ 目录并处理所有请求。

输出

decisions.json -一系列具有基本原理和工具调用跟踪的决策:

[{"request_id": "req-001", "validation_passed": true, "rationale": "...", "trace": [...]}]

mcp.log -包含工具调用、持续时间和失败的结构化日志:

{"timestamp": "...", "event": "tool.called", "tool": "validate_preset", "duration_ms": 12.5}

MCP工具

  • validate_preset(request_id) -验证命名配置和4通道纹理打包(r、g、b、a)。帐户来源于请求。
  • plan_steps(request_id) -根据规则匹配请求属性以确定工作流步骤。
  • assign_artist(request_id) -根据所需技能和可用容量分配艺术家。
  • record_decision(request_id, decision_data) -通过decisions.json的审计跟踪来持久化决策。

MCP资源

  • resource://requests -工作流请求
  • resource://artists -具有技能和能力的艺术家简介
  • resource://presets -帐户预设配置
  • resource://rules -有条件的工作流规则

测试

# Run test suite
pytest test_server.py -v

# Run agent with all requests
python run_agent.py

测试包括:

  • 有效/无效的预设验证
  • 工作流规则匹配
  • 容量感知艺术家分配
  • 决策ID幂等性

项目结构

mcp-workflow-orchestrator/
├── data/
│   ├── request.json
│   ├── artists.json
│   ├── presets.json
│   └── rules.json
├── server.py
├── run_agent.py
├── test_server.py
├── requirements.txt
├── .env.example
└── README.md