Skip to main content
Glama

TaskFlow MCP🔄✅

用于与 AI 助手一起规划和执行任务的任务管理模型上下文协议 (MCP) 服务器。

版本执照

🌟 概述

TaskFlow MCP 是一款专用服务器,可帮助 AI 助手将用户请求分解为可管理的任务并跟踪其完成情况。它强制执行结构化的工作流,并包含用户审批步骤,以确保任务得到正确跟踪,并保持用户对流程的控制。

Related MCP server: Divide and Conquer MCP Server

✨ 特点

  • 📋任务规划:将复杂的请求分解为可管理的任务

  • 🔍子任务:将任务划分为更小、更易于管理的子任务

  • 📊进度跟踪:使用可视化进度表跟踪任务、子任务和请求的状态

  • 👍用户批准:强制用户批准步骤以确保质量和控制

  • 💾持久性:将任务和请求保存到磁盘,以便在会话之间持久化

  • 🔄灵活管理:根据需要添加、更新或删除任务和子任务

  • 📝详细报告:查看任务详细信息和进度表

  • 📤导出选项:以 Markdown、JSON 或 HTML 格式导出任务计划和状态报告

  • 📦依赖关系:使用版本信息跟踪项目和任务级依赖关系

  • 📌注释:为重要信息和偏好添加项目级注释

🚀 安装

全局安装

npm install -g @pinkpixel/taskflow-mcp

本地安装

npm install @pinkpixel/taskflow-mcp

🛠️ 使用方法

启动服务器

如果全局安装:

taskflow-mcp

如果本地安装:

npx taskflow-mcp

配置

默认情况下,TaskFlow MCP 将任务保存到~/Documents/tasks.json 。您可以通过设置TASK_MANAGER_FILE_PATH环境变量来更改此设置:

TASK_MANAGER_FILE_PATH=/path/to/tasks.json taskflow-mcp

MCP 配置

要将 TaskFlow MCP 与 AI 助手配合使用,您需要配置 MCP 客户端以使用服务器。创建一个包含以下内容的mcp_config.json文件:

{
  "mcpServers": {
    "taskflow": {
      "command": "npx",
      "args": ["-y", "@pinkpixel/taskflow-mcp"],
      "env": {
        "TASK_MANAGER_FILE_PATH": "/path/to/tasks.json"
      }
    }
  }
}

🔄 工作流程

TaskFlow MCP 强制执行特定的工作流程:

  1. 计划任务:将用户请求分解为任务(带有可选的子任务)

  2. 获取下一个任务:检索下一个待处理的任务

  3. 完成子任务:如果任务有子任务,则在将任务标记为完成之前完成每个子任务

  4. 标记任务完成:将任务标记为已完成(需要先完成所有子任务)

  5. 等待批准:等待用户批准已完成的任务

  6. 重复:继续下一个任务,直到所有任务完成

  7. 最终批准:获得用户对整个请求的批准

为了让 AI 助手始终遵循此工作流程,请参阅example-system-prompt.md文件,了解可以添加到助手指令中的系统提示。

🧰 可用工具

TaskFlow MCP 向 AI 助手公开了以下工具:

plan_task

注册新的用户请求并计划其相关任务(带有可选的子任务)。

{
  "originalRequest": "Create a new website for my business",
  "outputPath": "C:/Users/username/Documents/website-project-plan.md",
  "dependencies": [
    {
      "name": "Node.js",
      "version": ">=14.0.0",
      "description": "JavaScript runtime"
    },
    {
      "name": "npm",
      "version": ">=6.0.0",
      "description": "Package manager"
    }
  ],
  "notes": [
    {
      "title": "Package Manager Preference",
      "content": "User prefers pnpm over npm for package management."
    },
    {
      "title": "Design Guidelines",
      "content": "Follow the company's brand guidelines for colors and typography."
    }
  ],
  "tasks": [
    {
      "title": "Design homepage",
      "description": "Create a design for the homepage with logo, navigation, and hero section",
      "dependencies": [
        {
          "name": "Figma",
          "description": "Design tool"
        }
      ],
      "subtasks": [
        {
          "title": "Design logo",
          "description": "Create a logo that represents the business brand"
        },
        {
          "title": "Design navigation",
          "description": "Create a user-friendly navigation menu"
        }
      ]
    },
    {
      "title": "Implement HTML/CSS",
      "description": "Convert the design to HTML and CSS",
      "dependencies": [
        {
          "name": "HTML5",
          "description": "Markup language"
        },
        {
          "name": "CSS3",
          "description": "Styling language"
        }
      ]
    }
  ]
}

get_next_task

检索请求的下一个待处理任务。

{
  "requestId": "req-1"
}

mark_task_done

将任务标记为已完成。

{
  "requestId": "req-1",
  "taskId": "task-1",
  "completedDetails": "Created a modern design with a clean layout"
}

approve_task_completion

批准已完成的任务。

{
  "requestId": "req-1",
  "taskId": "task-1"
}

approve_request_completion

批准整个请求并认为其已完成。

{
  "requestId": "req-1"
}

open_task_details

获取有关特定任务的详细信息。

{
  "taskId": "task-1"
}

list_requests

列出系统中的所有请求。

{}

add_tasks_to_request

向现有请求添加更多任务。

{
  "requestId": "req-1",
  "tasks": [
    {
      "title": "Add contact form",
      "description": "Create a contact form with validation"
    }
  ]
}

update_task

更新任务的标题或描述。

{
  "requestId": "req-1",
  "taskId": "task-1",
  "title": "Design responsive homepage",
  "description": "Create a responsive design for the homepage"
}

delete_task

从请求中删除任务。

{
  "requestId": "req-1",
  "taskId": "task-1"
}

add_subtasks

将子任务添加到现有任务。

{
  "requestId": "req-1",
  "taskId": "task-1",
  "subtasks": [
    {
      "title": "Design logo",
      "description": "Create a logo that represents the business brand"
    },
    {
      "title": "Design navigation",
      "description": "Create a user-friendly navigation menu"
    }
  ]
}

mark_subtask_done

将子任务标记为已完成。

{
  "requestId": "req-1",
  "taskId": "task-1",
  "subtaskId": "subtask-1"
}

update_subtask

更新子任务的标题或描述。

{
  "requestId": "req-1",
  "taskId": "task-1",
  "subtaskId": "subtask-1",
  "title": "Design modern logo",
  "description": "Create a modern logo that represents the business brand"
}

delete_subtask

从任务中删除子任务。

{
  "requestId": "req-1",
  "taskId": "task-1",
  "subtaskId": "subtask-1"
}

export_task_status

将请求中所有任务的当前状态导出到文件。建议使用绝对路径,以便更可靠地创建文件。

{
  "requestId": "req-1",
  "outputPath": "C:/Users/username/Documents/task-status.md",
  "format": "markdown"
}

add_note

为请求添加注释。

{
  "requestId": "req-1",
  "title": "Package Manager Preference",
  "content": "User prefers pnpm over npm for package management."
}

update_note

更新现有注释。

{
  "requestId": "req-1",
  "noteId": "note-1",
  "title": "Package Manager Preference",
  "content": "User prefers pnpm over npm and yarn for package management."
}

delete_note

从请求中删除注释。

{
  "requestId": "req-1",
  "noteId": "note-1"
}

add_dependency

向请求或任务添加依赖项。

{
  "requestId": "req-1",
  "taskId": "task-1",
  "dependency": {
    "name": "react",
    "version": "^18.2.0",
    "description": "JavaScript library for building user interfaces",
    "url": "https://reactjs.org"
  }
}

📚 文档

有关项目架构和实施的更多详细信息,请参阅OVERVIEW.md文件。

📝 许可证

该项目根据 MIT 许可证获得许可 - 有关详细信息,请参阅LICENSE文件。

🤝 贡献

欢迎贡献!请参阅CONTRIBUTING.md文件以获取相关指南。

📜 更新日志

请参阅CHANGELOG.md文件了解该项目的变更历史记录。

🙏 致谢


由 Pink Pixel 用❤️制作

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/pinkpixel-dev/taskflow-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server