arbor — Claude Code MCP server: a dependency graph for your code
Turns a codebase into a graph of functions, classes and modules linked by calls and inheritance, so an agent can answer questions about structure without guessing from text.
Open on GitHubWhat arbor does
Arbor indexes a repository into a semantic graph. Functions, classes and modules are the nodes; calls, imports and inheritance connect them. On top of that graph an agent can list callers and callees, measure what a symbol change puts at risk, or trace the shortest route between two places in the code. Edges carry a confidence score, and the graph labels resolutions it cannot settle instead of hiding them. A stated unknown beats a confident mistake.
The engine ships as the arbor CLI. A subset of its answers is exposed as MCP tools, find_api_usages among them, so Claude, Codex, Cursor and other clients can query the same graph. There is also arbor retirements: in a Python codebase it lists calls to OpenAI, Anthropic and Google SDKs that target a model the provider has retired or will retire, along with the replacement and the changes it brings. The same check runs as a GitHub Action. Both work offline, with no account or API key.
The new SDK-facing commands read Python only for now; graph extraction is otherwise untouched. A saved graph is rebuilt once on first use after an upgrade, so that first run takes longer.
What it helps with
- find every caller of a function before editing it
- estimate the blast radius of changing a symbol
- trace the shortest path between two pieces of code
- catch calls to retired AI models in a Python repo
- gate a pull request on blast-radius thresholds in CI
Example prompts for the agent
- Use arbor to list the callers of this function and how deep the chain goes
- Scan this Python project for SDK calls to retired OpenAI, Anthropic and Google models and show the replacements
- If I change this class signature, what breaks?
How to install arbor
Install
The MCP registry has no launch command for it: see the repository README
Step by step, with commands for each platform: How to add an MCP server to Claude Code, Codex, Cursor, VS Code, Gemini CLI and more
Questions about arbor
How do I install arbor in Claude Code?
There is no install command for Claude. Get the CLI from crates.io or a GitHub release binary, then register it with your client as an MCP server.
What does arbor do?
It builds a dependency graph of a codebase and answers questions over it: callers, callees, blast radius of a change, paths between symbols. The same answers reach an agent as MCP tools.
What does arbor need to run?
It runs locally with no account, API key or telemetry. The newer SDK-call commands understand Python only.