Stop coding agents from
changing code blindly
The Graph Server builds a deterministic structural graph of your entire codebase — call chains, inheritance trees, auth guards, blast radius — and makes it queryable by any MCP client. No LLM inside. Pure AST analysis.
Works with your favorite coding tools
Safer, faster, more confident AI-assisted development
Smaller blast radius
Know exactly what breaks before changing a single line. Trace transitive callers across your entire codebase instantly.
Better code review confidence
Every auth guard mapped. Every dependency resolved. Review AI-generated changes with full structural context.
Fewer agent mistakes
Agents stop guessing about cross-file relationships. Deterministic graph queries replace hallucinated assumptions.
Complete auditability
Every edge has confidence 1.0 from AST analysis. Agent-inferred edges are clearly labeled. No hidden decisions.
Faster onboarding
New engineers query the graph to understand call flows, inheritance trees, and authorization patterns across large repos.
Polyglot support
14 languages, one unified graph. Python, TypeScript, Java, Go, Rust, and more — no per-language silos.
Ask. Analyze. Answer.
Query your codebase graph and get precise, auditable results.
Build, query, enrich
Your coding agent calls three MCP tools to get complete structural visibility.
Build the graph
The agent calls graph_rebuild. Codesteward parses the entire codebase with tree-sitter, resolves cross-file references, and stores the structural graph. Incremental rebuilds take under a second.
Query anything
The agent calls codebase_graph_query with any Cypher query. Call chains, unused exports, auth coverage, blast radius — all deterministic, all instant.
Enrich optionally
The agent calls graph_augment to add inferred edges — dynamic dispatch, runtime dependencies. These are marked with confidence < 1.0, never mixed with ground truth.
14 languages. One graph.
Every language contributes the same structural edges. Your polyglot monorepo gets a single queryable model.
No Docker. No database. One command.
The default backend is GraphQLite — an embedded SQLite graph that persists to ~/.codesteward/graph.db. No server to run, no repo to mount, no background process. Set it up once and every repository on your machine is covered.
Set it up once, machine-wide
Auto-detects Claude Code, Cursor, Cline, Codex CLI, and Gemini CLI, registers the MCP server globally, and merges into your existing config — nothing is overwritten.
uvx --from "codesteward-mcp[graph-all,graphqlite]" codesteward-mcp setupOpen any repo and ask
No .mcp.json, no per-project config. The agent builds the graph on first use and queries it from then on.
$ cd /path/to/your/project
$ claude # or: cursor, cline, codex, gemini
"Which routes reach the database without an auth guard?"Need a shared, persistent graph?
GraphQLite keeps the graph in a local file, which is what you want on a laptop. When a team or CI has to query one graph instead of many, swap the backend for Neo4j or JanusGraph — same tools, same queries. Compose stacks ship in the repo.
docker compose -f docker-compose.neo4j.yml up -dGive your coding agents structural visibility.
Explore the documentation or check out the source on GitHub.