任务管理协议服务器

TaskFlow MCP Server 是一个为AI辅助开发工作流提供结构化任务管理能力的模型上下文协议服务器,通过强制执行的三个阶段工作流(调查、解决方案规划、检查清单)确保开发任务的逻辑进展和跟踪。

  • by beldaz
  • Python
  • 本地部署
  • 更新于
在 GitHub 查看 beldaz/taskflow-mcp

使用说明

TaskFlow MCP服务器

一种模型上下文协议(MCP)服务器,为人工智能辅助开发工作流提供结构化任务管理功能。TaskFlow通过复杂的开发任务强制执行逻辑进度,确保彻底的调查、规划和执行跟踪。

概述

TaskFlow实现了管理开发任务的三阶段工作流:

  1. 调查.md -研究并理解问题
  2. 解决方案_PLAN.md -计划如何解决问题(需要调查)
  3. 检查列表.json -将解决方案分解为可操作的项目(需要解决方案计划)

每个任务都组织在自己的文件夹中 .tasks/{task_id}/ 具有唯一标识符,提供清晰的工作分离和组织。

检查表架构

当 INVESTIGATION.md 和 SOLUTION_PLAN.md 可以是具有任何结构的标记文档, CHECKLIST.json 严格来说是一个具有完成状态的项目列表。

[
  {
    "label": "string (required)",
    "status": "pending|in-progress|done (required)",
    "notes": "string|null (optional)"
  }
]

主要特点

  • 强制工作流进度:任务必须遵循调查→ 解决方案→ 检查表顺序
  • JSON模式验证:根据严格的架构验证清单项
  • 状态跟踪:清单项目的结构化状态跟踪(待定、进行中、已完成)
  • MCP集成:完整的模型上下文协议支持,实现无缝的AI助手集成
  • 自动记录:所有工具操作都记录到 .tasks/tool_actions.log 用于审计和调试

📋 有关详细的技术规范、错误处理和完整的API行为,请参阅 规格.md

日志记录

TaskFlow会自动将所有工具操作记录到结构化日志文件中,以便进行审核和调试:

  • 日志文件: .tasks/tool_actions.log (自动创建)
  • 格式:带有时间戳、工具名称、任务ID、参数和结果的JSON条目
  • 范围:所有9个MCP工具都会自动记录
  • 目的:提供AI助手交互的完整审计跟踪

日志条目示例:

{"tool": "write_investigation", "task_id": "feature-123", "timestamp": "2024-01-15T10:30:45.123456", "arguments": {"task_id": "feature-123", "content": "# Investigation\n\n"}, "result": "Wrote .tasks/feature-123/INVESTIGATION.md"}

安装

安装时使用 紫外线:

uv add git+https://github.com/yourname/taskflow-mcp.git

用法

基本用法

在代码存储库的根目录下运行MCP服务器:

taskflow-mcp

工作目录配置

默认情况下,TaskFlow会创建 .tasks 当前工作目录中的目录。要指定其他项目目录,您有几个选项:

选项1:使用启动脚本(推荐)

# For current directory
./start-mcp.sh

# For a specific project directory
./start-mcp.sh /path/to/your/project

选项2:使用环境变量

# For a specific project directory
TASKFLOW_WORKING_DIR=/path/to/your/project taskflow-mcp

Claude桌面集成

添加到您的Claude Desktop MCP配置中:

{
  "mcpServers": {
    "taskflow": {
      "command": "taskflow-mcp",
      "args": [],
      "env": {
        "TASKFLOW_WORKING_DIR": "/path/to/your/project"
      }
    }
  }
}

配置Claude Code(VS Code/JetBrains)以连接:

{
  "mcpServers": {
    "taskflow": {
      "command": "taskflow-mcp",
      "cwd": "${workspaceFolder}"
    }
  }
}

替代安装

claude mcp add taskflow '<path to taskflow-mcp local folder>/start-mcp.sh' -s user

可用工具

TaskFlow服务器为人工智能代理提供了一个干净、一致的API:

编写工具(创建或更新)

  • write_investigation(task_id, content) -撰写调查文件
  • write_solution_plan(task_id, content) -编写解决方案计划文件
  • write_checklist(task_id, checklist) -编写检查表文件

阅读工具

  • read_investigation(task_id) -阅读调查文件
  • read_solution_plan(task_id) -阅读解决方案文档
  • read_checklist(task_id) -阅读检查表文档

操作检查表(细粒度)

  • add_checklist_item(task_id, task_label) -附加一个项目(item_id是项目的标签)
  • set_checklist_item_status(task_id, task_label, status, notes?) -更新一个项目的状态/注释
  • remove_checklist_item(task_id, task_label) -删除一个项目

这种设计的好处

  • 一致性:所有操作都遵循相同的步骤 write_*/read_* 模式
  • 简洁:创建与更新操作之间没有区别
  • 幂等:多次编写相同内容是安全的
  • 干净的逻辑:代理人不需要先检查文件是否存在

api参考

刀具参数

写入工具:

  • write_investigation(task_id, content) -撰写调查文件
  • write_solution_plan(task_id, content) -编写解决方案计划(需要调查)
  • write_checklist(task_id, checklist) -编写检查表(需要解决方案计划)

阅读工具:

  • read_investigation(task_id) -阅读调查文件
  • read_solution_plan(task_id) -阅读解决方案文档
  • read_checklist(task_id) -阅读检查表文档

检查表操作:

  • add_checklist_item(task_id, task_label) -附加一个项目(item_id是项目的标签)
  • set_checklist_item_status(task_id, task_label, status, notes?) -更新一个项目的状态/注释
  • remove_checklist_item(task_id, task_label) -删除一个项目

AI代理架构

TaskFlow旨在与专门的AI代理协同工作,每个代理都针对开发工作流程的特定阶段进行了优化。这种方法确保了彻底性,并防止代理跳过关键步骤。有关为Claude Code等代理生成向导提供的建议规范,请参阅[AGENT_DESCRIPTIONS.md]。

发展

运行测试:

uv run pytest

运行linting:

uv run ruff check .
uv run pyright