cross-repo-graph
Analyzes Angular HTTP clients and TypeScript environment files to resolve service addresses and link frontend calls to backend endpoints across repositories.
Reads Vite/CRA [.env](/mcp/servers/integrations/dotenv).<environment> files (public prefixes only) to resolve configured service addresses for cross-repo HTTP links.
Indexes F# code in ASP.NET Core projects as part of the per-repo AST graph and cross-repo call and endpoint linking.
Indexes ASP.NET Core/.NET repositories, extracting C# and F# symbols and linking HTTP endpoints and NuGet package dependencies across repos.
Resolves npm package dependencies as cross-repo links, showing package-based connections between repositories.
Resolves NuGet package dependencies as cross-repo links alongside HTTP and service-address links.
Analyzes TypeScript Angular HTTP clients and environment*.ts files to connect frontend calls to backend endpoints across repositories.
Understands Vite/CRA .env.<environment> files to resolve service addresses for cross-repo HTTP links.
This server does not currently have a deployable release on Glama. Follow the repository's setup instructions to install and configure it for your MCP client, including any required credentials and local dependencies.
cross-repo-graph
A local MCP server that gives coding agents a code graph across all repositories of a project: classes, methods, calls and imports inside each repo, and the links between repos. Those links are HTTP calls from client to endpoint, service addresses from config, and NuGet/npm packages. Every link carries file:line evidence on both sides.
The question it answers best is "who breaks if I change this API?". Grep misses calls whose URL is assembled from config (_settings.HolidayServiceUrl + year) or that go through generated clients. The linker resolves both, and it separates calls that really exist (used) from clients that are only declared (declared-only).
How it works
cross-repo-graph index cross-repo-graph serve
project folder stdio (default) or --http <port>
├─ repo A ─┐ Graphify (AST, no LLM) ├─ list_repos
├─ repo B ─┤──────────► per-repo graphs ├─ query_graph / get_node / get_neighbors / shortest_path
└─ repo C ─┘ cross-repo linker ├─ dependencies (between repos, file:line)
│ └─ architecture_hubs (central classes of a repo)
▼
.ai/.index/ graph.json · links.json · repos.json ◄── read by the server, hot-reloadedIndexer. It finds every git repo one or two levels below the project folder and skips
worktrees/. It runs Graphify on each repo (AST only,.gitignorerespected), merges the graphs, then adds cross-repo links. A repo is re-extracted only when its HEAD or uncommitted changes differ from the last run, so an unchanged project re-indexes in about 2 s. Output files are replaced atomically, and a lock stops concurrent runs.Server. It is read-only. It loads the graph once and reloads it when
graph.jsonchanges, and every answer fits a token budget. It does not read or search file contents: agents already have their own file tools.Nothing leaves the machine. No LLM, no network at run time (uv downloads Graphify once).
The linker currently understands ASP.NET Core (C#, F#, minimal API), Angular/TypeScript HTTP clients, ng-openapi-gen, NSwag, Refit, appsettings*.json, environment*.ts and Vite/CRA .env.<environment> files (public prefixes only). For other stacks you still get the per-repo AST graph.
Related MCP server: rpg-encoder
Requirements
Node.js 22+
uv on PATH (
winget install astral-sh.uv,brew install uvorcurl -LsSf https://astral.sh/uv/install.sh | sh). The indexer runs Graphify throughuvx --from graphifyy==0.9.66. SetCRG_GRAPHIFYto use a graphify executable you already have.
Usage
# in the project folder (the one that contains the repos)
npx -y cross-repo-graph index # → .ai/.index/
npx -y cross-repo-graph serve # MCP over stdio
# options
cross-repo-graph index --project <dir> --index <dir> [--force] [--hosts hosts.json]
cross-repo-graph serve --index <dir> [--http 3917] [--host 127.0.0.1]--hosts takes { "timetracking.example.com": "timetracking-api" } entries for services whose host the linker can't attribute on its own.
Claude Code
claude mcp add --scope local code-graph -- npx -y cross-repo-graph serve --index "<project>/.ai/.index"With the agent-playbook code-graph plugin, the server and a SessionStart re-index hook are set up per project automatically.
Docker / shared instance
serve --http <port> speaks stateless Streamable HTTP on /mcp (plus /healthz). Use it when several sessions or people should share one process, or when the graph is large.
Tools
Tool | Use it for |
| what is indexed: repo keys, folders, branch, commit, dirty, time |
| who calls whom between repos; with |
| direct callers / callees of a symbol, including HTTP calls from other repos |
| find symbols by name and expand their neighbourhood (BFS) or trace a path (DFS) |
| one symbol: file, line, repo, degree |
| how two symbols are connected, across repos |
| the classes a repo is built around, with callers and incoming cross-repo calls |
Development
npm install
npm test # unit tests (node:test via tsx)
npm run build # → dist/License
Apache-2.0. The graph query semantics are ported from Graphify (Apache-2.0); see NOTICE.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
Loading tool schema changelog…
This server cannot be deployed
Maintenance
Related MCP Connectors
Codebase intelligence for AI agents — dead code, blast radius, ownership.
Give your AI agent a persistent map of your project's structure, dependencies, and bugs.
Ask who calls a route, what a change breaks or who reads a field, across a system's repos.
Hosted code graph over MCP: exact callers, dependencies, and cross-repo blast radius for AI agents.
Related MCP Servers
- AlicenseNot gradedqualityDmaintenanceEnables AI agents to query and analyze code across multiple repositories through a unified knowledge graph, with tools for symbol search, impact analysis, and graph algorithms.54 npmMIT
- AlicenseNot gradedqualityDmaintenanceProvides semantic codebase understanding via a graph, enabling AI agents to search, explore, and plan changes with whole-repo context in a single tool call.32MIT
- AlicenseAqualityBmaintenanceEnables AI coding agents to query a semantic cross-repository code graph for symbols, references, callers, dependencies, and change impact across registered repositories.1223Apache 2.0
- AlicenseNot gradedqualityBmaintenanceIndexes a codebase into a symbol-level graph and exposes tools for finding symbols, querying relationships, and assessing impact, letting AI coding agents answer structural questions in a single call within a token budget.83 npm4Apache 2.0