任务管理服务器

一个基于Minimal Control Protocol (MCP)的任务管理服务器,提供任务的创建、列表、更新、完成和删除功能,支持优先级设置和数据持久化。

  • by rjskinnaindahizzy
  • Python
  • 本地部署
  • 1 星标
  • 更新于
在 GitHub 查看 rjskinnaindahizzy/task_manager

使用说明

任务管理器MCP服务器

这个仓库包含一个最小化的(版本/配置/实现等,具体根据上下文确定) 最小控制协议(MCP) 展示构建类型化、可文档化的工具最佳实践的服务器 FastMCP它提供了一个简单的内存中任务追踪器,该追踪器在运行之间会持久化到磁盘,并且可以从任何MCP兼容的客户端调用。

特点/功能

  • 创建新任务,可选择添加描述,并设置低/中/高优先级。
  • 列出任务,并根据状态和优先级应用过滤器,返回JSON或Markdown格式的输出。
  • 更新现有任务的标题、描述或优先级。
  • 将任务标记为已完成,并记录完成时间戳。
  • 删除任务,同时所有数据都将持久化保存至 ~/.task_manager_data.json。

要求

  • Python 3.10 或更高版本。
  • Python 包: mcp (提供 FastMCP) 和 pydantic。
python -m venv .venv
source .venv/bin/activate
pip install mcp pydantic

运行服务器

python task_manager_mcp.py

服务器启动时,会加载任何已存在的任务 ~/.task_manager_data.json 并注册以下列出的工具。使用您偏好的MCP客户端(例如,Claude Desktop或其他支持MCP的代理)连接到它,并将目标服务器指定为 task_manager_mcp。

可用工具

工具 描述 关键参数
create_task 创建一个具有唯一ID的待处理任务 title (必填),可选 description, priority (low/medium/high,默认为 medium)。
list_tasks 根据可选过滤器检索任务。默认返回Markdown格式,或根据请求返回JSON格式。 status (pending/completed/all) priority (low/medium/high) format (markdown 或者 json)。
update_task 修改任务的标题、描述或优先级。 task_id 无需更新任何其他字段。
complete_task 将任务标记为已完成并记录时间戳。 task_id。
delete_task 永久删除任务。 task_id。

每个工具都使用Pydantic模型验证输入,并返回简洁的成功或错误消息。如果找不到任务,服务器会建议列出任务以发现有效的ID。

数据持久化

  • 任务在进程运行时存储在内存中,并保存到 ~/.task_manager_data.json 在任何修改之后。
  • JSON文件记录了任务元数据以及用于任务ID的自增计数器。
  • 删除该文件以重置服务器状态。

开发说明

  • 列出任务时,任务会按优先级(从高到低)和创建时间排序。
  • Markdown响应中包含用于状态和优先级的表情符号标记,以提高聊天客户端中的可读性。
  • 服务器在适当的情况下被设计为幂等的(list_task, complete_task,以及 delete_task 优雅地处理重复调用)。

请随意 Fork 这个项目,并根据您的 MCP 集成需求调整工具或存储层。