The payoff is on day two: tracker_session_diff and tracker_dashboard let an agent open a session by asking what moved, rather than re-reading the repository and guessing. Dependencies are enforced rather than described — a task whose prerequisite is unfinished comes back blocked, and unblocks itself when that prerequisite is marked done.
A local task tracker exposed as 31 MCP tools. Projects, epics, tasks, subtasks, dependencies, comments and notes live in a single SQLite file in your project, and the agent writes to it as it works and reads it when it comes back.
- A real hierarchy — projects, epics, tasks, subtasks — instead of a TODO.md nobody updates
- Task dependencies that block and unblock themselves as prerequisites are marked done
- One dashboard call: stats, active epic, blocked and overdue tasks, recent activity, notes
- A session diff showing what changed since a timestamp, to open the next session with
- Comments kept in order on a task, so the reasoning survives the context window
- Notes typed as decision, context, meeting, technical, blocker, progress or release, and searchable by keyword
- Reusable task templates with {variable} placeholders, applied into any epic
- Epics and tasks scoped to a git branch, with branch="current" detecting the one you are on
- An activity log recording every change with its old and new value
- Batch calls: several subtasks created at once, several tasks updated at once
- Whole-project export and import as nested JSON, dependencies and comments included
One environment variable, DB_PATH, holding an absolute path to the .tracker.db file — the file and its schema are created on first use. Runs over stdio through npx, on macOS, Windows or Linux. No account, no API key, no external service: the data stays in the SQLite file you named.
One command — npx -y saga-mcp
