Skip to main content
Glama
README.md
# 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

A3.6/5.0

Scored across 10 tools

Disambiguation5/5

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.

Naming Consistency5/5

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.

Tool Count5/5

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.

Completeness5/5

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.

Maintenance

ActivityInactive
ResponsivenessNo issues