Command Palette

Search for a command to run...

UnylyUnyly
Browse all

Questlog

FreeNot checked

An MCP server that wraps the Taskwarrior CLI to allow AI assistants to create, query, modify, and manage tasks directly from agentic coding tools.

GitHubEmbed

About

An MCP server that wraps the Taskwarrior CLI to allow AI assistants to create, query, modify, and manage tasks directly from agentic coding tools.

README

CI npm version License: MIT

An MCP server that exposes Taskwarrior task management to AI assistants and agentic coding tools. It wraps the task CLI and surfaces a set of structured tools for creating, querying, modifying, and managing tasks directly from your AI coding environment.

Requirements

  • Taskwarrior v3.x (v2 is not supported)
  • Node.js v18 or later

Install Taskwarrior

macOS (Homebrew):

brew install task

Linux (apt):

sudo apt install taskwarrior

Verify the installation and confirm you are on version 3:

task --version

Tools

Tool Description
task_list List tasks with an optional Taskwarrior filter string
task_get Get a single task by its numeric ID
task_add Add a new task with optional project, priority, tags, and due date
task_bulk_add Add multiple tasks at once
task_complete Mark a task as complete by ID
task_modify Modify an existing task's description, project, priority, tags, or due date
task_delete Delete a task by ID
task_annotate Add an annotation (note) to a task
task_summary Get a high-level summary of all tasks with counts and a project breakdown
task_start Start time tracking on a task
task_stop Stop time tracking on a task

Tool Details

task_list

Lists tasks. Accepts an optional filter string using standard Taskwarrior filter syntax.

filter: "project:work status:pending"
filter: "priority:H due:today"
filter: "+home"

task_get

Returns a single task by its numeric ID.

id: 42

task_add

Creates a new task. Only description is required.

description: "Write release notes"
project: "work"
priority: "H"   // H, M, or L
tags: ["docs", "release"]
due: "2024-12-31"

task_bulk_add

Creates multiple tasks in a single call. Accepts an array of task objects with the same fields as task_add. Requires at least one task.

tasks: [
  { description: "Set up CI", project: "infra", priority: "H" },
  { description: "Write tests", project: "infra", tags: ["testing"] },
  { description: "Update docs", due: "2024-12-31" }
]

task_complete

Marks a task done by ID.

id: 7

task_modify

Updates fields on an existing task. All fields except id are optional. Tags can be added or removed independently.

id: 7
description: "Updated description"
project: "personal"
priority: "L"
tags: { add: ["urgent"], remove: ["waiting"] }
due: "2025-01-15"

task_delete

Deletes a task by ID.

id: 7

task_annotate

Attaches a note to an existing task.

id: 7
annotation: "Blocked on review from Alice"

task_summary

Takes no arguments. Returns task counts by status and a breakdown by project.

task_start / task_stop

Start or stop active time tracking on a task by ID.

id: 7

MCP Configuration

The server communicates over stdio using the MCP protocol and can be run directly via npx — no installation or cloning required.

Claude Desktop

Add the following to your Claude Desktop config file.

  • macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
  • Windows: %APPDATA%\Claude\claude_desktop_config.json
{
    "mcpServers": {
        "questlog": {
            "command": "npx",
            "args": ["-y", "questlog-mcp"]
        }
    }
}

Claude Code (CLI)

claude mcp add questlog -- npx -y questlog-mcp

Cursor

Open Cursor settings, navigate to the MCP section, and add a new server entry:

{
    "questlog": {
        "command": "npx",
        "args": ["-y", "questlog-mcp"]
    }
}

Windsurf

Add the server to your Windsurf MCP config at ~/.codeium/windsurf/mcp_config.json:

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

VS Code (Continue)

Add the server to your Continue config.json:

{
    "mcpServers": [
        {
            "name": "questlog",
            "command": "npx",
            "args": ["-y", "questlog-mcp"]
        }
    ]
}

Development

Clone the repository and install dependencies:

git clone https://github.com/joeymckenzie/taskwarrior-mcp.git
cd taskwarrior-mcp
bun install

Run the type checker and linter:

bun run types:check
bun run lint

Run the test suite:

bun test

Build the distributable:

bun run build

Note: Bun v1.0 or later is required for development. End users running via npx only need Node.js.

License

MIT

from github.com/JoeyMckenzie/questlog-mcp

Install Questlog in Claude Desktop, Claude Code & Cursor

Recommended · one command, every IDE
unyly install questlog-mcp

Installs into Claude Desktop, Claude Code, Cursor & VS Code — handles npx, uvx and build-from-source repos for you.

First time? Get the CLI: curl -fsSL https://unyly.org/install | sh

Or configure manually

Run in your terminal:

claude mcp add questlog-mcp -- npx -y questlog-mcp

FAQ

Is Questlog MCP free?

Yes, Questlog MCP is free — one-click install via Unyly at no cost.

Does Questlog need an API key?

No, Questlog runs without API keys or environment variables.

Is Questlog hosted or self-hosted?

Self-hosted: the server runs locally on your machine via the install command above.

How do I install Questlog in Claude Desktop, Claude Code or Cursor?

Open Questlog on unyly.org, pick your client tab (Claude Desktop, Claude Code, Cursor) and press Install — the config is generated automatically, no JSON editing.

Related MCPs

Compare Questlog with

Not sure what to pick?

Find your stack in 60 seconds

Author?

Embed badge for your README

Browse similar

All ai MCPs