任务编排服务器

一个动态任务规划与编排工具,为AI代理提供执行计划创建、任务分解、进度跟踪和结果存储功能。

  • by cameronking4
  • JavaScript
  • 本地部署
  • 1 星标
  • 更新于
在 GitHub 查看 cameronking4/orchestrator-mcp

使用说明

任务编排器MCP服务器

这是一个 模型上下文协议(MCP) 提供动态任务规划和编排工具的服务器。它允许人工智能代理(如克劳德)创建执行计划,将其分解为子任务,跟踪进度,并存储每个步骤的注释/结果——本质上为人工智能提供了一个复杂工作流程的“工作记忆”。这个MCP是你法学硕士代理缺失的额叶。将无状态的聊天响应转化为有状态的、面向目标的代理,这些代理可以计划、执行和记忆。 🧠 ⚡️

特性

  • 分层规划:创建一个根目标,并无限深地嵌套子任务。
  • 状态管理:跟踪状态(pending, in_progress, completed, failed, skipped)对于每一项任务。
  • 视觉反馈:每次修改后返回计划的可视化树表示。
  • 上下文存储:根据特定任务ID存储注释和结果。
  • 语义任务评估:使用自然语言理解评估任务完成质量。
  • 漂移检测:监控与计划目标的一致性,并检测语义漂移。
  • 语义记忆:使用语义相似性存储和检索事实。
  • 依赖推理:根据描述自动推断任务依赖关系。
  • 进度分析:获取有关计划进度的见解、风险和建议。
  • 检查点管理:随时保存和恢复计划状态。
  • 约束验证:根据自然语言约束检查输出。

安装

先决条件

  • Node.js(建议使用v18或更高版本)
  • npm或pnpm

构建

  1. 克隆存储库或导航到目录。
  2. 安装依赖项:
    npm install
    
  3. 构建项目:
    npm run build
    
  4. 测试项目:
{
   "command": "node",
   "args": [
     "/absolute/path/to/task-orchestrator-server/build/index.js"
   ]
 }

注:更换 /absolute/path/to/... 实际完整路径 build/index.js 文件在你的机器上。

用法

将生产服务器与MCP客户端一起使用(如 克劳德桌面版),将以下内容添加到您的配置文件中(例如。, ~/Library/Application Support/Claude/claude_desktop_config.json 在macOS上):

"mcpServers": {
  "task-orchestrator": {
     "command": "npx",
     "args": [
       "-y",
       "@task-orchestrator/mcp@latest"
     ]
  }
}

工具使用

服务器暴露 8个强大的工具 旨在利用LLM功能:

1.任务编排器(task_orchestrator)

核心计划和任务管理工具。

操作 必需参数 可选参数 描述
create_plan plan_goal - 使用根目标初始化新计划。擦拭之前的状态。
add_task task_description parent_task_id, notes 添加子任务。如果 parent_task_id 省略,添加到根。
update_task task_id status, task_description, notes, result 更新任务的状态或内容。
get_plan - - 返回当前计划结构,不做任何更改。

2.任务评估员(evaluate_task)

使用语义理解评估任务完成质量。

{
  "task_description": "Create a secure login endpoint",
  "actual_output": "Created POST /login with JWT authentication",
  "context": "This is for a banking application"
}

退货: { assessment, passed, reasoning, suggestions }

3.任务遵守监控(check_alignment)

检测计划目标的语义偏差。

{
  "plan_goal": "Build a REST API for user management",
  "current_action": "I'm creating GraphQL schema",
  "recent_context": "User asked about GraphQL"
}

退货: { aligned, confidence, reasoning, suggestion }

4.上下文管理器(remember, recall)

用于存储和检索事实的语义记忆。

记得:

{
  "what": "We decided to use PostgreSQL",
  "details": "Team prefers it for JSON support"
}

召回:

{
  "query": "What database are we using?",
  "limit": 3
}

退货: { results: [{ what, details, relevance }] }

5.依赖性解析器(infer_dependencies, get_next_tasks)

自动推断任务依赖关系并识别就绪任务。

推断依赖性:

{
  "tasks": [
    { "id": "1", "description": "Set up database schema" },
    { "id": "2", "description": "Create API endpoints that query the database" }
  ]
}

获取下一个任务:

{
  "completed_tasks": ["1"]
}

退货: { ready: string[], blocked: string[] }

6.进度分析器(analyze_progress)

获取有关计划进度的语义见解。

{
  "plan_goal": "Build a web application"
}

退货: { summary, insights, risks, recommendations }

7.检查点管理器(create_checkpoint, list_checkpoints, restore_checkpoint)

保存并恢复计划状态。

创建:

{
  "name": "Before refactoring",
  "description": "All tests passing"
}

还原:

{
  "checkpoint_id": "cp_1"
}

或通过语义匹配进行恢复:

{
  "description": "the checkpoint before refactoring"
}

8.约束检查器(check_constraints)

根据自然语言约束验证输出。

{
  "constraints": "Must use TypeScript, no external APIs, include error handling",
  "output": "Created login.ts with try-catch blocks",
  "context": "Production API"
}

退货: { passed, violations, reasoning }

工作流示例

  1. 制定计划

    {
      "action": "create_plan",
      "plan_goal": "Refactor the database schema"
    }
    
  2. 添加子任务

    {
      "action": "add_task",
      "parent_task_id": "1",
      "task_description": "Analyze current schema relations"
    }
    
  3. 更新进度

    {
      "action": "update_task",
      "task_id": "2",
      "status": "completed",
      "result": "Found 3 circular dependencies."
    }
    

发展

  • 观看模式:运行 npm run watch 以在更改时自动重新编译。
  • 调试:您可以通过运行构建的脚本和管道JSON-RPC消息或使用 MCP检查员.