使用说明
任务管理器MCP服务器
模板实现 模型上下文协议(MCP) 用于管理任务和项目的服务器。该服务器提供了一个全面的任务管理系统,支持项目组织、任务跟踪和PRD解析。
概述
该项目演示了如何构建一个MCP服务器,使AI代理能够管理任务、跟踪项目进度,并将产品需求文档(PRD)分解为可操作的任务。它可作为创建具有任务管理功能的MCP服务器的实用模板。
该实现遵循Anthropic为构建MCP服务器制定的最佳实践,允许与任何兼容MCP的客户端无缝集成。
特性
服务器提供了几个基本的任务管理工具:
-
任务管理
create_task_file:创建新的项目任务文件add_task:将任务添加到具有描述和子任务的项目中update_task_status:更新任务和子任务的状态get_next_task:从项目中获取下一个未完成的任务
-
项目规划
parse_prd:自动将PRD转换为结构化任务expand_task:将任务分解为更小、可管理的子任务estimate_task_complexity:估计任务复杂性和时间要求get_task_dependencies:跟踪任务依赖关系
-
开发支持
generate_task_file:根据任务描述生成文件模板suggest_next_actions:获取基于人工智能的下一步建议
先决条件
- Python 3.12+
- 所选LLM提供商的API密钥(OpenAI、OpenRouter或Ollama)
- 如果将MCP服务器作为容器运行,则使用Docker(推荐)
安装
使用紫外线
-
如果没有,请安装uv:
pip install uv -
克隆此存储库:
git clone https://github.com/coleam00/mcp-mem0.git cd mcp-mem0 -
安装依赖项:
uv pip install -e . -
创建一个
.env文件基于.env.example:cp .env.example .env -
在中配置环境变量
.env文件(请参阅配置部分)
使用Docker(推荐)
-
构建Docker镜像:
docker build -t mcp/mem0 --build-arg PORT=8050 . -
创建一个
.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
使用任务管理器
创建新项目
- 为您的项目创建任务文件:
await mcp.create_task_file(project_name="my-project")
- 将任务添加到项目中:
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"
]
)
- 解析PRD以自动创建任务:
await mcp.parse_prd(
project_name="my-project",
prd_content="# Your PRD content..."
)
管理任务
- 更新任务状态:
await mcp.update_task_status(
project_name="my-project",
task_title="Setup Development Environment",
subtask_title="Install dependencies",
status="done"
)
- 获取下一个要处理的任务:
next_task = await mcp.get_next_task(project_name="my-project")
- 将任务展开为子任务:
await mcp.expand_task(
project_name="my-project",
task_title="Implement Authentication"
)
开发工作流程
- 为任务生成文件模板:
await mcp.generate_task_file(
project_name="my-project",
task_title="User Authentication"
)
- 获取任务复杂性估计值:
complexity = await mcp.estimate_task_complexity(
project_name="my-project",
task_title="User Authentication"
)
- 获取下一步行动的建议:
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服务器提供了基础。要扩展它:
- 使用添加新的任务管理工具
@mcp.tool()装饰器 - 实现自定义任务分析和自动化功能
- 添加特定于项目的任务模板和工作流
- 与您现有的开发工具和流程集成
