questlog-mcp
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
questlog-mcp
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
npxonly need Node.js.
License
MIT
Recommended Servers
playwright-mcp
A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.
Magic Component Platform (MCP)
An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.
Audiense Insights MCP Server
Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.
VeyraX MCP
Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.
graphlit-mcp-server
The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.
Kagi MCP Server
An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.
Neon Database
MCP server for interacting with Neon Management API and databases
E2B
Using MCP to run code via e2b.
Exa Search
A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.
Qdrant Server
This repository is an example of how to create a MCP server for Qdrant, a vector search engine.