任务管理协议

一个完整的任务管理系统,支持创建、列表、搜索、完成、更新和删除任务,适用于本地和远程部署。

  • by Seika-Ai
  • Python
  • 本地部署
  • 更新于
在 GitHub 查看 Seika-Ai/task-manager-mcp

使用说明

任务管理器MCP

模拟完整任务管理系统的MCP(Model Context Protocol)服务器。它允许像Claude这样的LLM以交互方式创建、列出、搜索、完成、更新和删除任务。

现在支持在Railway、Render、Heroku等上远程部署!

特点

  • 综合任务管理:CRUD完成(创建、读取、更新、删除)
  • 优先级系统:高、中、低
  • 标签/标签:使用多个标签组织任务
  • 高级搜索:搜索标题和描述
  • 统计数据:获取系统度量
  • 内存中的数据:不需要数据库
  • 数据实例:用示例任务初始化
  • 双模式:支持本地使用(STDIO)和远程使用(SSE/HTTP)

使用方式

该服务器支持两种操作模式:

1.Modo本地(STDIO)

用于本地计算机上的Claude Desktop。服务器通过标准输入/输出进行通信。

2.莫多·雷莫托(SSE)

用于在Railway、Render、Heroku等云平台上部署。服务器公开HTTP/SSE终结点。


🚀 快速入门-重新部署铁路

第一步:准备存储库

# Clonar o descargar el proyecto
cd task-manager-mcp

# Inicializar git si no existe
git init
git add .
git commit -m "Initial commit"

帕索2:部署铁路

  1. Ve a 铁路 创建帐户
  2. 单击“新项目”
  3. Seleccina“从GitHub仓库部署”(o“从本地仓库部署”)
  4. 选择您的存储库
  5. Railway将自动检测Python并使用 Procfile

步骤3:在Railway中配置环境变量

在Railway仪表板上,转到您的项目并添加以下环境变量:

TRANSPORT=sse
HOST=0.0.0.0

备注:您不需要配置 PORT,铁路自动分配。

步骤4:获取公共URL

一旦部署,Railway将给您一个URL,例如:

https://your-app-name.up.railway.app

你的终点MCP将是:

https://your-app-name.up.railway.app/sse

步骤5:配置Claude Desktop以使用远程服务器

编辑您的克劳德桌面配置文件:

macOS: ~/Library/Application Support/Claude/claude_desktop_config.json 视窗: %APPDATA%\Claude\claude_desktop_config.json Linux: ~/.config/Claude/claude_desktop_config.json

{
  "mcpServers": {
    "task-manager-remote": {
      "url": "https://your-app-name.up.railway.app/sse"
    }
  }
}

Reemplaza: your-app-name.up.railway.app 用你真正的Railway URL。

步骤 6: 检查连接

  1. 完全重新启动克劳德桌面
  2. 开启新对话
  3. 您应该使用8个可用工具查看“任务管理器远程”
  4. 测试:“列出所有任务”

💻 克劳德桌面的本地使用

如果您更愿意在本地运行服务器:

1.安装

# Clonar o descargar el proyecto
cd task-manager-mcp

# Instalar dependencias
pip install -r requirements.txt

2.配置器Claude桌面

编辑配置文件:

{
  "mcpServers": {
    "task-manager": {
      "command": "python",
      "args": ["/ruta/completa/a/task-manager-mcp/server.py"]
    }
  }
}

重要:使用文件的绝对路径 server.py.

3.Reiniciar克劳德桌面

当您使用Claude Desktop时,服务器将自动启动。


🔧 在其他平台上部署

渲染

  1. 在中创建帐户 渲染
  2. Nuevo Web Service>连接存储库
  3. 配置:
    • 生成命令: pip install -r requirements.txt
    • 启动命令: python server.py
    • 环境变量:
      TRANSPORT=sse
      HOST=0.0.0.0
      PORT=10000
      
  4. 部署
  5. 美国网址: https://your-app.onrender.com/sse

Heroku

# Desde tu proyecto
heroku create your-app-name
heroku config:set TRANSPORT=sse
heroku config:set HOST=0.0.0.0
git push heroku main

网址: https://your-app-name.herokuapp.com/sse

Fly.io

fly launch
fly secrets set TRANSPORT=sse
fly secrets set HOST=0.0.0.0
fly deploy

网址: https://your-app.fly.dev/sse


🧪 SSE模式下的本地测试

要在部署前在本地测试SSE模式:

# Configurar variables de entorno
export TRANSPORT=sse
export HOST=127.0.0.1
export PORT=8000

# Ejecutar servidor
python server.py

你应该看看:

🚀 Iniciando Task Manager MCP...
📊 5 tareas de ejemplo creadas
🌐 Modo REMOTO (SSE)
🔗 URL: http://127.0.0.1:8000/sse
📡 Escuchando en 127.0.0.1:8000
✅ Servidor listo para conexiones remotas

配置器Claude桌面:

{
  "mcpServers": {
    "task-manager-local-sse": {
      "url": "http://127.0.0.1:8000/sse"
    }
  }
}

📚 可用工具

服务器公开了克劳德可以使用的8种工具:

1. crear_tarea

在系统中创建新任务。

参数:

  • titulo (必需):任务标题(最多200个字符)
  • descripcion (可选):详细说明
  • prioridad (可选):“低”、“中”或“高”(默认值:“中”)
  • etiquetas (可选):标签/标签列表

使用示例:

"Crea una tarea llamada 'Revisar código' con prioridad alta y etiquetas desarrollo y urgente"

2. listar_tareas

使用可选筛选器列出所有任务。

参数:

  • filtro (可选):“所有”、“待定”或“已完成”(默认值:“所有”)
  • prioridad (可选):按特定优先级过滤
  • etiqueta (可选):按特定标签过滤

使用示例:

"Lista todas las tareas pendientes con prioridad alta"

3. completar_tarea

将任务标记为已完成。

参数:

  • task_id (必需):要完成的任务的ID

使用示例:

"Marca como completada la tarea 1"

4. buscar_tareas

按标题或描述中的文本搜索任务。

参数:

  • query (必需):要搜索的文本(不区分大小写)
  • buscar_en (可选):“两者”、“标题”或“描述”(默认值:“两者”)

使用示例:

"Busca tareas que mencionen 'código'"

5. obtener_tarea

获取特定任务的完整详细信息。

参数:

  • task_id (必需):任务ID

使用示例:

"Muéstrame los detalles de la tarea 3"

6. actualizar_tarea

更新现有任务的字段。

参数:

  • task_id (必需):要更新的任务的ID
  • titulo (可选):新标题
  • descripcion (可选):新描述
  • prioridad (可选):新的优先事项
  • etiquetas (可选):新标签

使用示例:

"Actualiza la tarea 2 para que tenga prioridad baja y añade la etiqueta documentación"

7. eliminar_tarea

永久删除任务。

参数:

  • task_id (必需):要删除的任务的ID

使用示例:

"Elimina la tarea 5"

8. obtener_estadisticas

获取系统的一般统计数据。

参数: 没有

使用示例:

"Muéstrame las estadísticas del sistema"

💡 使用示例

在Claude Desktop中配置后,您可以使用自然提示:

  1. 创建任务:

    "Crea una tarea llamada 'Hacer deployment' con prioridad alta y etiquetas devops y producción"
    
  2. 列出和筛选:

    "Lista todas las tareas pendientes"
    "Muéstrame tareas con prioridad alta"
    "¿Qué tareas tengo con la etiqueta desarrollo?"
    
  3. 搜索:

    "Busca tareas que mencionen 'código'"
    "Encuentra tareas sobre documentación"
    
  4. 管理:

    "Completa la tarea 1"
    "Cambia la prioridad de la tarea 2 a baja"
    "Elimina la tarea 3"
    
  5. 前卫工作流程:

    "Crea 3 tareas para el sprint: desarrollo, testing y docs.
    Luego muéstrame estadísticas del sistema"
    

📁 项目结构

task-manager-mcp/
├── server.py           # Servidor MCP con 8 tools
├── requirements.txt    # Dependencias Python
├── Procfile           # Configuración para Railway/Heroku
├── railway.json       # Configuración específica Railway
├── .env.example       # Template de variables de entorno
└── README.md          # Esta documentación

🔒 数据模型

每个任务都有以下结构:

{
    "id": 1,                           # ID único (auto-incrementado)
    "titulo": "Revisar código",        # Título de la tarea
    "descripcion": "Code review...",   # Descripción detallada
    "completada": false,               # Estado de completado
    "prioridad": "alta",               # Prioridad: baja, media, alta
    "creada_en": "2024-11-12T...",     # Timestamp ISO 8601
    "completada_en": null,             # Timestamp cuando se completó
    "etiquetas": ["desarrollo"]        # Lista de etiquetas
}

⚙️ 环境变量

变量 值 默认 描述
TRANSPORT stdio / sse stdio 服务器传输方式
HOST 0.0.0.0 / 127.0.0.1 0.0.0.0 SSE 模式的主机
PORT 任何港口 8000 波多黎各为modo SSE

帕拉铁路:您只需要配置 TRANSPORT=sse.铁路 PORT 自动。


🐛 故障排除

远程服务器没有响应

  • 验证环境变量是否正确配置
  • 检查Railway/Render上的服务日志
  • 确保URL以 /sse

Claude Desktop没有检测到远程服务器

  • 验证URL是否正确并以 /sse
  • 完全重新启动克劳德桌面
  • 验证服务器是否正在运行(访问浏览器中的URL)

铁路连接错误

  • 确保 HOST=0.0.0.0 (编号127.0.0.1)
  • 验证端口是否为Railway分配的端口($PORT)
  • 检查铁路部署日志

本地服务器没有启动

  • 测试 Python 3.10+: python --version
  • 重新安装依赖项: pip install -r requirements.txt --upgrade
  • 验证没有其他进程使用该端口

🆚 比较:本地与远程

外观 本地(STDIO) 远程(SSE)
配置 更简单 需要部署
速度 更快 取决于网络
分享 仅限您的机器 可从互联网访问
成本 免费 免费(免费Tier)或付款
数据持久性 在内存中(关闭时丢失) 在内存中(重新启动时丢失)
理想段落 个人开发和使用 生产和设备

建议:使用本地进行开发,远程进行生产,或者如果您想与您的团队共享。


📊 数据实例

系统初始化时有5个示例任务:

  • 优先事项组合(高、中、低)
  • 已完成和未完成的任务
  • 有或没有描述
  • 多个不同的标签

这些数据仅在内存中,在服务器重新启动时丢失。


⚠️ 限制

  • 没有坚持:数据在重新启动时丢失(本地和远程)
  • 没有身份验证:没有干草控制
  • 没有竞争:专为单用户使用
  • Sin API REST:仅作为MCP服务器工作

这些限制是为了使项目保持简单和教育性。


🚀 下一步

安装后:

  1. 先进行局部测试:确保它在本地工作
  2. 部署铁路:遵循快速开始指南
  3. 配置克劳德桌面:URL删除用法
  4. 实验:创建、修改和管理任务

📞 支持

铁路问题

FASTMCP的问题

克劳德桌面问题


👨‍💻 作者

亨利@Seika AI

  • 版本:2.0
  • 日期:2024-11-12
  • 用途:具有本地和远程支持的MCP服务器

📝 更新日志

v2.0(2024-11-12)

  • 添加了对远程部署(SSE)的支持
  • 使用环境变量配置
  • 铁路部署文件,渲染,Heroku
  • 更新了部署指南文件
  • 双模式:本地(STDIO)和远程(SSE)

v1.0(2024-11-12)

  • 初始版本
  • 8个CRUD工具
  • 仅本地支持(STDIO)
  • 内存中的数据

喜欢从任何地方与克劳德一起管理你的任务!🌐🚀