AI-native Taskwarrior bridge MCP server for Claude
Server has 7 tools with basic schemas and descriptions, but significant quality gaps. All tools have descriptions (good), but most are generic and lack actionable detail. Schemas are present but minimal, parameters lack type constraints, enums, and validation guidance. No output schemas documented. Error handling is absent; tools fail silently or with raw Taskwarrior errors. Naming is inconsistent: task_natural and task_raw are vague; task_smart_add mixes concerns (parsing + adding). No tool annotations (readOnlyHint, destructiveHint). Security: raw command execution (task_raw) is dangerous without input sanitization. Composition: task_natural duplicates task_raw functionality, forcing LLM to choose between overlapping tools.
Set the current project/context for task operations
Get tasks organized by Eisenhower Matrix (Urgent/Important quadrants)
Execute Taskwarrior commands using natural language. Examples: "add fix the login bug", "show tasks for today", "what should I work on next", "mark task 5 as done", "list urgent tasks"
Execute raw Taskwarrior commands for advanced users
Add a task with intelligent parsing of priority, due dates, projects, and tags
Sync tasks from a ticket checklist to Taskwarrior
Get current context and suggested next actions based on project state
task_raw exposes dangerous command execution without input validation or sanitization. LLMs can inject arbitrary Taskwarrior commands, risking data loss or unintended modifications.
No output schemas documented for any tool. LLMs cannot predict return structure, forcing them to parse unstructured Taskwarrior output. Breaks downstream tool chaining.
task_natural and task_raw overlap significantly. Both execute Taskwarrior commands; task_natural adds NLP parsing. LLM must reason about which to use, wasting tokens and inviting wrong selection.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | F | 47 | 2026-07-28+ | v2 |
Parameter descriptions lack constraints. 'context' in task_context_set has no format guidance. 'query' in task_natural has no examples or limits. LLMs guess at valid input.
No error handling or recovery guidance. Tools fail with raw Taskwarrior errors (e.g., 'Taskwarrior error: command not found'). LLM has no actionable next step.