Tasks
The tasks server gives agents a structured way to decompose work into task trees, dependencies, assignees, status, and handoff metadata.
Configuration
Section titled “Configuration”The default in-memory server is session-scoped: tasks are stored in a temporary directory and cleaned up when the server exits.
{ "servers": { "tasks": { "type": "in-memory" } }}For persistent task storage, pass --dir. Aether stores JSONL task files under <dir>/.aether-tasks/.
{ "servers": { "tasks": { "type": "in-memory", "args": ["--dir", "."] } }}| Tool | Description |
|---|---|
task_create | Create a root task tree or subtask. |
task_get | Get full details for one task by ID. |
task_list | List tasks, optionally filtered by assignee, status, tree, or readiness. |
task_update | Update status, ownership, dependencies, or handoff metadata. |
Task IDs
Section titled “Task IDs”- Root tasks:
at-a1b2c3d4 - Subtasks:
at-a1b2c3d4.1,at-a1b2c3d4.2, etc.
Each root task tree is stored in one JSONL file when persistent storage is enabled.
Status values
Section titled “Status values”| Status | Meaning |
|---|---|
pending | Not yet started. |
inProgress | Currently being worked on. |
completed | Done. |
blocked | Not ready to proceed. |
in_progress is accepted as an input alias for inProgress.
Examples
Section titled “Examples”Create a root task:
{ "title": "Refresh website docs", "description": "Update public docs from Rust source facts.", "assignee": "orchestrator"}Create a subtask with a dependency:
{ "title": "Validate docs build", "parentId": "at-a1b2c3d4", "assignee": "worker-1", "deps": ["at-a1b2c3d4.1"]}List ready work:
{ "readyOnly": true}Complete a task and attach handoff context:
{ "id": "at-a1b2c3d4.1", "status": "completed", "summary": "Updated MCP configuration docs from source.", "facts": ["Tool filters support exact names and trailing * only."], "nextSteps": ["Run website checks."], "filesRead": ["packages/mcp-utils/src/client/config.rs"]}Handoff fields
Section titled “Handoff fields”| Field | Purpose |
|---|---|
summary | Short summary of work done or findings. |
decisions | Key decisions made. |
facts | Important facts discovered. |
nextSteps | Suggested follow-up actions. |
blockers | Unresolved blockers. |
filesRead | Files examined. |
resources | External resources referenced. |
Input names
Section titled “Input names”The canonical MCP wire format is camelCase: parentId, treeId, readyOnly, nextSteps, and filesRead. The server also accepts snake_case aliases for several inputs, including parent_id, tree_id, ready_only, next_steps, and files_read.