任务管理MCP服务器

一个最小化、生产就绪的MCP服务器,将Taskwarrior功能暴露给AI助手如Claude和Kiro CLI,实现任务管理自动化。

  • by camerondurham
  • JavaScript
  • 本地部署
  • 2 星标
  • 更新于
在 GitHub 查看 camerondurham/taskwarrior-mcp

使用说明

Taskwarrior MCP服务器

一个最小的、生产质量的MCP(模型上下文协议)服务器,向Claude和Kiro CLI等人工智能助手公开Taskwarrior功能。

特性

  • 5核心工具:

    • list_tasks -列出带有可选筛选器的任务
    • add_task -使用属性创建新任务
    • complete_task -将任务标记为已完成
    • modify_task -更新任务属性
    • get_task -获取单任务详细信息
  • 生产就绪:

    • 具有严格模式的TypeScript
    • 全面的测试套件
    • 优雅的错误处理
    • 最小依赖性

先决条件

  • Node.js 18+
  • 任务战士 已安装并配置
  • 现有Taskwarrior数据(或空设置)

安装

# Clone or download this repository
cd taskwarrior-mcp

# Install dependencies
npm install

# Build
npm run build

# Run tests
npm test

使用Kiro CLI

添加到您的 ~/.kiro/settings/mcp.json:

{
  "mcpServers": {
    "taskwarrior": {
      "command": "node",
      "args": ["/Users/camdurha/tools/taskwarrior-mcp/dist/index.js"],
      "disabled": false,
      "autoApprove": ["list_tasks", "get_task"]
    }
  }
}

重要:替换 /Users/camdurha/tools/taskwarrior-mcp 你的实际绝对路径。

然后重新启动Kiro CLI并验证:

kiro-cli
> /mcp
# Should show taskwarrior server loaded

> list my tasks due today
# Should return your tasks

使用Claude Desktop

添加到您的Claude Desktop MCP设置文件中:

macOS: ~/Library/Application Support/Claude/claude_desktop_config.json

视窗: %APPDATA%\Claude\claude_desktop_config.json

{
  "mcpServers": {
    "taskwarrior": {
      "command": "node",
      "args": ["/absolute/path/to/taskwarrior-mcp/dist/index.js"]
    }
  }
}

重新启动Claude Desktop,工具将可用。

工具示例

列出任务

Filter: "due:today"
Filter: "+work"
Filter: "project:hoth"
Filter: "priority:H"

添加任务

{
  "description": "Review pull request",
  "due": "tomorrow",
  "priority": "H",
  "project": "work",
  "tags": ["urgent", "review"]
}

完成任务

{
  "id": 42
}

修改任务

{
  "id": 42,
  "priority": "L",
  "due": "next week"
}

获取任务

{
  "id": 42
}

发展

# Run tests
npm test

# Build
npm run build

# Test server manually
echo '{"jsonrpc":"2.0","id":1,"method":"tools/list"}' | npm start

建筑

  • src/types.ts -Task数据的TypeScript接口
  • src/taskwarrior.ts -包装周围 task CLI使用 task export
  • src/index.ts -MCP服务器实现
  • tests/taskwarrior.test.ts -配备独立TASKDATA的全面测试套件

局限性

  • 已完成的任务 id: 0 在Taskwarrior导出中,因此 get_task 对已完成的任务使用基于位置的查找
  • 过滤器使用Taskwarrior的原生语法(请参见 man task 详情)
  • 一些Taskwarrior单词是保留的(例如,“修改”是一个日期字段)

许可证

麻省理工学院

元

使用Kiro CLI构建,为Kiro CLI创建MCP服务器。 🤖