codegraph
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
No arguments | |||
Capabilities
Features and capabilities supported by this server
| 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 | |
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/Doublehead/codegraph'
If you have feedback or need assistance with the MCP directory API, please join our Discord server