返回市场
任务管理器-MCP

任务管理器-MCP

作者:tradesdontlie30 星标更新:2025-04-17

项目介绍

Task Manager MCP Server

MCP(模型上下文协议)服务器的一个模板实现,用于管理和跟踪任务及项目。此服务器提供了一个全面的任务管理系统,支持项目组织、任务跟踪以及PRD解析。

概述

该项目展示了如何构建一个MCP服务器,使AI代理能够管理任务、跟踪项目进度并自动将产品需求文档(PRD)分解为可执行任务。它作为创建具有任务管理功能的自定义MCP服务器的实际模板。

该实现遵循Anthropic为构建MCP服务器制定的最佳实践,允许与任何兼容MCP的客户端无缝集成。

功能

服务器提供了几个基本的任务管理工具:

  1. 任务管理

    • create_task_file:创建新的项目任务文件
    • add_task:向项目添加任务及其描述和子任务
    • update_task_status:更新任务及其子任务的状态
    • get_next_task:获取项目中的下一个未完成任务
  2. 项目规划

    • parse_prd:自动将PRD转换为结构化任务
    • expand_task:将任务分解为更小的可管理子任务
    • estimate_task_complexity:估算任务复杂度和所需时间
    • get_task_dependencies:追踪任务依赖关系
  3. 开发支持

    • generate_task_file:根据任务描述生成文件模板
    • suggest_next_actions:获取基于AI的下一步建议

预备条件

  • Python 3.12+
  • 选择的LLM提供商(如OpenAI、OpenRouter或Ollama)的API密钥
  • 如果以容器形式运行MCP服务器,则需要Docker(推荐)

安装

使用uv

  1. 如果没有安装uv,请先安装:

    pip install uv
    
  2. 克隆此仓库:

    git clone https://github.com/coleam00/mcp-mem0.git
    cd mcp-mem0
    
  3. 安装依赖项:

    uv pip install -e .
    
  4. 根据.env.example创建.env文件:

    cp .env.example .env
    
  5. .env文件中配置环境变量(参见配置部分)

使用Docker(推荐)

  1. 构建Docker镜像:

    docker build -t mcp/mem0 --build-arg PORT=8050 .
    
  2. 根据.env.example创建.env文件,并配置环境变量

配置

您可以在.env文件中配置以下环境变量:

变量描述示例
TRANSPORT传输协议(sse或stdio)sse
HOST使用SSE传输时绑定的主机0.0.0.0
PORT使用SSE传输时监听的端口8050

运行服务器

使用Python 3

# 在.env中设置TRANSPORT=sse后:
python3 src/main.py

服务器将在配置的主机和端口上启动(默认:http://0.0.0.0:8050)。

使用Docker

docker build -t task-manager-mcp .
docker run --env-file .env -p 8050:8050 task-manager-mcp

使用任务管理器

创建新项目

  1. 为您的项目创建任务文件:
await mcp.create_task_file(project_name="my-project")
  1. 向项目添加任务:
await mcp.add_task(
    project_name="my-project",
    title="Setup Development Environment",
    description="配置所需的开发环境工具",
    subtasks=[
        "安装依赖项",
        "配置代码检查工具",
        "设置测试框架"
    ]
)
  1. 解析PRD以自动创建任务:
await mcp.parse_prd(
    project_name="my-project",
    prd_content="# 您的PRD内容..."
)

管理任务

  1. 更新任务状态:
await mcp.update_task_status(
    project_name="my-project",
    task_title="Setup Development Environment",
    subtask_title="安装依赖项",
    status="done"
)
  1. 获取下一个要处理的任务:
next_task = await mcp.get_next_task(project_name="my-project")
  1. 将任务扩展为子任务:
await mcp.expand_task(
    project_name="my-project",
    task_title="实现认证"
)

开发工作流

  1. 为任务生成文件模板:
await mcp.generate_task_file(
    project_name="my-project",
    task_title="用户认证"
)
  1. 获取任务复杂度估计:
complexity = await mcp.estimate_task_complexity(
    project_name="my-project",
    task_title="用户认证"
)
  1. 获取下一步操作建议:
suggestions = await mcp.suggest_next_actions(
    project_name="my-project",
    task_title="用户认证"
)

与MCP客户端集成

SSE配置

使用SSE传输连接到服务器时,使用以下配置:

{
  "mcpServers": {
    "task-manager": {
      "transport": "sse",
      "url": "http://localhost:8050/sse"
    }
  }
}

Stdio配置

对于stdio传输,使用以下配置:

{
  "mcpServers": {
    "task-manager": {
      "command": "python3",
      "args": ["src/main.py"],
      "env": {
        "TRANSPORT": "stdio",
        "LLM_PROVIDER": "openai",
        "LLM_API_KEY": "YOUR-API-KEY",
        "LLM_CHOICE": "gpt-4"
      }
    }
  }
}

构建自己的服务器

此模板为构建更复杂的任务管理MCP服务器提供了基础。要扩展它:

  1. 使用@mcp.tool()装饰器添加新的任务管理工具
  2. 实现自定义的任务分析和自动化功能
  3. 添加特定项目的任务模板和工作流程
  4. 与现有的开发工具和流程集成