The src/ directory contains the core jcodemunch_mcp Python package — the entire MCP server implementation. This is where all production logic lives.
parser/The parsing engine that extracts symbols from source code using tree-sitter grammars. Key components include:
symbols.py — Defines the Symbol dataclass representing a code symbol (function, class, constant, etc.) with its signature, location, and byte range.hierarchy.py — Builds SymbolNode trees that represent parent-child nesting of symbols.languages.py — LanguageSpec configures tree-sitter queries per language, making the parser language-agnostic.sql_preprocessor.py — Strips Jinja/dbt templating from SQL files and extracts DbtDirective metadata before parsing.parser/context/Ecosystem context providers that enrich files with business metadata:
base.py — FileContext (metadata dataclass) and ContextProvider (ABC for all providers).dbt.py — DbtContextProvider reads dbt schema YAML to attach model descriptions, columns, and tags.git_blame.py — GitBlameProvider reads last-commit info (author, date) per file from git.storage/Persistence and index management:
IndexStore — Persists parsed symbol indexes to disk for fast retrieval.token_tracker.py — _State tracks token consumption across operations within a process.tools/MCP-compatible tool endpoints for querying the index: