使用说明
MCP任务管理服务器
一个高级的模型上下文协议(MCP)服务器,用于进行全面的任务管理,包括组、自定义状态、任务关系和人工智能集成。现在由SQLite提供支持,以提高性能和可靠性。
特性
- 任务管理:使用丰富的元数据创建、更新、删除和搜索任务
- 批量操作:同时创建、更新和更改多个任务的状态
- 任务组:将任务组织到项目、区域或任何自定义分组中
- 自定义状态:使用颜色和描述定义自己的工作流状态
- 任务参考:创建任务之间的关系(块、关联、子任务等)
- 状态历史:使用时间戳自动跟踪状态变化
- Markdown支持:任务描述支持完整的markdown格式
- AI友好:专为AI助手在对话过程中自动管理任务而设计
- 永久存储:SQLite数据库,可自动从JSON格式迁移
安装
- 克隆或下载此存储库
- 安装依赖项:
npm install - 构建项目:
npm run build
用法
作为MCP服务器
添加到您的MCP客户端配置中(例如,Claude Desktop):
{
"mcpServers": {
"mcp-task": {
"command": "node",
"args": ["/path/to/mcp-task/build/index.js"]
}
}
}
直接使用
您也可以直接运行服务器:
npm start
数据存储
SQLite数据库(默认)
服务器现在使用 SQLite 作为默认数据库,可提高性能、可靠性和数据完整性。任务存储在 ~/.mcp-tasks.sqlite.
SQLite的优点:
- 大型数据集的性能更好
- ACID事务确保数据一致性
- 结构化查询和索引
- 从JSON格式自动迁移
传统JSON支持
为了兼容性,服务器仍然可以通过设置环境变量来使用JSON存储:
export MCP_TASK_USE_SQLITE=false
自动迁移: 从JSON升级到SQLite时,服务器会自动迁移您现有的 ~/.mcp-tasks.json 将数据转换为新的SQLite格式。
可用工具
任务操作
- 创建任务:使用标题、描述、状态、组、优先级、标签、受让人、截止日期和时间估计值创建新任务
- update_task:更新任何任务属性。状态更改会自动跟踪时间戳
- 获取任务:获取详细的任务信息,包括历史和参考
- list_tasks:按状态、组、受让人、标签、优先级、截止日期或搜索词列出和筛选任务
- 删除任务:删除任务并删除对它的所有引用
批量操作
- bulk_create_tasks:使用共享属性(组、状态、受让人、标签)一次创建多个任务
- bulk_update_tasks:使用相同的更改同时更新多个任务
- bulk_change_status:使用可选注释一次更改多个任务的状态
组管理
- 创建组:创建任务组以组织相关任务(项目、区域等)
- list_groups:列出所有包含元数据的组
- 删除组:删除组(任务保留但未分组)
状态管理
- 创建状态:使用颜色和描述创建自定义工作流状态
- list_status:列出所有可用状态
- 删除状态:删除自定义状态(不能删除默认或正在使用的状态)
任务关系
- add_task_reference:创建任务之间的关系:
blocks/blocked-by:依赖关系relates-to:一般关系duplicates:重复任务child-of/parent-of:层次关系
- remove_task_reference:删除任务关系
- get_task_references:查看所有传入和传出的任务引用
人工智能集成
此MCP服务器专为AI助手设计,用于:
- 自动创建任务 当用户提到他们需要做的工作时
- 更新任务状态 随着对话中工作的进展
- 分解复杂的请求 转化为具有引用的可管理子任务
- 跟踪项目进度 通过将任务组织成小组
- 管理依赖关系 通过创建任务引用
- 提供上下文 通过搜索和过滤现有任务
- 处理批量操作 高效的项目设置和团队管理
AI使用模式示例
从对话中创建任务:
User: "I need to implement user authentication and then build the dashboard"
AI: Creates two tasks:
- "Implement user authentication"
- "Build dashboard" (with "blocked-by" reference to auth task)
状态跟踪:
User: "I finished the login form"
AI: Updates relevant task status to "Done" and adds completion timestamp
项目组织:
User: "Let's start working on the mobile app redesign"
AI: Creates a "Mobile App Redesign" group and organizes related tasks
批量项目设置:
User: "I need to set up tasks for the Q1 marketing campaign"
AI: Uses bulk_create_tasks to create multiple related tasks at once:
- "Design campaign assets", "Write copy", "Set up analytics", etc.
团队工作流程管理:
User: "Move all the design tasks to review status"
AI: Uses bulk_change_status to transition multiple tasks simultaneously
数据模型
任务属性
- 基本信息:ID、标题、描述、摘要
- 组织:状态、组、优先级、标签、受让人
- 时机:截止日期、预计小时数、实际小时数
- 追踪:创建/更新的时间戳、完成日期
- 关系:引用其他任务
- 历史:完整的状态更改历史记录
任务状态
默认状态包括“待办事项”、“进行中”和“完成”,但您可以创建自定义状态,如“审核”、“测试”、“阻止”等。
任务组
将任务组织成逻辑组,如:
- 项目(“网站重新设计”、“移动应用程序”)
- 领域(“营销”、“开发”、“运营”)
- 背景(“家”、“办公室”、“旅行”)
任务参考
模型复杂关系:
- 依赖项:任务A阻止任务B
- 层级:父/子任务关系
- 相关工作:相互关联的任务
- 重复项:标记重复任务
完整的工具参考
服务器提供 17个综合工具 专为AI助手设计:
任务操作:创建任务、更新任务、获取任务、列表任务、删除任务 批量操作:bulk_create_tasks、bulk_update_tasks和bulk_change_status 群组:创建组、列表组、删除组 状态:创建状态、列表状态、删除状态 参考文献:add_task_reference、remove_task_rereference、get_task_references
批量操作详解
bulk_create_tasks:非常适合项目初始化、将大型计划分解为子任务或导入任务列表。支持应用于所有任务的共享属性(组、状态、受让人、标签),同时允许对单个任务进行自定义。
bulk_update_tasks:非常适合团队管理场景,如重新分配多个任务、更新整个项目的优先级或将截止日期更改应用于相关任务。
bulk_change_status:对于工作流管理至关重要,例如在管道阶段移动多个任务、将冲刺任务标记为已完成或转换项目阶段。
每个工具都包括全面的错误处理、详细的结果报告,即使在部分故障期间也能保持数据完整性。
发展
构建
npm run build
自动重建开发模式
npm run dev
项目结构
src/
├── types.ts # TypeScript type definitions
├── database.ts # Data persistence and management
└── index.ts # MCP server implementation
许可证
ISC许可证
