top | item 47106215

Show HN: Saga – A Jira-like project tracker MCP server for AI agents (SQLite)

4 points| spranab | 8 days ago

I got tired of my AI coding assistant (Claude, Cursor, etc.) losing track of project state across sessions — creating random markdown files, forgetting what was done, repeating work. So I built Saga.

It's an MCP server that gives your AI agent a proper project tracker — Projects > Epics > Tasks > Subtasks — backed by a local SQLite file. One tracker_dashboard call and the agent has full context to resume where it left off.

Key points:

Zero setup — SQLite auto-creates a .tracker.db file per project. No Docker, no Postgres, no API keys. 22 tools — CRUD for the full hierarchy, plus notes (decisions, blockers, meeting notes), cross-entity search, activity log, batch operations. Per-project scoped — Each project gets its own database. Nothing shared, nothing leaked. Activity log — Every mutation is automatically tracked so the agent (or you) can see what changed and when. Install: npx saga-mcp

GitHub: https://github.com/spranab/saga-mcp npm: https://www.npmjs.com/package/saga-mcp

The idea is simple: instead of the LLM trying to remember state in its context window or dumping it into files, give it an actual structured database it can query and update through tool calls. Works with Claude Desktop, Claude Code, Cursor, or any MCP-compatible client.

Would love feedback — especially on the tool design and what's missing.

7 comments

order

westurner|7 days ago

Though the README is probably enough context, would there be value in an agent skill for this?

https://agentskills.io/what-are-skills

SKILL.md format: https://agentskills.io/specification#skill-md-format

The skill creator skill SKILL.md: https://github.com/anthropics/skills/blob/main/skills/skill-...

.

SWE bench involves solving GitHub issues.

Which of the SWE bench agents read from or write to GitHub issues?

.

There could be a local cache of remote issues, and/or an overlayfs-like write cache

From https://github.com/GothenburgBitFactory/bugwarrior :

> bugwarrior - Pull tickets from github, bitbucket, bugzilla, jira, trac, and others into taskwarrior

https://github.com/bergercookie/syncall :

> Bi-directional synchronization between services such as Taskwarrior, Google Calendar, Notion, Asana, and more

.

ditz is on the filesystem

ditz: https://github.com/jashmenn/ditz :

> Ditz is a simple, light-weight distributed issue tracker designed to work with distributed version control systems like git, darcs, Mercurial, and Bazaar

git-ditz: https://github.com/ihrke/git-ditz

.

sqlite-utils does SQLite FTS full text search config. There are additional tables for FTS indexes.

sqlite-utils: https://github.com/simonw/sqlite-utils

sqlite-utils > Configuring full-text search: https://sqlite-utils.datasette.io/en/stable/cli.html#configu... :

  sqlite-utils enable-fts mydb.db documents title summary

  # after subsequent writes
  sqlite-utils populate-fts mydb.db documents title summary

  # rebuild the FTS indexes
  sqlite-utils rebuild-fts mydb.db documents
.

One of these mentions sensitivity analysis and basically cache poisoning;

From "I built a memory system for Claude that solves the context loss issue" https://news.ycombinator.com/item?id=45546276 :

- buildautomata_memory_mcp: https://github.com/brucepro/buildautomata_memory_mcp

Notes from "Show HN: Recall: Give Claude memory with Redis-backed persistent context" a few days ago: https://news.ycombinator.com/context?id=45517613 :

- recall: https://github.com/joseairosa/recall

sediment: https://github.com/rendro/sediment :

> Semantic memory for AI agents. Local-first, MCP-native

sediment-benchmark: https://github.com/rendro/sediment-benchmark :

> Benchmark suite for memory systems (Sediment, ChromaDB, Mem0, Letta)

spranab|5 days ago

Thanks for the excellent references! We actually just added a SKILL.md following the agentskills.io spec based on your suggestion — it's live now: https://github.com/spranab/saga-mcp/blob/master/.skills/saga...

Great point about sqlite-utils FTS. Saga already has full-text search via tracker_search across all entities (projects, epics, tasks, notes), but we're using basic LIKE queries — proper SQLite FTS5 indexes would be a meaningful upgrade for larger projects. Adding it to the roadmap.

The bugwarrior/syncall direction is interesting too. A github_sync tool that pulls issues into Saga's local tracker (and optionally pushes status back) would close the loop between local agent planning and team-visible issue trackers. Definitely something worth exploring.

Re: SWE-bench agents and issue tracking — most SWE-bench agents read the issue description as input but don't write back to GitHub. Having a local structured tracker that an agent can read/write freely (without API rate limits or auth concerns) is exactly the gap Saga fills.