jCodeMunch MCP is an MCP server that lets coding agents retrieve individual symbols instead of reading whole files. It indexes a codebase once with tree-sitter, storing each symbol's signature, kind, qualified name, summary, and byte offsets alongside the raw file content in a local index, and then serves the exact function, class, method, constant, outline, or scoped context bundle an agent asks for.
Beyond lookup, it answers structural questions that text search cannot: who imports a file, the blast radius of a change, call hierarchies, dead code, changed symbols, and hotspots. Preflight tools check whether an edit, delete, or rename is safe and profile the risk of a pull request, returning explicit verdicts (including a null answer when the index cannot support one). It parses 70+ languages, handles monorepos with incremental indexing, and keeps the index fresh through watch modes, agent hooks, and a VS Code extension.
The project publishes a token benchmark measured with tiktoken across three public repositories, using a workflow of a symbol search plus three symbol fetches per query and comparing against an agent that greps and opens the top three files:
| Repository | Grep-top-3 baseline (avg tokens) | jCodeMunch (avg tokens) | Reduction vs grep |
|---|---|---|---|
| expressjs/express | 15,724 | 1,007 | 15.6x |
| fastapi/fastapi | 85,296 | 2,149 | 39.7x |
| gin-gonic/gin | 31,975 | 1,537 | 20.8x |
Gains are largest on targeted edits to one function or class, and edits that need the whole file see no advantage. It works with Claude Code, Cursor, VS Code, Codex CLI, Windsurf, Continue, Cline, Goose, Qwen Code, Hermes, and other MCP clients, and a setup command detects installed clients and writes their configuration. It is free for non-commercial use, with paid licenses for commercial use.
Features
- Symbol retrieval: returns the exact body of a function, class, or method by byte offset rather than the surrounding file
- Task context assembly: classifies a task's intent, extracts anchor symbols, and runs a tool sequence under one token budget
- Structural queries: importers, blast radius, call hierarchy, class hierarchy, dead code, changed symbols, hotspots, and AST anti-pattern sweeps
- Change preflight: edit, delete, and rename safety checks, pull-request risk profiles, and refactoring plans with edit-ready text blocks
- Type-checker input: reads mypy, pyright, tsc, or ruff output so safety checks report which symbols the checker already flags
- Answer metadata: confidence scores, freshness flags, coverage contracts on absence claims, and SCIP-verified references
- Secret redaction: strips secrets from results before they reach the model
- Language coverage: 70+ languages via tree-sitter, including Python, TypeScript, Go, Rust, Java, C#, and Kotlin, plus incremental monorepo indexing
- Index freshness: watch modes, agent hooks, and a VS Code extension keep the index current
- Compact responses: the MUNCH wire encoding trims response size, and a three-tool front door reduces the advertised schema
- Starter packs: pre-built indexes for popular frameworks skip initial indexing


