← Back to directory
J

jcodemunch-mcp

Community
AST-based code retrieval with 95%+ lower exploration token usage.
GitHub source repository ↗
★ 2.1k Stars Category · Dev Tools Very popular
54FMRS · D
Reliability
8/20
Security and permissions
12/20
Maintenance
9/20
Documentation
13/20
Setup experience
12/20

A local-first MCP server for AI-assisted development, centered on tree-sitter symbol retrieval, structural code analysis, and token control. It is well suited to code-exploration-heavy workflows, while users should evaluate local index storage, optional telemetry, network-enabled extensions, and commercial licensing terms.

Read the FMRS scoring method →

jcodemunch-mcp is an MCP server that parses local folders and GitHub repositories with tree-sitter and provides symbol-level code retrieval. It supports more than 70 languages and can return precise functions, classes, methods, constants, call relationships, and structural context instead of requiring agents to read entire files. Indexes are stored locally by default.

Tools

search_symbols
Search code symbols by name, kind, or language.
get_symbol_source
Retrieve the exact source implementation of a symbol.
get_context_bundle
Retrieve multiple related symbols and context within a token budget.
assemble_task_context
Classify a natural-language task, extract anchor symbols, and assemble source-attributed context.
plan_turn
Plan tool calls, target symbols, and a token budget before reading code.
get_ranked_context
Return ranked symbol context within a token budget using relevance and PageRank.
find_importers
Find code that imports a specified file or module.
get_blast_radius
Analyze callers and dependencies potentially affected by changing a symbol.
get_call_hierarchy
Traverse callers and callees of a symbol.
find_dead_code
Find unreachable symbols and files.
get_changed_symbols
Map a Git diff to added, modified, or removed symbols.
search_ast
Search structured AST patterns and preset anti-patterns across languages.
winnow_symbols
Filter symbols using combined kind, complexity, call, file, Git-change, and importance criteria.

Setup

Install the Python package with pip install jcodemunch-mcp, or run it directly with uvx jcodemunch-mcp. Add the supplied stdio configuration to an MCP client and restart the client. Alternatively, run jcodemunch-mcp init to detect and configure supported clients. Index a local directory or GitHub repository before querying it.

claude_desktop_config.json
{"mcpServers":{"jcodemunch":{"command":"uvx","args":["jcodemunch-mcp"]}}}

Fit and risk

Best for

  • Developers analyzing large or unfamiliar repositories
  • Engineering teams using Claude Code, Cursor, or another MCP client
  • Users who prioritize local indexing, targeted retrieval, and token-cost control

Not for

  • Users who only need general chat or web browsing
  • Environments that cannot or do not want to create local code indexes
  • Enterprise buyers requiring an official product-owner-maintained server or a clearly declared open-source license

Required permissions

  • Requires read access to local code directories or GitHub repositories being indexed.
  • Requires local write access for indexes and session data, stored by default under ~/.code-index/ and configurable with CODE_INDEX_PATH.
  • File watching, agent hooks, and login-service features require additional local configuration or service permissions when enabled.
  • Anonymous token-savings telemetry may be sent to the project's public meter; it can be disabled with share_savings or JCODEMUNCH_SHARE_SAVINGS=0.

Risks and side effects

  • Indexed source and session data are stored locally; the session journal records paths and query strings touched during a session.
  • Telemetry, AI summaries, embedding-model downloads, license validation, and Starter Pack operations can create outbound network requests when enabled or explicitly invoked.
  • Some optional extras can access a microphone or process images; these are not core MCP server functionality.
  • The README states that non-commercial personal use is free and commercial use requires a paid license; repository metadata lists the license as NOASSERTION.
  • Token savings and retrieval quality depend on index coverage, language support, and query quality and are not unconditional guarantees.

Troubleshooting

  1. Verify that jcodemunch-mcp or uvx is installed and available on the MCP client's PATH.
  2. Run jcodemunch-mcp --version and jcodemunch-mcp config --check to validate installation, configuration, and prerequisites.
  3. Check the MCP client's server logs; Claude Code supports claude --mcp-debug.
  4. Confirm that the target directory has been indexed, and re-index after changes unless watch is enabled.
  5. If only a few tools are visible, inspect tool_profile, tool_surface, and disabled_tools; in counter mode, use menu() to browse the catalog.

Use cases

Precise symbol retrieval from large codebases
Repository onboarding, debugging, and refactoring
Change-impact, call-hierarchy, and dead-code analysis
Reducing AI context usage and token costs during code exploration
Cross-language structural AST queries across more than 70 languages

Supported clients

Claude CodeFull support
CursorFull support
VS CodeFull support
Codex CLIPartial support
ContinuePartial support
WindsurfPartial support
Autohand CodePartial support
Claude DesktopPartial support