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:获取基于AI的下一步建议如果没有安装uv,请先安装:
pip install uv
克隆此仓库:
git clone https://github.com/coleam00/mcp-mem0.git
cd mcp-mem0
安装依赖项:
uv pip install -e .
根据.env.example创建.env文件:
cp .env.example .env
在.env文件中配置环境变量(参见配置部分)
构建Docker镜像:
docker build -t mcp/mem0 --build-arg PORT=8050 .
根据.env.example创建.env文件,并配置环境变量
您可以在.env文件中配置以下环境变量:
| 变量 | 描述 | 示例 |
|---|---|---|
TRANSPORT | 传输协议(sse或stdio) | sse |
HOST | 使用SSE传输时绑定的主机 | 0.0.0.0 |
PORT | 使用SSE传输时监听的端口 | 8050 |
# 在.env中设置TRANSPORT=sse后:
python3 src/main.py
服务器将在配置的主机和端口上启动(默认:http://0.0.0.0:8050)。
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="配置所需的开发环境工具",
subtasks=[
"安装依赖项",
"配置代码检查工具",
"设置测试框架"
]
)
await mcp.parse_prd(
project_name="my-project",
prd_content="# 您的PRD内容..."
)
await mcp.update_task_status(
project_name="my-project",
task_title="Setup Development Environment",
subtask_title="安装依赖项",
status="done"
)
next_task = await mcp.get_next_task(project_name="my-project")
await mcp.expand_task(
project_name="my-project",
task_title="实现认证"
)
await mcp.generate_task_file(
project_name="my-project",
task_title="用户认证"
)
complexity = await mcp.estimate_task_complexity(
project_name="my-project",
task_title="用户认证"
)
suggestions = await mcp.suggest_next_actions(
project_name="my-project",
task_title="用户认证"
)
使用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()装饰器添加新的任务管理工具