CodeParse is a codebase indexer that gives agents fast, accurate, and compact context on your Python codebases while reducing token usage. It parses your codebase and stores the relationships of your code in a local SQLite database.
- Put the
codeparsebinary on your PATH (release asset ormake compile→dist/codeparse). codeparse install
| Tool | Description |
|---|---|
get_project_overview |
Return the largest directories and the project entry points. |
get_directory_tree |
Return the directory tree. |
get_file_symbols |
Return the symbol tree of one file. |
get_file_imports |
Return the import statements of one file. |
get_symbol |
Return one symbol's definition and its reference counts. |
get_symbol_at_lines |
Return the symbol that covers a line range in a file. |
get_symbol_references |
Return the call, access, and type-annotation sites for one symbol. |
search_symbols |
Full Text Search symbol names. |
list_subclasses |
Return the classes that directly inherit from a class. |
list_importers |
Return the files that import a module. |
| Resource | Description |
|---|---|
skill://codeparse/SKILL.md |
Guided exploration skill for navigating Python codebases. |
stats://codeparse/sessions |
Per-session markdown table of files with tool calls and tokens saved. |
| Command | Description |
|---|---|
install |
Register the MCP server in installed clients and write the skill. |
uninstall |
Remove the MCP server and skill. |
update |
Replace the binary with the latest release and update the skill. |
mcp |
Start the MCP server. |
reload |
Drop the index and reprocess the workspace ad-hoc |
In-Progress
Ten questions found in eval/tasks.json are evaluated against the SQLMesh repo using a baseline agent and an agent with the CodeParse MCP server.
| Model | Baseline Avg Tokens | CodeParse Avg Tokens | Token Reduction |
|---|---|---|---|
| Grok 4.7 High Fast | 393,530 | 265,867 | -32% |
| Opus 5.5 Medium | ... | ... | ... |
Cursor Default Model: grok 4.7
Claude Defualt Model: opus 5.5 medium
make eval-smoke cursorwill run all 10 questions and evaluate.make eval cursorwill run all 10 questions on repeat (10 times) and evaluate.
