用途
mcp-server-taskwarrior 是一个基于 Node.js 的服务器,实现了 Model Context Protocol(MCP),用于将本地 TaskWarrior 任务管理功能接入支持 MCP 的客户端(如 Claude Desktop)。用户可以通过自然语言与 TaskWarrior 交互,无需直接输入命令。
主要能力
- 查看待办任务:获取所有未完成任务的列表。
- 筛选任务:支持按项目名称和标签进行可选筛选。
- 添加任务:可添加新任务,需提供描述;可选指定截止日期(ISO 时间戳)、优先级("H"、"M"、"L")、项目名称(小写、点分隔)和标签数组(小写)。
- 标记完成:通过任务 ID 或 UUID 将任务标记为已完成。
使用方式
- 确保本地已安装并配置 TaskWarrior(task 命令)。
- 在 MCP 客户端(如 Claude Desktop)的配置文件 claude_desktop_config.json 中添加该服务器配置(具体配置方式见项目文档)。
- 通过自然语言向客户端发出指令,例如:
- "What are my current work tasks?" 执行 task project:work next
- "TODO: Call my sister (high priority)" 执行 task add priority:H Call my sister
- "OK, I've called my sister" 执行 task done 1
适用场景
适用于已使用 TaskWarrior 管理个人任务,并希望通过 MCP 客户端(如 Claude Desktop)以自然语言进行任务查看、添加和完成的用户。
限制
- 依赖本地已安装并配置的 TaskWarrior。
- 当前使用 task id 作为标识符,而 TaskWarrior 在新任务添加或移除时可能重新编号,导致 id 不稳定。未来计划改用 task UUID 以解决此问题。
- 项目名称要求小写、点分隔;标签要求小写。
- 截止日期需使用 ISO 时间戳格式。
- 该项目采用 MIT 许可证。