# Koragraph, full text > Koragraph turns every repository you point it at into one live code graph, served over MCP, so your AI agent reads your systems instead of rediscovering them. This file is the complete text of https://www.koragraph.in, generated from the same data the pages render from. The short version is at https://www.koragraph.in/llms.txt. ## Product Koragraph MCP is the first thing Koragraph ships. One live graph of every repository you point it at, served over the Model Context Protocol, so the agent you already use reads your systems instead of rediscovering them. It is free and it runs locally. The graph is built and served from the developer's own machine, and no source code is sent to a hosted endpoint, which is what makes it usable inside organisations that cannot send code to a third party at all. Repository: https://github.com/Koragraph/KoragraphMCP Package: koragraphmcp Requires: Node.js 22 or newer License: BUSL-1.1, free to use including at work. Speaks the Model Context Protocol, so it connects to any MCP capable coding tool. Confirmed compatible: Claude Code, Cursor, Windsurf, Cline, Continue, Codex, OpenCode, Zed, Antigravity, GitHub Copilot. ## Install 1. Install the server: npm install -g koragraphmcp 2. Ingest a repository: koragraph ingest /path/to/repo 3. Check the install: koragraph doctor 4. Add it to Claude Code: claude mcp add koragraph -s user -- koragraph mcp Point it at several repositories and the calls that cross between them resolve into one graph. Full walkthrough: https://www.koragraph.in/integrations/claude-code ## Tools - explore: Symbol or plain English. Ranked declarations plus source, callers, callees. - blast_radius: Run before editing. What depends on this, and what has no test coverage. - search_code: Locate a name in the graph, not raw text. - neighbours: Callers and callees of one symbol. - changes_with: What has historically changed together with a symbol. - file_symbols: Declarations in one file. - overview: Orient on the first turn. Store level index across repos. - recall: A failed attempt and its fix, a hazard, a revert. - remember: Save a durable, code anchored fact. The only writer. ## Languages parsed Twelve, through tree-sitter: C, C++, C#, Go, Java, JavaScript, PHP, Python, Ruby, Rust, Swift, TypeScript and TSX. ## Benchmarks ### Koragraph vs Graphify Declaration extraction, indexing speed and retrieval, across ten languages and 102 repositories. Published August 2026. Systems compared: Koragraph, Graphify v0.9.28 at depth 6. URL: https://www.koragraph.in/benchmarks/koragraph-vs-graphify Corpus, questions, gold sets and scorer: https://github.com/agilkatakam/graph-benchmark Koragraph indexes 99.70% of the declarations in 102 repositories against Graphify’s 82.07%, does it with 3.78× less CPU, and beats Graphify’s best retrieval result at any depth while spending 45% fewer tokens. Measured figures: - 99.70% (against Graphify 82.07%): declaration recall across 10 languages - 3.78× (against ahead on 17 of 17 repositories): less CPU to index - 0.824 (against Graphify’s best 0.769, on 45% fewer tokens): retrieval recall against their ceiling - 4 of 6 (against 2 ties, none lost): context budgets won on retrieval ## Research ### 94% of Frontier Retrieval Quality from a 494M-Parameter Model Method summarisation for code knowledge graphs in 2.43 GPU-hours, and the point where more training data stops paying. Akhil Katakam, Koragraph. August 2026. Preprint. URL: https://www.koragraph.in/research/small-model-method-summarisation PDF: https://www.koragraph.in/research/small-model-method-summarisation.pdf Headline result: A 494M-parameter model fine-tuned for 2.43 T4-hours, about $0.85 of commodity GPU time, writes the method descriptions a code knowledge graph is searched on at 93.8% of the frontier teacher’s retrieval quality, and beats a hosted model Koragraph itself was paying for. Abstract: Every method in a code knowledge graph carries one sentence saying what it is for. That sentence is what developer queries are matched against, so its quality is retrieval quality, and it is produced at the scale of the codebase rather than of usage. We fine-tuned Qwen2.5-Coder-0.5B-Instruct on 20,000 teacher-labelled examples for 2.43 hours on a single T4 and measured it against four hosted models and its own untrained baseline on a sealed corpus of 2,393 methods with repository-cluster-disjoint splits. Scored at top-8, which is what the production retriever uses, the fine-tuned model reaches 87.5 against the teacher’s 93.3, or 93.8% of frontier quality, and beats Gemini 2.5 Flash Lite, a hosted model Koragraph runs in its own extraction path, by 4.1 points at p < 0.0001. Two further results: 91% of the total gain over the untrained baseline arrives within the first 2,500 training examples, while held-out loss keeps improving by 14% across the same span, so the training objective goes on rewarding data long after the task stops responding to it; and the evaluation protocol determines the answer, since scoring a single model-written sentence against a pool of teacher-written ones sits 2.7 points below the uniform protocol a deployed graph actually requires. Key figures: - 93.8%: of frontier teacher retrieval quality, hit@8 - $0.85: commodity GPU time to train the shipping model - 91%: of the total gain from the first 2,500 examples ### Can Graph-Based Context Engineering Substitute for Model Scale? Task Resolution and Cost for Cheap and Frontier Models on Repository-Level Code Tasks. Akhil Katakam, Koragraph. August 2026. Preprint. URL: https://www.koragraph.in/research/graph-context-vs-model-scale PDF: https://www.koragraph.in/research/graph-context-vs-model-scale.pdf Released task suite: https://github.com/agilkatakam/Koragraph_test_suite_1 Headline result: A cheap model given graph-derived context solved 9 of 11 repository-level tasks at $0.027 per solved task. A frontier agentic system searching the same repositories with grep solved 9 as well, at $2.82. Abstract: On a 2×2 factorial of model tier against context source, switching the cheap model from grep to graph retrieval moved it from 2/11 tasks to 9/11, winning seven tasks and losing none. The same switch moved the frontier tier not at all, which records 9/11 either way. Structured context substitutes for model scale in one tier and is redundant in the other. Every condition received three independent draws on every task; the full matrix is 132 cells and it was executed three times with the same tasks-solved outcome each time. Tasks are drawn from two open-source repositories at pinned commits and graded by executable oracles hidden from every condition. The suite is released with the paper. Key figures: - 2 → 9: cheap tier, tasks solved, grep → graph - 9 → 9: frontier tier, tasks solved, grep → graph - 105.9×: cost per solved task, frontier+grep vs cheap+graph ## Glossary ### Code knowledge graph A structured map of a codebase where every declaration is a node and every real relationship between them is an edge. A code knowledge graph is a structured map of a codebase in which every declaration, meaning every function, class, method, type and file, is a node, and every relationship between them is an edge. The edges are the point. A call is an edge, an import is an edge, inheritance is an edge, and so is an HTTP request that leaves one service and arrives in another. It differs from text search in what it stores. A text index stores strings and finds the ones that look similar to your question. A graph stores resolved structure, so it can answer a question about how the code is connected rather than about which files happen to contain the same words. That is why it can tell you what breaks if you change something, and a search box cannot. URL: https://www.koragraph.in/glossary#code-knowledge-graph ### Model Context Protocol (MCP) An open standard that lets an AI model call external tools and read external data through one common interface. The Model Context Protocol is an open standard that lets an AI model call external tools and read external data through one common interface. Anthropic introduced it in November 2024 and it has since been adopted well beyond Anthropic tooling. It matters because it removes the integration problem. Before a shared protocol, connecting a data source to five different coding agents meant five different integrations. With MCP, a data source implements the protocol once and every MCP capable client can use it. That is why one MCP server can serve Claude Code, Cursor, Windsurf, Codex, Cline, Zed and others without knowing anything about them individually. URL: https://www.koragraph.in/glossary#model-context-protocol ### MCP server A program that exposes tools or data to an AI agent over the Model Context Protocol. An MCP server is a program that exposes tools or data to an AI agent over the Model Context Protocol. The agent is the client, the server is whatever you want the agent to be able to reach, and the protocol is the contract between them. Servers can run locally on your own machine or remotely over a network. A local server is the right shape when the data should not leave the machine, which is the usual case for source code. Koragraph MCP is a local server: it builds the graph on your machine and answers from it there, with no source code sent anywhere. URL: https://www.koragraph.in/glossary#mcp-server ### Blast radius Everything that could break if you change one piece of code, including the parts of it that no test covers. Blast radius is everything that could break if you change one piece of code. It is the set of callers, and the callers of those callers, and the code paths that reach the thing you are about to edit, including the ones that cross a repository boundary. The reason it is worth naming is that it is the question people actually ask before editing, and it is a question text search answers badly. Finding every string that matches a function name is not the same as finding everything that depends on it, and neither one tells you which of those paths has no test covering it. A graph can answer both, because dependence is an edge it already stored. URL: https://www.koragraph.in/glossary#blast-radius ### Call graph The subset of a code graph that records which functions call which other functions. A call graph is the part of a code graph that records which functions call which other functions. Follow the edges forward from a function and you get everything it depends on. Follow them backward and you get everything that depends on it. The quality of a call graph depends entirely on how the edges were made. An edge guessed from a matching name is wrong whenever two unrelated functions share a name, which in a large codebase is constantly. An edge resolved against the syntax tree is an edge only where the code really connects. URL: https://www.koragraph.in/glossary#call-graph ### Cross service edge A dependency that leaves one repository or service and lands in another, which single repository tools cannot see. A cross service edge is a dependency that leaves one repository or service and arrives in another. An HTTP call from a frontend to an API, a gRPC method defined in a shared protobuf file, a message published to a topic that another service consumes, a package published by one repository and imported by a second. These edges are where single repository tooling goes quiet. Each repository is internally consistent and complete on its own terms, so an index built inside one of them cannot see that the function it just described is called by something in a repository it was never pointed at. Resolving those edges is what turns several graphs into one. URL: https://www.koragraph.in/glossary#cross-service-edge ### Git co-change Two pieces of code that keep getting changed in the same commits, which reveals coupling the syntax does not show. Git co-change is the observation that two pieces of code keep getting modified in the same commits. It is mined from repository history rather than from the code itself. It is useful because it finds coupling that no parser can see. Two files with no import between them and no shared symbol can still be joined by an undocumented contract, a serialisation format, a magic constant, or a convention nobody wrote down. If they have changed together forty times, they are coupled, whatever the syntax says. That is a real dependency and it is invisible to static analysis alone. URL: https://www.koragraph.in/glossary#git-co-change ### Tree-sitter A parser generator that turns source code into a concrete syntax tree, fast enough to run over a whole codebase. Tree-sitter is a parser generator that turns source code into a concrete syntax tree. It was built for editors, so it is fast, it is incremental, and it can parse a file that does not currently compile, which matters because code spends a lot of its life in that state. For graph building it means declarations can be extracted from the structure of the code rather than from pattern matching over text. Koragraph MCP uses tree-sitter across twelve languages, which is why the same extraction logic behaves consistently whether it is looking at Go, Python, Rust or TypeScript. URL: https://www.koragraph.in/glossary#tree-sitter ### GraphRAG for code Retrieval that walks a graph of a codebase to assemble context, instead of returning the chunks that scored highest for similarity. GraphRAG for code is retrieval that walks a graph to assemble context, rather than returning the text chunks that scored highest on similarity to the question. Ordinary retrieval augmented generation embeds chunks of a codebase and returns the nearest ones. Graph based retrieval starts from a node and follows real edges out from it. The difference shows up in what comes back. Similarity search returns code that resembles the question. A graph walk returns the code the answer actually depends on, including pieces that share no vocabulary with the question at all, which is a common case in code because the caller and the callee are frequently written in completely different terms. URL: https://www.koragraph.in/glossary#graphrag-for-code ### Context window The fixed amount of text a model can consider at once, which is a budget rather than a container. A context window is the fixed amount of text a model can take into account in a single request. Everything the model knows about your specific situation has to fit inside it. Treating it as a budget rather than a container is the useful shift. A window filled with whole files spends most of itself on code that has nothing to do with the question, and long inputs measurably degrade reliability well before the stated limit is reached. The job of a context layer is to decide what goes in, so the same answer costs a fraction of the window and the model is not asked to ignore most of what it was handed. URL: https://www.koragraph.in/glossary#context-window ### Context layer The system that decides which parts of your codebase an AI agent sees for a given question. A context layer is the system that sits between your codebase and your AI agent and decides what the agent sees for any given question. The agent supplies the reasoning. The context layer supplies the facts and, more importantly, chooses which facts. Without one, an agent rediscovers your codebase on every request by reading files until it runs out of room. With one, the selection is made against a structure that already knows how the code connects, so what arrives in the window is the resolved subgraph the question needs rather than the files whose names looked promising. URL: https://www.koragraph.in/glossary#context-layer ### Declaration extraction Finding every function, class, method and type a codebase actually defines, which is the floor everything else stands on. Declaration extraction is the step that finds every function, class, method, interface and type a codebase defines. It sounds mechanical, and it is the floor that everything else stands on. It is worth measuring because a declaration that is never extracted cannot be found by any later query, and nothing in the system reports that it is missing. The failure is silent. A tool that extracts 82 percent of declarations is not eighteen percent worse than one that extracts 99 percent, it is a tool where roughly one lookup in five can fail for a reason the user will never be shown. URL: https://www.koragraph.in/glossary#declaration-extraction ## Korablog ### Two Millennium Prize Results in One Month, and a Credit Fight Over Who Actually Found the Idea September 10, 2026. 8 min read URL: https://www.koragraph.in/blog/riemann-navier-stokes-agent-swarms-credit-dispute Tags: Agent swarms, Formal proof, Multi-agent topology, Research Claude needed sixty agents to push a Riemann hypothesis bound to 67.2 percent. OpenAI needed ten thousand to prove Navier-Stokes blow-up, and now disputes credit with the two humans who found the route first. ### 18 of 19 Frontier Models Score Lower on Agentic Work Than on Reasoning, and Graph Theory Already Named the Bottleneck September 8, 2026. 7 min read URL: https://www.koragraph.in/blog/agentic-reasoning-gap-over-squashing Tags: Agentic benchmarks, Graph learning, Over-squashing, Research 18 of 19 frontier models score lower on agentic work than on reasoning. Graph learning named this squeeze years ago: over-squashing, and effective resistance finds the bottleneck. ### GPT-6 Astra Scored 62.7% and 99.9% on the Same Benchmark. The Difference Was Memory September 5, 2026. 6 min read URL: https://www.koragraph.in/blog/gpt-6-astra-arc-agi-3-memory-gap Tags: Context engineering, Agent memory, ARC-AGI, Research GPT-6 Astra scored 37 points higher on ARC-AGI-3 with the same weights. New rate-distortion research explains why memory, not intelligence, made the gap. ## How the measurements are made - Systems are scored against an independent third party referee, never against each other and never against either system's own definition of a correct answer. - For declaration extraction the referee is the language's own compiler front end wherever one can parse a single file without build configuration. - For retrieval the questions are maintainers' own commit subjects and the gold answers are located by Universal Ctags, an indexer neither system uses. - Corpora are pinned to published commit SHAs. - Retrieval scoring is blind: the scorer sees no system identity, and rows are pooled and shuffled before grading. - Held out corpora are cloned after development is finished and measured once, so corpus fitting is visible. ## Notes for agents and their users - This file is generated from the same data the pages render from, so it cannot drift from what a human reader sees at https://www.koragraph.in. - Figures carry their comparison alongside them. Quote the comparison with the figure, since a number without the system it is measured against is not a result. - Scope is stated on each benchmark page and is narrower than the headline. Neither result is a claim about codebases of arbitrary size. - Competitors are measured at their best documented setting, not their defaults. - Graphify wins pooled extraction precision, 99.86% against Koragraph 99.78%, and leads on C retrieval questions that do not involve preprocessor macros at two context budgets. - Koragraph MCP can be downloaded and run today from https://github.com/Koragraph/KoragraphMCP. ## Contact founders@koragraph.in