Skip to content

Code Intelligence MCP Server for AI Coding Agents

Kivgraph is a local code intelligence MCP server for AI coding agents. It indexes Go, TypeScript, Rust, Python and Dart repositories into a canonical knowledge graph, then answers structural questions about the codebase.

The five languages are not resolved to the same standard, and the graph says which is which: Go, TypeScript and Rust edges are type-checked; Dart edges are resolved by Dart Analysis Server; Python uses exact semantic facts when a configured analyzer provides them and CANDIDATE facts in its bundled AST fallback.

This is semantic code navigation, not a text search wrapper. Kivgraph preserves declarations, symbols, callers, callees, repository relationships and unresolved facts with the evidence that produced them.

An agent can ask:

  • Where is this symbol declared?
  • Who calls or references it?
  • What dependencies does it reach?
  • Which repositories consume it?
  • What breaks if I change it?
  • What source code belongs to the returned symbols?

The MCP tools expose these questions directly through find_symbol, find_references, trace_dependencies, get_blast_radius and get_source.

grep can find matching text. It cannot distinguish two homonymous methods, prove that a reference is a call to a particular declaration, or show a dependency that crosses repository boundaries. Kivgraph uses the configured language analyzers and keeps EXACT, CANDIDATE and UNRESOLVED results distinct.

An empty result is therefore meaningful only when the response reports sufficient confidence and completeness. Unresolved facts remain visible instead of being silently discarded.

Text search is still the cheaper tool for some questions. On the 29-question benchmark grep costs fewer tokens on five of them — a rare name in a single repository, where reading the two files that hold it beats a graph query. Kivgraph is worth the call on common names, on transitive impact, on cross-repository consumers and where an absence has to be proven. The measured split is in the comparison.

Indexing, graph queries and MCP serving run locally. A repository is identified explicitly, so the graph can answer cross-repository questions without merging unrelated projects into one anonymous namespace.

Start with the Quickstart, then register the server with a supported MCP client.