codegraph
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
No arguments | |||
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": false
} |
| prompts | {
"listChanged": false
} |
| resources | {
"subscribe": false,
"listChanged": false
} |
| experimental | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| index | Build or incrementally update the code graph for a project. Parses every supported source file (Python/JS/TS/PHP/Ruby/Go) under |
| scopeA | Scope which files codegraph indexes for this project, then force-reindex. On a big
vendor monorepo this is the highest-leverage action - and it's YOURS to do for the user,
not theirs. Pass Call with NO include/exclude for an instant DRY RUN: a suggested exclude list derived from the directory layout (no indexing) - so you can scope a huge repo BEFORE paying for a full index, then apply it. Returns {"dry_run": True, "suggested_exclude": [...], "current": ...}. |
| statsB | Graph overview: file/symbol/edge counts, resolution quality (exact vs inferred vs ambiguous vs unresolved), and breakdown by language and symbol kind. |
| find | Locate where a symbol is DEFINED. Returns every matching definition with file:line and signature. Use before callers/callees when a name is ambiguous. |
| callers | Reverse reachability - everything that (transitively) calls |
| callees | Forward reachability - everything |
| neighbors | Immediate in/out edges of a symbol: its direct callers and direct callees, each with the call-site line and resolution tag. One hop, full detail. |
| blast_radius | Full impact set of touching |
| path | Shortest call path from |
| cycles | Circular dependencies in the call graph: strongly-connected components (mutual recursion / dependency loops) and self-recursive functions. |
| hotspots | Load-bearing symbols ranked by fan-in (how many things depend on them) - where a
careless edit hurts most. Betweenness centrality (how often a node sits on dependency
paths) is ALSO returned, but only for graphs up to ~1500 nodes (it's all-pairs and too
costly above that); past that, |
| pendingA | Relationship drift from UNCOMMITTED edits. For every file changed on disk since the last index, diffs its RESOLVED call edges (caller -> resolved target, container-qualified) against the stored graph and reports what each edit ADDED or REMOVED - catching a re-pointed call (Foo.save -> Bar.save) a name diff would miss. Run after an edit to prove you didn't silently sever a relationship. Folds the changes into the graph as part of the diff. |
| hooksA | WordPress hook/filter dispatch - the string-named action/filter coupling a call graph CANNOT see (add_action/add_filter/register_rest_route/do_action/apply_filters).
Blind spots (honest): dynamic/interpolated hook names, closures, and variable callbacks (call_user_func($x)) cannot be resolved and are not edges. This tool - NOT the |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 4 tools
Each tool has a clearly distinct purpose: stats provides graph overview, scope manages indexing, pending detects uncommitted relationship drift, and hooks analyzes WordPress hook coupling. No two tools overlap in functionality.
All tool names are single words in lowercase (stats, scope, pending, hooks). While they don't follow a strict verb_noun pattern, they are consistently short and descriptive, with no mixing of conventions.
With only 4 tools, the server is well-scoped for its purpose. Each tool covers a critical aspect of code analysis without being over or under represented.
The set covers overview, indexing management, change tracking, and WordPress-specific coupling. A potential gap is the lack of a general symbol or edge query tool, but the existing tools address key workflows.