The hierarchy is the point — create_task takes a parent id, and get_task_hierarchy returns the tree, so epics and their subtasks stay related instead of flattening into a list. The same store is visible in the web UI, so a human can look at what the agent did.
A Go workflow tracker with a web UI and a REST API, plus an MCP server that puts the same task store in front of an agent. Storage is either JSON files or PostgreSQL.
- list_tasks — filter by status and priority
- create_task — title, description, status, priority, and a parent for hierarchy
- get_task, update_task, delete_task
- get_task_hierarchy — the whole tree with parent-child relationships
- Three read-only resources: tasks://all, tasks://hierarchy, and tasks://summary with counts by status and priority
Go 1.24 or later, or the container image. The MCP server takes MCP_PORT (default 3001) and STORAGE_DIR (default ./data). The web app and chat interface are separate and need their own LLM provider settings; the MCP path does not.
Build from source — clone the repository and build it, then point your client at the binary
