What is AxiomCode Graph?
AxiomCode Graph builds a formally grounded map of a software repository, linking functions to the code that calls them and the code they call. Developers and coding agents can use that graph to explore how a codebase works, understand the effects of a proposed change, and identify tests that may be affected. It connects to coding agents through a plugin and an MCP server, and supports Java, TypeScript, and Python, with JavaScript and C# engines in beta.
AxiomCode Graph Features:
Typed Call Graph: The graph resolves calls using declared and inferred receiver types, including relationships through interfaces, overrides, generics, and callbacks.
Codebase Questions: Ask how a part of the code works and the graph traces the relevant code path so an agent can explain where an answer lives.
Change Impact: Follow callers, dependencies, and downstream effects across a repository to see which code a proposed change may reach.
Affected Test Selection: Select tests connected to changed code through the graph, including test suites that do not mention the changed code by name.
Diff Review: Analyze a code diff to identify what changed, what may need to change alongside it, and which callers may need review.
Agent Connections: Connect the graph to coding agents through its plugin or MCP server, with named support including Claude Code, Codex, Cursor, and Windsurf.
AxiomCode Graph Benefits:
Less Exploration: Agents can spend less time searching and rereading files in an unfamiliar repository; AxiomCode reports up to 50% fewer exploration tool calls in its benchmarks.
Fewer Missed Steps: Seeing the scope of a task before editing can help agents finish more of the requested work and reduce follow-up fixes.
More Reliable Changes: A graph based on resolved call relationships gives developers and agents stronger context for avoiding edits that overlook indirect dependencies.
Focused Test Runs: Choosing tests connected to a change can reduce unnecessary test runs while retaining coverage of code paths that may be affected.
Inspectable Results: Source locations and confidence tiers make graph findings easier to check, while unresolved calls remain visible rather than being presented as confirmed links.
Use Cases:
Explore a Repository: When joining an unfamiliar project, ask an agent to trace how a feature works instead of searching through files one at a time.
Plan a Shared Change: Before changing a function used across modules, check which callers and downstream code may need coordinated updates.
Choose Regression Tests: After editing a method, use the graph to identify connected test files, including suites whose names do not reference that method.
Review a Pull Request: When reviewing a diff that changes a method signature, inspect which callers may need updates and which callers only need rechecking.
Guide a Coding Agent: Connect an MCP-compatible agent to the graph so it can use repository relationships while answering code questions or carrying out a task.

