Repomix alternative: trace-mcp vs Repomix
TL;DR. Repomix answers “put my repository into a prompt.” trace-mcp answers “let the agent look things up in my repository.” Repomix is a packer: it concatenates files into one artifact, optionally stripping function bodies with tree-sitter to save bytes. trace-mcp is an index: it parses the repo into a dependency graph with full-text search and serves it over MCP, so an agent asks for the outline of one file or the callers of one symbol instead of loading a snapshot of everything.
If you are picking between them, the question is not “which is better” — it is how many turns your agent spends in the same repo.
Head-to-head
| Capability | trace-mcp | Repomix |
|---|---|---|
| GitHub stars | 100 | 28.1K |
| Model | live index (SQLite + FTS5) | one-shot pack |
| Tree-sitter AST parsing | ✓ 81 languages | ✓ --compress only (~20) |
| Token-efficient symbol lookup | ✓ outlines, symbols, bundles | ✗ packs entire files |
| Cross-file dependency graph | ✓ directed edge graph | ✗ |
| Framework-aware edges | ✓ 87 integrations | ✗ |
| Call graph | ✓ bidirectional, graph-based | ✗ |
| Impact analysis | ✓ reverse dependency traversal | ✗ |
| Search | ✓ FTS5 + embeddings + graph | ✗ no search |
| Refactoring tools | ✓ rename, move, signature, codemod, extract | ✗ |
| Security scanning | ✓ OWASP Top-10, taint analysis | ✓ Secretlint (secrets only) |
| Freshness | ✓ incremental, file-watcher, content hash | ✗ snapshot at pack time, full repack |
| Remote repositories | ✓ multi-repo subprojects | ✓ packs remote repos directly |
| Official MCP server | ✓ core product | ✓ --mcp |
| Setup cost | index build, then instant queries | none, but re-pack on every change |
| Works offline, no API keys | ✓ | ✓ |
| Written in | TypeScript | TypeScript |
When to pick Repomix
Honest version, and it is a real list:
- One-shot questions. “Read this whole repo and tell me what it does” is exactly what a pack is for. No index build, no daemon, no config.
- Repositories you do not own.
repomix --remote owner/namegives you a third-party codebase in a prompt in seconds. trace-mcp can index other repos as subprojects, but that is a heavier setup for a one-time look. - Small repositories that fit in context. If the whole thing fits, a graph buys you nothing — the model already has every file.
- Zero-install-in-the-loop workflows. Pasting a pack into a web chat needs no MCP client at all.
- Ecosystem. Repomix is roughly 280× more popular by stars, with far more third-party recipes and integrations. That matters when you need an answer from a search engine at 2am.
When to pick trace-mcp
- The repo does not fit in context, so a pack is either truncated or ruinously expensive.
- Multi-turn sessions. A pack is a fixed cost re-paid every time it is regenerated; an index is a fixed cost paid once and amortised across every query in the session.
- The question is structural. “What breaks if I change this function”, “who calls this”, “which route handler renders this component” — a pack contains the bytes that would answer this, but nothing that computes it. trace-mcp resolves it as one tool call over the graph.
- Framework semantics matter. A graph that knows
UserControllerexists but not that it rendersUsers/Show.vuevia Inertia is missing the edges a developer actually reasons about. trace-mcp ships 87 framework integrations for exactly those edges. - You want the agent to change code, not just read it. Rename across files, move a symbol, change a signature, apply an AST codemod, remove verified-dead code — Repomix has no write path.
- Freshness. trace-mcp reindexes incrementally on file change. A pack is stale the moment you edit anything.
The honest caveat on token cost
trace-mcp’s per-query cost is small, but its advertised cost is not free: on the shipped default path, tools/list is 28 tools and roughly 11.6K tokens, paid by every client that does not support deferred tool loading. That is down from ~50K, once the preset bypass on the daemon-backed path was fixed and the default preset moved to minimal; everything outside it is one load_tools call away. A short session on a small repo can still genuinely cost less through Repomix. We would rather say that here than have you discover it yourself.
FAQ
Is trace-mcp a drop-in replacement for Repomix? No. Repomix produces one packed file you paste or attach; trace-mcp exposes MCP tools an agent calls during a session. If your workflow is “paste my repo into a chat”, Repomix is the closer fit. If your agent runs many turns against the same repo, trace-mcp replaces the pack entirely, because the agent queries the index instead of re-reading a snapshot.
Does Repomix have an MCP server?
Yes — an official one, via --mcp, including packing remote repositories. It is still packing rather than indexing: the tools return file content, not a symbol graph.
Repomix has a --compress flag. Isn’t that the same as a code graph?
No. --compress uses tree-sitter to strip function bodies and keep signatures, cutting roughly 70% of a pack’s bytes. That is lossy summarisation per file. There are no cross-file edges, no call graph, and no impact analysis.
Which one is cheaper in tokens? It depends on session length. A pack is a fixed up-front cost, re-paid on every refresh. trace-mcp pays an up-front schema cost (see the caveat above) and then small scoped per-query costs. One-shot question on a small repo: Repomix. Multi-turn session on a repo that does not fit in context: trace-mcp.
Can I use both? Yes, and it is a sensible setup — Repomix for handing a whole small or third-party repo to a model in one shot, trace-mcp for navigation, impact analysis and refactoring in the repo you work in daily.
Next steps
- Full field: how trace-mcp compares against 20+ code-graph and memory MCP servers.
- The other head-to-heads: vs Serena · vs codebase-memory-mcp · vs codegraph · vs Context Mode
- Cut Claude Code token usage — the measured tactics, including the ones that have nothing to do with us.
- Get started — no configuration required.
Last updated: August 30, 2026