Precision-MCP
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@Precision-MCPtrace all callers of authenticate_user and show me the blast radius"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
โก Precision-MCP
Cursor-style AST Codebase Indexing & Surgical Slicing MCP Server for AI Coding Agents
Stop dumping 500-line files into your LLM context window. Give any AI agent Cursor-grade AST symbol navigation in <15ms.
๐ The Problem
Modern coding agents (Claude Code, Gemini CLI, Cursor, Windsurf, OpenCode) suffer from context rot:
Whole-File Dumping: Reading entire files to inspect a single 20-line method floods the context window with boilerplate, increasing API costs by 10x.
Context Window Degradation: Large codebases cause fast models to lose instruction adherence, skip edge cases, or crash on token limits.
Slow Brute-Force Regex: Scanning with regex fails to distinguish between declarations, call sites, and comments.
Indentation & Syntax Drift: Blind search-and-replace mutates line numbers, corrupting codebases.
Precision-MCP solves this by providing a lightweight, high-performance AST indexing engine over the Model Context Protocol (MCP). It indexes your workspace in milliseconds, lets agents retrieve exact symbol slices, analyzes cascading blast radius, and guarantees zero syntax errors via AST-safe mutations.
Related MCP server: CodeMind
โก Performance Benchmarks
Live benchmarks measured across real-world codebases:
Metric | Brute-Force File Read | Standard Ripgrep | Precision-MCP |
Cold Index Speed | N/A (no index) | N/A | ~70-120 ms (Initial scan) |
Warm Re-Index Speed | N/A | N/A | <8.5 ms (Incremental |
Query Latency | ~45 ms (full read) | ~25 ms (text search) | <1.0 ms (Indexed AST) |
Token Usage per Query | 800 - 1,500+ tokens | Snippet only (no body) | 35 - 150 tokens (96.4% saved) |
Cascading Blast Radius | Manual search | Incomplete regex | Automated multi-level call graph |
Code Mutation Safety | Fragile text replace | None | Cross-Language AST/Syntax Gate with Auto-Rollback |
Memory Footprint | Process memory bloat | Variable | <12 MB (Zero dependencies) |
Run the visual benchmark demo on your own machine:
python -m precision_mcp.demo๐ ๏ธ Architecture
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ AI Coding Agent (Claude Code / Cursor / Gemini CLI) โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโฌโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ JSON-RPC 2.0 (stdio)
โผ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ Precision-MCP โ
โ โ
โ โโโโโโโโโโโโโโโโโโโโ โโโโโโโโโโโโโโโโโโโโโ โ
โ โ MCP Server โ โ AST Parser โ โ
โ โ (stdio driver) โ โโโโโโโโโบ โ (Python AST + โ โ
โ โโโโโโโโโโฌโโโโโโโโโโ โ Regex TS/Go/Rs) โ โ
โ โ โโโโโโโโโโโฌโโโโโโโโโโ โ
โ โผ โผ โ
โ โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ โ
โ โ CodebaseIndexer (.precision_index.json) โ โ
โ โ - Symbol graph (Classes, Methods, Funcs) โ โ
โ โ - Exact [start_line, end_line] slices โ โ
โ โ - Call-site graph & caller tracing โ โ
โ โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ๐ฆ Installation & Setup
Option 1: Run instantly with uvx (No installation needed)
uvx precision-mcpOption 2: Install via pip
pip install -e .
precision-mcpโ๏ธ Configuration in Agents
1. Claude Desktop / Claude Code (claude_desktop_config.json)
{
"mcpServers": {
"precision-mcp": {
"command": "python",
"args": ["-m", "precision_mcp.server", "--root", "/path/to/your/project"]
}
}
}2. Cursor IDE (settings.json)
{
"mcp": {
"servers": {
"precision-mcp": {
"command": "precision-mcp",
"args": ["--root", "."]
}
}
}
}3. Antigravity IDE / Gemini CLI (mcp_config.json)
{
"mcpServers": {
"precision-mcp": {
"command": "python",
"args": ["-m", "precision_mcp.server", "--root", "."]
}
}
}๐งฉ Exposed MCP Tools
Tool | Parameters | Description |
|
| Scans workspace with incremental |
|
| Locates functions, classes, or methods with exact line boundaries |
|
| Generates structural skeleton of any file without reading its entire body. |
|
| Extracts the exact source code block of a single function or class. |
|
| Identifies all direct callers of a given symbol across the codebase. |
|
| Blast Radius Analyzer: Traces cascading multi-level callers and affected files before refactoring. |
|
| Syntax-Safe Surgical Mutator: Replaces symbol block with cross-language syntax verification (Python, TS/JS, Go, Rust) and automatic rollback. |
๐งช Testing
Run 20 unit tests across parser, indexer, and MCP protocol handlers:
python -m unittest discover -s tests -v๐ License
MIT ยฉ Rohit Kumar Khamrai
Available Tools
7 toolsfind_callersB
Find all functions and methods in the codebase that invoke a given function or method.
| Name | Required | Description | Default |
|---|---|---|---|
| symbol_name | Yes | The function or method name to trace callers for. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the burden. It conveys that this is a read-only search across the codebase, but does not disclose whether callers are direct vs transitive, whether results are paginated, or any indexing prerequisites.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single front-loaded sentence with no filler; every word contributes to defining the operation and its target.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a one-parameter read tool with no output schema, the description adequately covers purpose and target. Minor gaps around indexing prerequisites and direct/transitive scope remain, but nothing essential to correct invocation is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so symbol_name is already documented in the schema. The description adds no syntax, naming, or scoping detail beyond what the schema states, so the baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Clear verb 'find' with a specific resource: functions/methods that invoke a given symbol. It defines a reverse-call lookup, which is distinguishable from find_symbol and get_outline, though it does not explicitly contrast itself with the potentially overlapping get_impact_radius.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this versus siblings like find_symbol or get_impact_radius, and no stated prerequisites (e.g. whether the codebase must be indexed first). Usage is only implied by the verb.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
find_symbolA
Locate classes, functions, or methods by name. Returns file paths, exact line bounds [start_line, end_line], parameter signatures, and docstrings.
| Name | Required | Description | Default |
|---|---|---|---|
| query | Yes | The symbol name or substring to search for (e.g. 'assemble_piece', 'UserSession'). |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description must carry the full burden; it partially does by disclosing the return payload (paths, [start_line, end_line] bounds, signatures, docstrings) and implying a read-only lookup. It stays silent on substring vs. exact matching behavior, result limits, and what happens with multiple matches.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two tightly packed sentences, zero redundancy, with the core action front-loaded and the return values following immediately.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The output is described in prose, which offsets the absent output schema, but for a tool in an indexed-codebase family the description omits whether indexing is a precondition and how ambiguous matches are resolved, leaving real gaps for an agent deciding how to call it.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The single parameter has 100% schema description coverage including an example, so the baseline is 3. The description adds only the notion of matching 'by name', which is already implied by the schema's 'symbol name or substring' text.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb ('Locate') with a concrete resource ('classes, functions, or methods by name') and enumerates what comes back (paths, line bounds, signatures, docstrings). It does not explicitly distinguish itself from look-alikes such as get_symbol_slice or get_outline, so it stops short of a 5.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is only implied: 'by name' signals this is a name-based lookup, but the description never states when to prefer it over get_outline, get_symbol_slice, or index_codebase, nor any prerequisite such as requiring an indexed codebase first.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_impact_radiusA
Analyze cascading downstream blast radius before refactoring. Identifies all callers, affected files, and risk level across the codebase.
| Name | Required | Description | Default |
|---|---|---|---|
| max_depth | No | Maximum depth for cascading caller traversal (default: 2). | |
| symbol_name | Yes | Name of the function, class, or method to analyze. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral burden. It discloses the analysis outputs (callers, affected files, risk level) and the cascading nature of the traversal, but never states that it is read-only, how depth affects results, or what the risk level is derived from.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two tight sentences with the core purpose front-loaded and no redundant restatement of the tool name. The trailing 'across the codebase' is mild filler but does not undermine the structure.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema and no annotations, the description does useful work by naming the three return elements (callers, affected files, risk level). It remains a bit thin on how risk level is defined and what the traversal produces at each depth, but it covers the essentials for invoking the tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so both symbol_name and max_depth are already documented in the schema, making 3 the baseline. The description only echoes the cascading concept and adds no new syntax, format, or semantic detail about the depth parameter.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource ('Analyze cascading downstream blast radius') and enumerates what it identifies (callers, affected files, risk level). It is clear enough to distinguish from find_callers by the word 'cascading,' but it never names that sibling explicitly, so the differentiation is left to inference.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The phrase 'before refactoring' implies the usage context, which is better than nothing. However, there is no explicit when-not guidance and no mention of find_callers as the lighter-weight alternative for direct-caller lookup, so an agent must guess at the boundary between the two.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_outlineA
Get the structural skeleton (all classes, functions, line bounds) of a file without reading its entire contents into context.
| Name | Required | Description | Default |
|---|---|---|---|
| file_path | Yes | File path relative to the workspace root (e.g. 'core/assemble.py'). |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It does disclose the return scope (skeleton only, not bodies) and implicitly that this is a non-mutating read, but it says nothing about permissions, error behavior for missing files, or handling of non-code files.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
One sentence, front-loaded with the primary purpose and parenthetically enumerating the returned content. Every clause earns its place with no padding.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description usefully enumerates the return contents (classes, functions, line bounds), which is what an agent needs for a simple single-parameter read tool. Minor gaps around error handling and unsupported file types remain.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Single parameter at 100% schema coverage, so the schema already documents file_path and its workspace-relative format. The description adds only that it targets 'a file', which is the baseline expectation.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb ('get') and resource ('outline') and immediately defines what the outline contains: classes, functions, line bounds. An agent knows exactly what artifact it receives, though it does not explicitly contrast itself with siblings like get_symbol_slice or find_symbol.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The phrase 'without reading its entire contents into context' implies the token-efficiency motivation for choosing this over a full file read, but no alternative tool is named and no when-not condition is given. Usage is inferable rather than stated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_symbol_sliceB
Extract the exact source code block of a single function or class by symbol name without reading the surrounding file.
| Name | Required | Description | Default |
|---|---|---|---|
| file_path | Yes | File path containing the symbol. | |
| symbol_name | Yes | Name of the function, class, or method to slice. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must carry the behavioral load. It does disclose the key behavior that only the exact symbol block is returned, not the surrounding file, which is useful. However, it omits whether the operation is read-only, how ambiguities (e.g., overloaded methods) are resolved, or what happens when the symbol is not found.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single sentence with zero waste, front-loading the action and the differentiator (exact block, no surrounding file). Every word earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
No output schema exists, so the description must clarify return values; it does so adequately by stating 'exact source code block'. Yet for a tool with no annotations and no output schema, it leaves gaps around error handling, ambiguity resolution, and whether the block includes line numbers or metadata. The slight mismatch between 'function or class' in the description and 'function, class, or method' in the schema also reduces completeness.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so both parameters are fully documented in the schema. The description adds only 'by symbol name' and implies file_path, but does not provide additional syntax or format guidance beyond what the schema already offers, so the baseline of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb (extract) and resource (exact source code block of a single function or class by symbol name) and implicitly contrasts with reading the whole file. It distinguishes itself from siblings like find_symbol and get_outline by focusing on the code block itself, though it never names those alternatives explicitly.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Offers no explicit when-to-use guidance or comparison to alternatives such as find_symbol, get_outline, or find_callers. The phrase 'without reading the surrounding file' hints at efficiency but leaves the agent to infer the appropriate context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
index_codebaseB
Scan and index all classes, functions, and methods across the workspace for sub-millisecond symbol search.
| Name | Required | Description | Default |
|---|---|---|---|
| force | No | Force a fresh re-scan instead of using the on-disk index cache. | |
| workspace_path | No | Root path of the workspace (defaults to current working directory). |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral burden, yet it omits the key facts: that it writes/refreshes an on-disk index, that it can be slow on large workspaces, and how the cache behaves. The caching detail appears only in the schema's 'force' parameter, not in the description.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single front-loaded sentence with no filler, stating action and benefit. It is efficient, though arguably too terse given the tool's side effects and prerequisite role.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For an indexing tool with no annotations and no output schema, the description covers what it produces but not the state it mutates, the cost of the operation, or its prerequisite relationship to the symbol-retrieval siblings. Adequate but leaves real gaps.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so both parameters (force, workspace_path) are already fully documented in the schema. The description adds no parameter detail beyond what is there, which is the expected baseline.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb (scan and index) and concrete resources (classes, functions, methods) with scope (workspace) and a payoff (sub-millisecond symbol search). It is distinguishable from the read-only siblings (find_symbol, get_outline) as the index-building prerequisite, though it never names them explicitly.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is only implied: the agent must infer that this is the setup step that makes symbol search fast. There is no statement of when to call it (first run, after edits), when not to call it, or how it relates to find_symbol/get_outline.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
patch_symbolA
Surgically replace a function or class block by symbol name. Automatically validates AST syntax and rolls back if invalid, guaranteeing zero malformed edits.
| Name | Required | Description | Default |
|---|---|---|---|
| new_code | Yes | The replacement source code for that symbol block. | |
| file_path | Yes | Path of the file to modify. | |
| symbol_name | Yes | Name of the function, class, or method being replaced. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden and does disclose meaningful behavior beyond structured data: automatic AST syntax validation and automatic rollback on invalid input. It does not state overwrite/destructive semantics, permission requirements, or how indentation/formatting is preserved.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two tight sentences with no filler, front-loading the core action before the safety guarantee. Every clause earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a mutation tool with no annotations and no output schema, the description covers the essential action and the key safety behavior (validation + rollback). What remains missing is destructive/overwrite framing and any error or return behavior, but the core is complete enough to invoke correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so all three parameters are already documented, giving a baseline of 3. The description's 'function or class block by symbol name' adds marginal color (the schema also mentions methods) but no new syntax, format, or constraint detail.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb and resource: 'replace a function or class block by symbol name.' It is clearly distinguishable from the read-only siblings (find_symbol, get_symbol_slice, get_outline) because it is the only mutation tool, but it never explicitly names or contrasts them.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is only implied: an agent can infer you call this when you want to overwrite a symbol's source. There is no explicit when-to-use/when-not guidance and no mention of alternatives (e.g., whole-file rewrite vs. symbol patch).
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
7 tool updates
v0.1.0- First observed
find_callers - First observed
find_symbol - First observed
get_impact_radius - First observed
get_outline - First observed
get_symbol_slice - First observed
index_codebase - First observed
patch_symbol
TDQS
Scored across 7 tools
Most tools target distinct actions: indexing, symbol lookup, file outline, source slicing, caller search, impact analysis, and patching. Find_callers and get_impact_radius overlap since impact_radius includes caller discovery, but the descriptions distinguish direct callers from broader blast-radius analysis.
All tool names use consistent snake_case with a verb-first pattern: index_, find_, get_, and patch_. The convention is predictable despite a mix of verbs, and each name clearly signals the operation and target.
Seven tools is well-scoped for a code-intelligence and refactoring server. Each tool covers a distinct step in the workflow, from indexing to patching, without obvious redundancy.
The surface covers discovery, navigation, slicing, caller analysis, impact analysis, and safe patching. It lacks explicit create, delete, rename, or move-symbol operations, but agents can work around these via patch_symbol and impact analysis.
Maintenance
Related MCP Connectors
Ask a codebase what calls what: search, blast radius, paths between symbols, and diffs.
Code intelligence for coding agents: semantic, AST, graph, and full-text search. 279+ languages.
Codebase intelligence for AI agents โ dead code, blast radius, ownership.
Deterministic context layer for your codebase: change impact, blast radius, answers with receipts.
Related MCP Servers
- AlicenseNot gradedqualityDmaintenanceEnables LLM agents to efficiently understand and navigate a codebase by providing semantic search over symbols and a reference graph, replacing expensive grep/glob calls with structured tools like definition lookup, caller/callee queries, and change-impact analysis.3MIT
- FlicenseNot gradedqualityDmaintenanceProvides persistent codebase memory and semantic context for AI agents via AST-aware chunking and symbol graph indexing.1-
- AlicenseNot gradedqualityAmaintenanceProvides AI agents with causal code memory by indexing repositories into a graph of symbols and edges, enabling context-aware retrieval of relevant code slices.521 PyPI3MIT
- FlicenseNot gradedqualityAmaintenanceProvides efficient code navigation and graph-based analysis for AI agents, enabling symbol resolution, callers, implementations, and type schemas with minimal token usage.-