Ask what breaks if you change one function and get the adjacency list of everything downstream, before you make the first edit.
by diffbot ↗Code Intelligence & Repository IndexingCommunity
LABSCO SUMMARY
Impact analysis stops being a grep you hope was thorough.
get-usage-dependency-links walks the graph rather than the text, so the answer to what depends on this covers indirect callers a search across files would miss. Keeping documentation search on its own tool is the other quiet win: a question about how the project is configured returns prose, not the first function whose name happened to match. Everything is answered from the pre-built graph, so what you get back reflects the indexed repository rather than uncommitted work on your disk.
What it is
A client over a pre-built CodeGPT graph of a repository, where each node holds an implementation, its documentation and its relationships to other nodes.
What you get
The complete implementation of a named class, function or method, retrieved from the graph rather than by reading files
The first-level relationships of a node: what references it, what it calls or uses, and where it is declared
An adjacency list of every functionality that a change to one entity would affect
Natural-language search over code entities that matches on meaning rather than on keywords
A separate natural-language search over the repository's documentation files, so a setup question does not return source code
The folder tree under any path in the graph
Requirements
A CodeGPT graph already built for the repository, addressed by CODEGPT_API_KEY, CODEGPT_ORG_ID and CODEGPT_GRAPH_ID.
Setup effort
One command plus a key — npx -y mcp-code-graph@latest <YOUR_CODEGPT_API_KEY><YOUR_CODEGPT_ORG_ID><YOUR_CODEGPT_GRAPH_ID>, then supply credentials
Ask for the dependency links of the entity you are about to change and you get the full set of functionalities affected, not just the ones whose text matches. The direct connections then tell you which of those are one hop away.
get-usage-dependency-linksfind-direct-connections
02
Finding code you can only describe in words
Search on what the code does rather than on what it is called, then pull the implementation of whichever result looks right. Useful when the naming convention is not one you would have guessed.
nodes-semantic-searchget-code
03
Getting oriented in a repository you just joined
Walk the folder tree to see how the project is laid out, and put setup and architecture questions to the documentation search so the answers come back as prose rather than as the first function whose name matched.
folder-tree-structuredocs-semantic-search
6 tools
Counted once with only startup setup. Other versions, modes or optional credentials may expose a different list.
docs-semantic-search
Search through repository documentation using semantic similarity to find relevant information, guides, API documentation, README content, and explanatory materials. This tool specifically targets documentation files (markdown, rst, etc.) rather than code, making it ideal for understanding project setup, architecture decisions, usage instructions, and conceptual explanations. Use this when you need context about how the repository works rather than examining the actual code implementation.
find-direct-connections
Explore the immediate relationships of a functionality within the code graph from the repository . This reveals first-level connections including: parent functionalities that reference this node, child functionalities that this node directly calls or uses, declaration/definition relationships, and usage patterns. Essential for understanding code dependencies and architecture. The repository is represented as a connected graph where each node (function, class, file, etc.) has relationships with other nodes.
folder-tree-structure
Returns the folder tree structure of the given folder path from the repository graph. Useful to understand what files and subfolders are inside the given folder. To access to a file content, use get-code tool.
get-code
Get the complete code implementation of a specific functionality (class, function, method, etc.) from the repository graph. This is the primary tool for code retrieval and should be prioritized over other tools. The repository is represented as a graph where each node contains code, documentation, and relationships to other nodes. Use this when you need to examine the actual implementation of any code entity.
get-usage-dependency-links
Generate a comprehensive adjacency list showing all functionalities that would be affected by changes to a specific code entity. This performs deep dependency analysis through the code graph of the repository to identify the complete impact radius of modifications. Essential for impact analysis, refactoring planning, and understanding code coupling. The result shows which functionalities depend on the target entity either directly or through a chain of dependencies, formatted as 'file_path::functionality_name' pairs.
nodes-semantic-search
Search for code functionalities across the repository graph using semantic similarity based on natural language queries. This tool finds relevant functions, classes, methods, and other code entities that match the conceptual meaning of your query, even if they don't contain the exact keywords. Perfect for discovering related functionality, finding similar implementations, or exploring unfamiliar codebases. The search operates on the semantic understanding of code purpose and behavior.
BEFORE YOU INSTALL
What to know first
Tools you get
6 tools when we connected; the project documents 7. list-graphs, which lists your repository graphs, appears only when the server starts with CodeGPT account credentials rather than public deepgraph.co repository references. All seven tools only read.
Requires
npx on PATH
For private graphs only: a CodeGPT API key, passed as an argument in the configuration rather than set in the environment
Where it runs
All 5 documented setups run the server on your machine.
<YOUR_CODEGPT_API_KEY>, <YOUR_CODEGPT_ORG_ID> and <YOUR_CODEGPT_GRAPH_ID> are values, not variable names: your API key from https://app.codegpt.co/user/api-keys, your Organization ID and your Graph ID. The last two are optional and can be left out. Public deepgraph.co graphs take username/repository-name instead and need no key.
In the command, CODEGPT_API_KEY is your API key from https://app.codegpt.co/user/api-keys, and CODEGPT_ORG_ID and CODEGPT_GRAPH_ID are your Organization ID and Graph ID — both optional, so you can leave those two out. They are values, not variable names:
In the command, CODEGPT_API_KEY is your API key from https://app.codegpt.co/user/api-keys, and CODEGPT_ORG_ID and CODEGPT_GRAPH_ID are your Organization ID and Graph ID — both optional, so you can leave those two out. They are values, not variable names:
Add the block below to ~/.gemini/settings.json for all your Gemini CLI sessions, or to .gemini/settings.json in a project root, which overrides it for that project
In the command, CODEGPT_API_KEY is your API key from https://app.codegpt.co/user/api-keys, and CODEGPT_ORG_ID and CODEGPT_GRAPH_ID are your Organization ID and Graph ID — both optional, so you can leave those two out. They are values, not variable names.
For public deepgraph.co graphs, the arguments are username/repository-name references instead of the three CODEGPT_ values
Point it at a repository and get the architecture back — services, packages, databases, queues and endpoints as a typed graph, plus a drift diff between any two git refs.Read full description
Nine program-analysis tools that let a coding agent trace data flow, walk the call graph, and return a full source-to-sink evidence chain instead of grepping for one.Read full description