jCodeMunch vs codebase-memory-mcp (by DeusData)
| jCodeMunch | codebase-memory-mcp | |
|---|---|---|
| Token reduction on code exploration | ✓ ~95 % | ~ "120× fewer tokens" claimed (5 structural queries: ~3,400 vs ~412,000 file-by-file); arXiv preprint cites 10× tokens, 83% answer quality on 31 repos |
| Symbol-level extraction (functions, classes) | ✓ 79 languages (incl. YAML/Ansible, Razor/Blazor, SQL/dbt, Erlang, Fortran, Pascal, MATLAB, Ada, COBOL, Zig, PowerShell) | ✓ 158 vendored tree-sitter grammars; functions/classes/routes as graph nodes; LSP-style hybrid type resolution for twelve languages (Python, TS/JS/JSX/TSX, PHP, C#, Go, C, C++, Java, Kotlin, Rust, Perl) |
| Doc section search | ✓ via jDocMunch | ✗ Code graph only |
| Requires pre-indexing | ✓ One-time, incremental; SHA-based freshness managed automatically via freshness_mode config (relaxed/strict); list_repos exposes git_head for agent-side freshness reasoning; index_file for single-file surgical updates; watch-claude auto-discovers Claude Code worktrees | ✓ Persistent SQLite knowledge graph; auto-sync watcher on file changes |
| Works with AI agents (MCP) | ✓ Native MCP server (stdio, SSE, streamable-http); Claude Code hook integration (PreToolUse/PostToolUse → index-file); 5 built-in MCP prompt templates (workflow, explore, assess, triage, trace). Adaptive tool surface keeps the agent's tool budget in check: core/standard/full tiers, or tool_surface=counter collapses to a 3-tool front door (order/menu/route) that fits any tool-count cap (e.g. a 50-tool limit) with zero capability loss | ✓ 15 MCP tools; install covers 43 automatic/conditional client surfaces (Claude Code, Codex, Gemini CLI, Zed, OpenCode, Antigravity, Aider, KiloCode, VS Code, OpenClaw, Kiro and more) |
| Import graph / reference tracing | ✓ find_importers (with has_importers flag), find_references, check_references, get_blast_radius (depth-scored risk + has_test_reach per file), get_changed_symbols, get_dependency_graph; get_untested_symbols (import-graph test reachability); TS/SvelteKit path alias resolution; cross-repo via cross_repo=true on find_importers, get_blast_radius, get_dependency_graph + dedicated get_cross_repo_map | ✓ CALLS, IMPORTS, IMPLEMENTS, INHERITS edges; HTTP/gRPC/GraphQL/tRPC cross-service linking; Cypher-like queries |
| Architecture-decision context (revert/tradeoff/root-cause history surfaced during analysis) | ✓ get_blast_radius / get_impact_preview surface git-mined decision-bearing commits (revert/perf/refactor/rename/bugfix) + a volatility read (v1.108.59, opt-in include_decisions); get_symbol_provenance adds a per-symbol decision narrative. Read-only: surfaced from the commit record, never persisted | ~ Persistent code knowledge graph (structural relationships), not architecture-decision rationale |
| Write / modify files | ✗ Read-only by design | ✗ Read-only |
| Runs fully offline / local | ✓ Local index, no backend | ✓ Single static binary; bundled Nomic-embed-code embeddings; no API key |
| Commercial use permitted | ✓ Paid license available | ✓ |
| License | Free non-commercial; paid commercial | MIT |
| Dead code detection | ✓ find_dead_code: free; confidence-scored; cascading dead-code chains; entry-point heuristics | ✓ Functions with zero callers, excluding entry points |
| Semantic / hybrid search | ✓ Opt-in BM25+vector (embed_repo); 3 providers: sentence-transformers, Gemini (task-aware), OpenAI; pure BM25 when disabled | ✓ Bundled Nomic-embed-code (768d int8) compiled into the binary; 11-signal scoring (TF-IDF, RRI, AST profiles, MinHash, graph diffusion, etc.) |
| Token-budgeted retrieval | ✓ get_ranked_context (BM25 + PageRank strategies) + get_context_bundle budget params | ~ Structural queries replace large reads; no explicit per-query token budget |
| Works alongside the others | ✓ Complements all of them | ~ Same MCP layer + same agent surface; would conflict at the protocol level (overlapping tool names, both want to be the code-intelligence MCP) |
codebase-memory-mcp is the closest peer to jCodeMunch in this comparison: an MCP
server that indexes a repo into a persistent knowledge graph, claims aggressive
token reduction, and ships as a one-command install. It compiles 158 vendored
tree-sitter grammars into a single static C binary, adds LSP-style hybrid type
resolution for twelve languages (Python, TS/JS/JSX/TSX, PHP, C#, Go, C, C++, Java,
Kotlin, Rust, Perl), and exposes 15 MCP tools including Cypher-like graph queries,
dead-code detection, and HTTP route ↔ call-site linking. A single install
command covers 43 automatic and conditional client surfaces.
- 158 vendored tree-sitter grammars compiled into the binary; no runtime install
- LSP-style hybrid type resolution for twelve languages: Python, TS/JS/JSX/TSX, PHP, C#, Go, C, C++, Java, Kotlin, Rust, Perl (clean-room reimpl of tsserver / typescript-go, pyright, gopls, Roslyn, Eclipse JDT, rust-analyzer)
- CALLS, IMPORTS, IMPLEMENTS, INHERITS, DATA_FLOWS, SIMILAR_TO, SEMANTICALLY_RELATED edges
- HTTP, gRPC, GraphQL, tRPC cross-service route linking; channel detection (Socket.IO, EventEmitter)
- Bundled Nomic-embed-code embeddings (768d int8) compiled into the binary: semantic search with no API key
- Cypher-like queries:
MATCH (f:Function)-[:CALLS]->(g) RETURN g.name - 3D graph-visualisation UI (optional UI variant)
installcovers 43 client surfaces: Claude Code, Codex, Gemini, Zed, OpenCode, Aider, Antigravity, KiloCode, VS Code, OpenClaw, Kiro and more; conditional clients activate only when their marker or config path is present
- 70+ languages including ones tree-sitter does not cover natively (Razor/Blazor, Erlang, Fortran, dbt SQL with Jinja preprocessing, COBOL, Pascal, Ada)
get_ranked_context: query-driven token-budgeted assembly (BM25 + PageRank + identity boost)plan_refactoring: edit-ready rename/move/extract/signature-change plansget_symbol_provenance: full git archaeology per symbol with semantic commit classificationget_pr_risk_profile: composite risk score fusing blast radius, complexity, churn, and test gapswatch-claude/watch-all: auto-watch every Claude Code worktree; one-command login-service install- jDocMunch pairs natively for section-level doc retrieval (.md / .rst / .ipynb / HTML)
- Six-axis health radar +
get_pr_risk_profile+ observatory pipeline for cross-repo benchmarking - Production benchmarks: 58-100× token reduction vs raw file reads, replicated across Express, FastAPI, and Gin
arXiv:2603.27277, a paper number with a year-2603 prefix. ArXiv
uses year-prefixed IDs, so the citation as written points to no real preprint.
The benchmark methodology in the README (31 repos, 83% answer quality, 10× tokens,
2.1× tool-call reduction) is plausible and well-described: treat the
arXiv pointer as a known typo, not a reason to discount the project.
More comparisons
jCodeMunch vs caveman · jCodeMunch vs RTK · jCodeMunch vs Headroom · jCodeMunch vs CodeGraph · jCodeMunch vs GitNexus · jCodeMunch vs Serena · jCodeMunch vs Repomix · jCodeMunch vs Context Mode · jCodeMunch vs RepoMapper · jCodeMunch vs Ponytail
The full comparison of all 47 tools, with every one side by side in a single table.
caveman vs Ponytail vs RTK vs Headroom vs jCodeMunch: which one saves which tokens.