Labsco
spranab logo

Saga

โ˜… 29

from spranab

A Jira-like project tracker for AI agents โ€” epics, tasks, dependencies, and dashboards, all in local SQLite with zero setup.

๐Ÿ”ฅ๐Ÿ”ฅ๐Ÿ”ฅโœ“ VerifiedFreeQuick setup

saga-mcp

IdeaCred

A Jira-like project tracker MCP server for AI agents. SQLite-backed, per-project scoped, with full hierarchy and activity logging โ€” so LLMs never lose track.

No more scattered markdown files. saga-mcp gives your AI assistant a structured database to track projects, epics, tasks, subtasks, notes, and decisions across sessions.

Features

  • Full hierarchy: Projects > Epics > Tasks > Subtasks
  • Task dependencies: Express sequencing with auto-block/unblock when deps are met
  • Comments: Threaded discussions on tasks โ€” leave breadcrumbs across sessions
  • Templates: Reusable task sets with {variable} substitution
  • Dashboard: One tool call gives full overview with natural language summary
  • SQLite: Self-contained .tracker.db file per project โ€” zero setup, no external database
  • Activity log: Every mutation is automatically tracked with old/new values
  • Notes system: Decisions, context, meeting notes, blockers โ€” all searchable
  • Batch operations: Create multiple subtasks or update multiple tasks in one call
  • 31 focused tools: With MCP safety annotations on every tool
  • Import/export: Full project backup and migration as JSON (with dependencies and comments)
  • Source references: Link tasks to specific code locations
  • Auto time tracking: Hours computed automatically from activity log
  • Cross-platform: Works on macOS, Windows, and Linux

Tools

Getting Started

ToolDescriptionAnnotations
tracker_initInitialize tracker and create first projectreadOnly: false, idempotent: true
tracker_dashboardFull project overview with natural language summaryreadOnly: true

Projects

ToolDescriptionAnnotations
project_createCreate a new projectreadOnly: false
project_listList projects with completion statsreadOnly: true
project_updateUpdate project (archive to soft-delete)readOnly: false, idempotent: true

Epics

ToolDescriptionAnnotations
epic_createCreate an epic within a projectreadOnly: false
epic_listList epics with task countsreadOnly: true
epic_updateUpdate an epicreadOnly: false, idempotent: true

Tasks

ToolDescriptionAnnotations
task_createCreate a task with optional dependenciesreadOnly: false
task_listList/filter tasks with dependency inforeadOnly: true
task_getGet task with subtasks, notes, comments, and dependenciesreadOnly: true
task_updateUpdate task (auto-logs, auto-blocks/unblocks)readOnly: false, idempotent: true
task_batch_updateUpdate multiple tasks at oncereadOnly: false, idempotent: true

Subtasks

ToolDescriptionAnnotations
subtask_createCreate subtask(s) โ€” supports batchreadOnly: false
subtask_updateUpdate subtask title/statusreadOnly: false, idempotent: true
subtask_deleteDelete subtask(s) โ€” supports batchdestructive: true, idempotent: true

Comments

ToolDescriptionAnnotations
comment_addAdd a comment to a task (threaded discussion)readOnly: false
comment_listList all comments on a taskreadOnly: true

Templates

ToolDescriptionAnnotations
template_createCreate a reusable task template with {variable} placeholdersreadOnly: false
template_listList available templatesreadOnly: true
template_applyApply template to create tasks with variable substitutionreadOnly: false
template_deleteDelete a templatedestructive: true, idempotent: true

Notes

ToolDescriptionAnnotations
note_saveCreate or update a note (upsert)readOnly: false
note_listList notes with filtersreadOnly: true
note_searchFull-text search across notesreadOnly: true
note_deleteDelete a notedestructive: true, idempotent: true

Intelligence

ToolDescriptionAnnotations
tracker_searchCross-entity search (projects, epics, tasks, notes)readOnly: true
activity_logView change history with filtersreadOnly: true
tracker_session_diffShow what changed since a given timestamp โ€” call at session startreadOnly: true

Import / Export

ToolDescriptionAnnotations
tracker_exportExport full project as nested JSON (includes dependencies and comments)readOnly: true
tracker_importImport project from JSON (matching export format)readOnly: false

How It Works

saga-mcp stores everything in a single SQLite file (.tracker.db) per project. The database is auto-created on first use with all tables and indexes โ€” no migration step needed.

Hierarchy

Project
  โ””โ”€โ”€ Epic (feature/workstream)
        โ””โ”€โ”€ Task (unit of work)
              โ”œโ”€โ”€ Subtask (checklist item)
              โ”œโ”€โ”€ Comment (discussion thread)
              โ””โ”€โ”€ Dependencies (blocked by other tasks)

Task Dependencies

Tasks can depend on other tasks. When you set depends_on: [2, 3] on a task:

  • The task is auto-blocked if any dependency isn't done
  • When a dependency is marked done, downstream tasks are re-evaluated
  • If all dependencies are met, the blocked task auto-unblocks to todo

Note Types

Notes replace scattered markdown files. Each note has a type:

TypeUse case
generalFree-form notes
decisionArchitecture/design decisions
contextConversation context for future sessions
meetingMeeting notes
technicalTechnical details, specs
blockerBlockers and issues
progressProgress updates
releaseRelease notes

Activity Log

Every create, update, and delete is automatically recorded:

{
  "summary": "Task 'Fix CORS issue' status: blocked -> done",
  "action": "status_changed",
  "entity_type": "task",
  "entity_id": 15,
  "field_name": "status",
  "old_value": "blocked",
  "new_value": "done",
  "created_at": "2026-02-21T18:30:00"
}

Privacy Policy

saga-mcp is a fully local, offline tool. It does not:

  • Collect any user data
  • Send any data to external servers
  • Require internet access after installation
  • Use analytics, telemetry, or tracking of any kind

All data is stored exclusively in the local SQLite file specified by DB_PATH. You own your data completely. Uninstalling saga-mcp and deleting the .tracker.db file removes all traces.

For questions about privacy, open an issue at https://github.com/spranab/saga-mcp/issues.

Development

git clone https://github.com/spranab/saga-mcp.git
cd saga-mcp
npm install
npm run build
DB_PATH=./test.db npm start

Support