Skip to content
Theme:

Tasks

The tasks server gives agents a structured way to decompose work into task trees, dependencies, assignees, status, and handoff metadata.

The default in-memory server is session-scoped: tasks are stored in a temporary directory and cleaned up when the server exits.

.aether/mcp.json
{
"servers": {
"tasks": {
"type": "in-memory"
}
}
}

For persistent task storage, pass --dir. Aether stores JSONL task files under <dir>/.aether-tasks/.

.aether/mcp.json
{
"servers": {
"tasks": {
"type": "in-memory",
"args": ["--dir", "."]
}
}
}
ToolDescription
task_createCreate a root task tree or subtask.
task_getGet full details for one task by ID.
task_listList tasks, optionally filtered by assignee, status, tree, or readiness.
task_updateUpdate status, ownership, dependencies, or handoff metadata.
  • 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.

StatusMeaning
pendingNot yet started.
inProgressCurrently being worked on.
completedDone.
blockedNot ready to proceed.

in_progress is accepted as an input alias for inProgress.

Create a root task:

task_create
{
"title": "Refresh website docs",
"description": "Update public docs from Rust source facts.",
"assignee": "orchestrator"
}

Create a subtask with a dependency:

task_create
{
"title": "Validate docs build",
"parentId": "at-a1b2c3d4",
"assignee": "worker-1",
"deps": ["at-a1b2c3d4.1"]
}

List ready work:

task_list
{
"readyOnly": true
}

Complete a task and attach handoff context:

task_update
{
"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"]
}
FieldPurpose
summaryShort summary of work done or findings.
decisionsKey decisions made.
factsImportant facts discovered.
nextStepsSuggested follow-up actions.
blockersUnresolved blockers.
filesReadFiles examined.
resourcesExternal resources referenced.

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.