{
  "markdown": "<div align=\"center\">\n\n<img src=\"assets/koragraph-logo.png\" alt=\"koragraph\" width=\"360\">\n\n# The ultimate context layer for your AI coding agent.\n\n**Completely free. Runs entirely on your machine.**\n\nA local knowledge graph of every repo you point it at, plus a memory layer\nthat knows when the code it remembers has changed.\n\n[![npm](https://img.shields.io/npm/v/koragraphmcp?color=cb3837&label=npm)](https://www.npmjs.com/package/koragraphmcp)\n[![License: BUSL-1.1](https://img.shields.io/badge/license-BUSL--1.1-blue.svg)](LICENSE)\n[![Node.js >=22](https://img.shields.io/badge/node-%3E%3D22-339933)](package.json)\n[![MCP compatible](https://img.shields.io/badge/MCP-compatible-66f8ff)](#the-tools)\n[![Website](https://img.shields.io/badge/koragraph.in-111111)](https://www.koragraph.in/)\n\n</div>\n\n## Install\n\n```bash\nnpm install -g koragraphmcp\nkoragraph ingest /path/to/repo        # point it at as many repos as you like\nclaude mcp add koragraph -s user -- koragraph mcp\n```\n\n`koragraph doctor` checks the whole chain and prints the exact line for any editor.\n\n### Then run KORAINIT in your editor\n\nThis is the step that lights up the memory layer, so don't skip it. In your coding agent (Claude\nCode, Cursor, Windsurf, whatever you use), tell it:\n\n> ### \"Read `KORAINIT.md` and follow it.\"\n\nIt imports your existing `CLAUDE.md` / `AGENTS.md` into koragraph's memory, anchored to the code\neach rule is about, flags any rule that points at code that's already gone, and finishes wiring\nkoragraph into the session. Run it once per project.\n\n**Prefer zero setup?** Hand the whole thing to your agent instead. Paste this from the repo you\nwant indexed, and it installs, indexes, wires itself in, and runs KORAINIT for you:\n\n```text\nInstall koragraph and set it up for this repo, then report back:\n1. npm install -g koragraphmcp\n2. koragraph ingest .\n3. koragraph doctor, then run the `claude mcp add …` line it prints (or wire `koragraph mcp` into\n   my editor's MCP config).\n4. Find KORAINIT.md in the installed package (`npm root -g`, then koragraphmcp/KORAINIT.md) and\n   follow it: it imports my existing CLAUDE.md / AGENTS.md into memory, verified against the code.\nReport: nodes/edges indexed, whether the MCP connected, and KORAINIT's summary.\n```\n\n<div align=\"center\">\n<br><strong>Works with</strong><br><br>\n<img src=\"assets/logos/claude-code.png\" height=\"34\" alt=\"Claude Code\">&nbsp;&nbsp;&nbsp;\n<img src=\"assets/logos/cursor.png\" height=\"34\" alt=\"Cursor\">&nbsp;&nbsp;&nbsp;\n<img src=\"assets/logos/github-copilot.svg\" height=\"34\" alt=\"GitHub Copilot\">&nbsp;&nbsp;&nbsp;\n<img src=\"assets/logos/windsurf.svg\" height=\"34\" alt=\"Windsurf\">&nbsp;&nbsp;&nbsp;\n<img src=\"assets/logos/zed.png\" height=\"34\" alt=\"Zed\">&nbsp;&nbsp;&nbsp;\n<img src=\"assets/logos/cline.png\" height=\"34\" alt=\"Cline\">&nbsp;&nbsp;&nbsp;\n<img src=\"assets/logos/continue.png\" height=\"34\" alt=\"Continue\">&nbsp;&nbsp;&nbsp;\n<img src=\"assets/logos/opencode.svg\" height=\"34\" alt=\"OpenCode\">&nbsp;&nbsp;&nbsp;\n<img src=\"assets/logos/openai.svg\" height=\"34\" alt=\"Codex\">&nbsp;&nbsp;&nbsp;\n<img src=\"assets/logos/antigravity.png\" height=\"34\" alt=\"Antigravity\">\n</div>\n\n---\n\n## One map of everything you've built\n\nKoragraph turns every repo you point it at into **one live graph**: a resolved structure, with an\nedge only where there really is one.\n\n- Every service, file, endpoint, and table.\n- The real calls between them, resolved against the syntax tree, not guessed by name.\n- The edges that **cross a repo boundary**, where single-repo tools go quiet.\n\n<div align=\"center\">\n<img src=\"assets/graph-serve.png\" alt=\"koragraph serve\" width=\"820\">\n<br><em><code>koragraph serve</code>: code (cool nodes) and its memory (gold diamonds), one local page.</em>\n</div>\n\n---\n\n## A memory that knows when the code changed\n\nEverything your agent learns is saved locally, **anchored to the exact declaration**, not a line\nnumber. Rename the code and the fact follows; delete it and the fact retires. No `CLAUDE.md` to\nmaintain, and it survives every upgrade.\n\n- **Failures and their fixes.** The fix surfaces before you hit the same wall twice.\n- **Hazards, rules, corrections.** Stated once, honoured every session after.\n- **The \"let's push this to Wednesday.\"** Deferrals and half-finished intent, parked against the\n  code and surfaced the moment you're back.\n\n<div align=\"center\">\n<img src=\"assets/memory-anchored.png\" alt=\"Memory anchored to the code it is about\" width=\"820\">\n</div>\n\n---\n\n## Measurably the most accurate, scored by the compilers\n\nEvery graph is graded by an **independent compiler front-end** (CPython `ast`, `go/parser`, Roslyn,\n`syn`, `tsc`, Ripper, php-ast, ctags, `swiftc`), never the tool under test. koragraph **wins 34 of\n39 language×plane cells, and leads precision on all 39.**\n\nCall-graph recall, the hardest plane:\n\n| Language | koragraph | CodeGraph | GitNexus | Graphify |\n|---|:--:|:--:|:--:|:--:|\n| JavaScript | **87.6** | 39.4 | 41.9 | 45.1 |\n| TypeScript | **70.6** | 55.2 | 50.2 | 44.2 |\n| Python | **86.1** | 85.1 | 54.6 | 53.3 |\n| Go | **89.1** | 85.0 | 63.8 | 65.3 |\n| Java | **86.0** | 73.1 | 68.6 | 53.5 |\n| C# | **83.6** | 79.8 | 50.5 | 54.4 |\n| PHP | **88.9** | 88.0 | 77.1 | 31.7 |\n| Ruby | **51.5** | 41.3 | 28.7 | 40.8 |\n| Rust | 68.7 | 76.5 | 48.9 | 47.6 |\n\nReproduces from [`test/benchmark`](test/benchmark): pinned corpus, pinned competitor versions,\npinned oracles. Full breakdown in [`test/benchmark/REPORT.md`](test/benchmark/REPORT.md).\n\n---\n\n## The tools\n\nNine MCP tools. Every one returns `file:line`, never pasted source. Exactly one writes.\n\n| Tool | What it's for |\n|---|---|\n| **`blast_radius`** | Run before editing. Everything that depends on this, across repos, and what has no test coverage. |\n| **`explore`** | A symbol or plain English gives you ranked declarations, source, callers, callees. |\n| `search_code` | Find a name in the graph, not raw text. |\n| `neighbours` | Callers and callees of one symbol. |\n| `changes_with` | What has historically shipped together with a symbol. |\n| `file_symbols` | Declarations in one file. |\n| `overview` | Orient on turn one, across every repo. |\n| `recall` | A past failure and its fix, a hazard, an open loop. |\n| `remember` | Save a durable, code-anchored fact. The only writer. |\n\nPlus a CLI: `ingest`, `serve`, `status`, `doctor`, `diff`, `trace`, `hooks`, `practice`, `report`.\n\n---\n\n## Languages\n\n`c` · `c++` · `c#` · `go` · `java` · `javascript` · `php` · `python` · `ruby` · `rust` · `swift` ·\n`typescript / tsx`, fully resolved, tree-sitter throughout. Plus experimental `kotlin` · `scala` ·\n`elixir` · `solidity` · `vue` · `zig` · `objective-c` · `ocaml` · `rescript`.\n\n---\n\n## License\n\n[BUSL-1.1](LICENSE). Free to use, including at work. Converts to Apache-2.0 on the change date.\n\n<div align=\"center\"><br><sub>Built by Akhil Katakam · Ethan Faleiro &nbsp;·&nbsp; founders@koragraph.in</sub></div>\n",
  "bytes": 6880,
  "sha": "63de13e54e1b2c92945761bb973c99b552782fe91c078facc63e9ae3e4c9c4d6",
  "repo_slug": "koragraph/koragraphmcp",
  "fonte": "repo",
  "truncated": false,
  "api": "https://agentalog.com/api/listings/mcp_in_koragraph_koragraph_aa900e15/readme"
}