task-mcp
# task-mcp
MCP server for Taskwarrior with agent claim/lease semantics.
## Setup
### Required Taskwarrior Configuration
Add the following to your `~/.taskrc` to enable claim metadata:
```ini
uda.owner_agent.type=string
uda.lease_until.type=date
uda.claimed_at.type=date
uda.last_renewed_at.type=date
```
## Usage
```bash
bun run dist/index.js
```
## MCP Tools
| Tool | Description |
| --------------- | -------------------------------------------------- |
| `project_list` | List all projects |
| `list_tasks` | List tasks (returns claim metadata) |
| `claim_task` | Claim a task for an agent |
| `release_task` | Release a claim |
| `create_task` | Create a new task (returns task payload with uuid) |
| `update_task` | Update task (requires claim) |
| `complete_task` | Complete task (requires claim) |
## Claim Rules
- Agents must claim a task before mutating it
- Same agent can renew their claim
- Different agent cannot steal an active lease
- Expired leases are treated as unclaimed
## Development
```bash
bun install
bun run dev
bun run test
```
TDQS
Scored across 10 tools
Every tool has a clearly distinct purpose targeting specific task lifecycle actions: creation (create_task), retrieval (get_task, list_tasks), modification (update_task, annotate_task), state changes (start_task, stop_task, complete_task), deletion (delete_task), and project management (project_list). There is no overlap or ambiguity between tools.
All tools follow a consistent verb_noun pattern with clear action verbs (create, get, list, update, delete, start, stop, complete, annotate) and consistent noun usage (task or project). The naming is perfectly uniform and predictable throughout the set.
With 10 tools, this is well-scoped for a task management server. Each tool earns its place by covering distinct aspects of task lifecycle management, project listing, and task operations without being excessive or insufficient for the domain.
The tool set provides complete CRUD/lifecycle coverage for task management: create, read (get/list), update, delete, plus specialized operations (start/stop/complete/annotate) and project listing. There are no obvious gaps, and agents can perform all expected workflows without dead ends.