任务管理服务器

一个基于模型上下文协议(MCP)的任务管理服务器,提供项目组织、任务跟踪和PRD解析功能。

  • by tradesdontlie
  • Python
  • 本地部署
  • 38 星标
  • 更新于
在 GitHub 查看 tradesdontlie/task-manager-mcp

使用说明

任务管理器MCP服务器

模板实现 模型上下文协议(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:获取基于人工智能的下一步建议

先决条件

  • Python 3.12+
  • 所选LLM提供商的API密钥(OpenAI、OpenRouter或Ollama)
  • 如果将MCP服务器作为容器运行,则使用Docker(推荐)

安装

使用紫外线

  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 文件基于 .env.example:

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

使用Docker(推荐)

  1. 构建Docker镜像:

    docker build -t mcp/mem0 --build-arg PORT=8050 .
    
  2. 创建一个 .env 文件基于 .env.example 并配置您的环境变量

配置

以下环境变量可以在您的 .env 文件:

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

运行服务器

使用Python 3

# Set TRANSPORT=sse in .env then:
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="Configure the development environment with required tools",
    subtasks=[
        "Install dependencies",
        "Configure linters",
        "Set up testing framework"
    ]
)
  1. 解析PRD以自动创建任务:
await mcp.parse_prd(
    project_name="my-project",
    prd_content="# Your PRD content..."
)

管理任务

  1. 更新任务状态:
await mcp.update_task_status(
    project_name="my-project",
    task_title="Setup Development Environment",
    subtask_title="Install dependencies",
    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="Implement Authentication"
)

开发工作流程

  1. 为任务生成文件模板:
await mcp.generate_task_file(
    project_name="my-project",
    task_title="User Authentication"
)
  1. 获取任务复杂性估计值:
complexity = await mcp.estimate_task_complexity(
    project_name="my-project",
    task_title="User Authentication"
)
  1. 获取下一步行动的建议:
suggestions = await mcp.suggest_next_actions(
    project_name="my-project",
    task_title="User Authentication"
)

与MCP客户端集成

SSE配置

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

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

标准配置

对于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. 与您现有的开发工具和流程集成