Skip to main content
Glama
TaskWarrior MCP Server

TaskWarrior MCP Server

by awwaiid

TaskWarrior MCP Server

Node.js server implementing Model Context Protocol (MCP) for TaskWarrior operations.

Features

  • View pending tasks

  • Filter tasks by project and tags

  • Add new tasks with descriptions, due dates, priorities, projects and tags

  • Mark tasks as complete

Note: This runs your local task binary, so TaskWarrior needs to be installed and configured!

WARNING

This currently uses taskid which is an unstable identifier; taskwarrior sometimes renumbers tasks when new ones are added or removed. In the future this should be more careful, using task UUID instead.

Related MCP server: TickTick MCP Server

API

Tools

  • get_next_tasks

    • Get a list of all pending tasks

    • Optional filters:

      • project: Filter by project name

      • tags: Filter by one or more tags

  • add_task

    • Add a new task to TaskWarrior

    • Required:

      • description: Task description text

    • Optional:

      • due: Due date (ISO timestamp)

      • priority: Priority level ("H", "M", or "L")

      • project: Project name (lowercase with dots)

      • tags: Array of tags (lowercase)

  • mark_task_done

    • Mark a task as completed

    • Required:

      • identifier: Task ID or UUID

Usage with Claude Desktop

Add this to your claude_desktop_config.json:

{
  "mcpServers": {
    "taskwarrior": {
      "command": "npx",
      "args": [
        "-y",
        "mcp-server-taskwarrior"
      ]
    }
  }
}

Installation

npm install -g mcp-server-taskwarrior

Make sure you have TaskWarrior (task) installed and configured on your system.

Example usage ideas:

  • What are my current work tasks?

    • Executes: task project:work next

  • TODO: Call my sister (high priority)

    • Executes: task add priority:H Call my sister

  • OK, I've called my sister

    • Executes: task done 1

License

This MCP server is licensed under the MIT License. See the LICENSE file for details.

Available Tools

3 tools
add_taskD

Add a new task

Inputs: description (required), due, priority, project, +1 more.

get_next_tasksC

Get a list of all pending tasks

Inputs: project, tags.

mark_task_doneC

Mark a task as done (completed)

Inputs: identifier (required).

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

Loading tool schema changelog…

    TDQS

    C2.7/5.0

    Scored across 3 tools

    Disambiguation5/5

    Each tool has a clearly distinct purpose: add_task creates new tasks, get_next_tasks retrieves pending tasks, and mark_task_done updates task status to completed. There is no overlap or ambiguity between these three core operations.

    Naming Consistency5/5

    All tools follow a consistent verb_noun pattern (add_task, get_next_tasks, mark_task_done) with clear action verbs and descriptive nouns. The naming is predictable and readable throughout.

    Tool Count3/5

    With only 3 tools, the server feels thin for task management. While the tools cover basic operations, typical task management systems benefit from more functionality like updating tasks, deleting tasks, or filtering/searching. The count is borderline minimal for the domain.

    Completeness3/5

    The tools provide basic CRUD coverage for tasks (create, read, update via marking done), but there are notable gaps. Missing operations include updating task details (beyond marking done), deleting tasks, and filtering/searching tasks beyond 'next' tasks. This limits agent flexibility in handling complex task workflows.

    Maintenance

    ActivityNo data
    ResponsivenessOutdated data

    Related MCP Connectors

    Related MCP Servers