Show HN: Saga – A Jira-like project tracker MCP server for AI agents (SQLite)
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.
3 comments
[ 268 ms ] story [ 803 ms ] threadhttps://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... :
.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/sedi...
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.
Copilot looks for agent skills in .claude/skills/, .github/skills/, or .agents/skills/ .
FWIU there are package managers for agent skills?
PAKS: https://github.com/stakpak/paks
vercel-labs/skills: https://github.com/vercel-labs/skills :
https://skills.sh/docs/cliA reproducibility, traceability, and auditability concern:
How to show the text of the exact version of the skill referenced in each input prompt in each chat log? GH copilot's JSON export format is a fairly complete trace compared to e.g. Gemini Chat.
.
ElasticSearch (Java) and Meilisearch (Rust) do at least porter stemming before indexing.
MeiliSearch can be used as a vector database for langchain.
meilisearch/meilisearch: https://github.com/meilisearch/meilisearch :
Meilisearch docs > langchain guide > Performing Similarity Search: https://www.meilisearch.com/docs/guides/langchain#performing...
meilisearch/meilisearch-mcp : https://github.com/meilisearch/meilisearch-mcpopenobserve/openobserve : https://github.com/openobserve/openobserve :
> OpenObserve is an open-source observability platform for logs, metrics, traces, and frontend monitoring. A cost-effective alternative to Datadog, Splunk, and Elasticsearch with 140x lower storage costs and single binary deployment. with SQL in Rust
OpenObserve (AGPL) docs > MCP: https://openobserve.ai/docs/integration/mcp/ :
> This capability is supported in the Enterprise edition of OpenObserve
https://github.com/openobserve/openobserve/issues/6804
openobserve docs > Comparison with Alternatives > How does OpenObserve compare to Elasticsearch: https://openobserve.ai/docs/overview/comparison/
meilisearch blog > "What is GraphRAG: Complete guide [2026]" https://www.meilisearch.com/blog/graph-rag :
> How is GraphRAG different from baseline RAG?
> GraphRAG represents one of the different types of RAG, and its retrieval process differs from baseline RAG.
> Baseline RAG is vector search-based, while GraphRAG uses structured relationships to get the end resul...