com.kage-core/kage
Verified memory for coding agents: claims cited against code, stale withheld, savings receipts.
Open source Open in the app JSON README (API)
About
Verified memory for coding agents: claims cited against code, stale withheld, savings receipts.
Details
- Kind
- MCP servers
- Topic
- AI, RAG & memory
- Publisher
- com.kage-core
- Origin
- official
- Category
- ferramentas
- Transport
- local
- Version
- 2.3.0
- Stars
- 33
- Forks
- 1
- Open pull requests
- 2
- Last push
- 2026-08-29T07:59:40Z
- Repository state
- ativo
- Language
- TypeScript
- License
- GPL-3.0
- Added
- 2026-08-29 03:01:12
- Updated
- 2026-08-29 03:01:12
- Origin id
com.kage-core/kage
README
<div align="center"> <img src="docs/assets/kage-banner.svg" alt="Kage" width="150%"> ### Kage manages your memory and agents State an intent. Kage's orchestrator briefs a coding agent from your repo's own memory, runs it in an isolated git worktree — a single run or a multi-wave goal — and **re-runs the checks itself** rather than trusting the agent's report: ``` ┌ VERIFIED 3/3 — checks run by Kage, not the agent · build-a-stale-memory-triage-surface-do-n-260818-ec2c │ "the stale-memory triage surface is built and wired into the review flow" │ ✓ tests ran npm test --prefix mcp → exit 0 evidence/tests.log │ ✓ diff-size inspected at most 800 changed lines evidence/diff-size.log │ ✓ citations inspected every formally cited path exists (directly, or as a unique suffix) in the worktree evidence/citations.log │ · touched 4 file(s), 212 line(s) └──────────────────────────────────────────────────────────────── ``` <sub>A real receipt from this repo's own run history. Every row is a command Kage ran or a fact it inspected — never a claim the agent made about itself. `kage merge` only lands the code once the claim holds, and ratifies what the agent learned, so the next brief, yours or a teammate's, starts smarter.</sub> That memory is the decisions behind your codebase, the runbook for a tricky deploy, the root cause of a gnarly bug — captured as your agents work and checked against the actual code, so what gets reused stays true. It's kept as plain Markdown files in your repo, conformant to the [Google Open Knowledge Format (OKF)](https://github.com/GoogleCloudPlatform/knowledge-catalog/tree/main/okf) so there's no lock-in, and shared with your whole team through git. No account, no database, no API key. ```bash npx -y @kage-core/kage-graph-mcp install ``` <p> <a href="https://www.npmjs.com/package/@kage-core/kage-graph-mcp"><img src="https://img.shields.io/npm/v/@kage-core/kage-graph-mcp?color=41ff8f&label=npm" alt="npm version"></a> <a href="https://www.npmjs.com/package/@kage-core/kage-graph-mcp"><img src="https://img.shields.io/npm/dm/@kage-core/kage-graph-mcp?color=41ff8f" alt="downloads"></a> <img src="https://img.shields.io/npm/l/@kage-core/kage-graph-mcp?color=41ff8f" alt="license"> <img src="https://img.shields.io/badge/retrieval-0%20deps-41ff8f" alt="zero-dependency retrieval"> <img src="https://img.shields.io/badge/account-not%20required-41ff8f" alt="no account"> <a href="https://github.com/GoogleCloudPlatform/knowledge-catalog/tree/main/okf"><img src="https://img.shields.io/badge/built%20on-Open%20Knowledge%20Format-41ff8f" alt="Built on Google Open Knowledge Format"></a> </p> <img src="docs/kage-stats.svg" alt="Kage in numbers: 98.7% R@10 recall, 0% stale served, 18% faster than grep, zero-dependency retrieval, 360+ tests passing, 15 agents supported" width="820"> <p> <a href="https://kage-core.com/">Website</a> · <a href="https://kage-core.com/guide.html">Docs</a> · <a href="https://kage-core.com/viewer/">Live viewer</a> · <a href="https://www.npmjs.com/package/@kage-core/kage-graph-mcp">npm</a> · <a href="https://kage-core.com/demo.html"><b>Book a demo</b></a> </p> **Works with** Claude Code · Codex · Cursor · Windsurf · Gemini CLI · Cline · Goose · Roo Code · Kilo Code · OpenCode · Aider · Claude Desktop · Copilot · OpenClaw · Hermes · any MCP client 🌐 English · [简体中文](translations/README.zh-CN.md) · [日本語](translations/README.ja.md) · [한국어](translations/README.ko.md) · [Español](translations/README.es.md) · [Português (Brasil)](translations/README.pt-BR.md) · [Français](translations/README.fr.md) · [Deutsch](translations/README.de.md) · [हिन्दी](translations/README.hi.md) </div> --- ## Install **One command, inside your repo, then restart your agent.** That's the whole setup. ```bash npx -y @kage-core/kage-graph-mcp install ``` It creates `.agent_memory/`, builds the code graph, writes the `AGENTS.md` / `CLAUDE.md` policy that tells agents to use Kage, auto-detects and wires your agents, and configures `.gitignore` + the packet merge driver. Requires Node.js 18+. No account, no API key. **Or just ask your agent to set it up.** Paste this into Claude Code, Cursor, or any coding agent: > Set up Kage (verified memory for coding agents, https://github.com/kage-core/Kage) > in this repo: run `npx -y @kage-core/kage-graph-mcp install`, then tell me to restart you. <details><summary>Other ways (plugin · per-agent · memory-only)</summary> ```bash # Claude Code / Codex plugin /plugin marketplace add kage-core/Kage # then: /plugin install kage@kage # wire a single agent (run `kage setup list` for all supported) kage setup claude-code --project . --write # memory store only, no agent wiring kage init --project . # confirm the harness is live kage setup verify-agent --agent claude-code --project . ``` </details> ## Delegate work (the orchestrator) ```bash kage room --project . # talk to Kage; it briefs and hires agents for you kage dispatch "<intent>" --agent claude # one delegated run, briefed from repo memory kage runs --project . # what every run is doing right now kage review --project . # read a finished run's claim and diff kage merge <run-id> --project . # land the code and ratify what it learned ``` Every run works in its own git worktree. The checks that decide the verdict on the receipt above — tests, diff size, citations — are commands **Kage** runs itself, never the agent's self-report. - **The app.** `kage app --project <dir>` starts (or reuses) the local daemon and opens the same room, runs board, and memory view in a UI. From a checkout, `npm start --prefix shell` runs it as a native window — a thin Electron shell with no HTML of its own, it just loads the daemon's own page — and `npm run dmg --prefix shell` builds a macOS `.dmg` (arm64 only; Windows/Linux packaging isn't built yet). - **From your phone.** The daemon can also bind to your machine's LAN address, gated by a pairing secret required on every request, reads included. Today that means setting `"lan": true` in `.agent_memory/config.json` by hand — there's no `--lan` flag or app toggle yet. - **Add a project without a terminal.** `kage projects add <dir> --agent claude` registers another repo the same way the app's "+" button does, then `kage app --project <dir>` opens it. ```bash kage app --project <dir> kage projects add <dir> --agent claude ``` ## Desktop app A thin native shell (macOS, arm64 only) over the same daemon the CLI runs — dock presence, a global hotkey, native notifications. Download the latest `.dmg` from [GitHub releases](https://github.com/kage-core/Kage/releases) (look for a `Kage-<version>.dmg` asset). Unsigned builds show macOS's "unidentified developer" prompt on first launch — right-click the app in Finder and choose **Open** once. Once installed, it checks for updates on launch and every 4 hours and installs on restart; ad-hoc (unsigned) builds can't self-install and notify you instead, linking back to the releases page. Prefer the CLI? The one-line install works everywhere the app doesn't need to: ```bash npx -y @kage-core/kage-graph-mcp install ``` ## What is Kage Kage is an orchestrator for coding agents, built on a memory layer. As your agent works, it captures what it learns (decisions, bug fixes, conventions, how the code fits together) as [**Open Knowledge Format (OKF)**](https://github.com/GoogleCloudPlatform/knowledge-catalog/tree/main/okf) concept files committed in your repo under `.agent_memory/`. The next session (yours or a teammate's) starts already knowing it, instead of re-reading or re-asking. Three things make it different from other memory tools: - **It's collaborative.** The knowledge one person (or their agent) figures out becomes the whole team's. Memory is shared through git, so a teammate's next session starts with what you just learned, not a blank slate. - **It's standard & git-native.** Memory is a conformant OKF bundle — plain Markdown in your repo, reviewed in the same PR as the code, readable by any OKF tool — not locked in one machine or a vendor's cloud. Your knowledge stays yours. - **It's verified.** Every memory cites the code it's about, and Kage checks those citations against your actual files at write time, at recall time, and when a diff changes the code. Memory that no longer matches the code is withheld, so the agent never acts on a stale claim. ## Kage called it. Google standardized it. From day one, Kage kept agent memory as plain files in your repo — no cloud, no database, no lock-in, while everyone else was building memory clouds. In June 2026, Google Cloud shipped the **Open Knowledge Format**: knowledge as Markdown in git, vendor-neutral, no account — the exact thesis Kage already ran on. So Kage **adopted OKF as its standard, and supercharges it** with the layer OKF deliberately leaves out: - **Verification** — OKF stores what you wrote down; Kage checks every concept against your real code and refuses hallucinated citations at write time. - **Freshness** — OKF has no notion of staleness; Kage catches drift the moment your code changes and withholds memory that's no longer true. - **Code-grounding** — a deterministic code graph anchors each concept to the exact symbols it describes — the layer OKF leaves to tooling. The trust metadata rides in OKF-legal `x-kage-*` fields, so a Kage bundle stays 100% conformant and opens in any OKF consumer, including Google's own visualizer. **OKF standardizes the store; Kage is the verification and freshness layer Google left out.** ## How it works Once installed, it's ambient. You don't run anything by hand: 1. **Recall before acting.** At the start of a task (and the moment the agent opens a file), Kage surfaces the relevant verified memory for it. Stale or deleted memory is left out. 2. **Capture as it works.** Durable learnings become packets. A memory that cites a file which doesn't exist is rejected on the spot, so hallucinations never enter storage. 3. **Stay honest as the code moves.** When a diff changes code that a memory cites, that memory is flagged at commit/PR time (`kage pr check`) and withheld from recall until it's re-verified or replaced, so knowledge can't quietly rot. Watch it happen in the **local dashboard** (`kage viewer`): packets, the memory↔code graph, trust gates, and live events stream in as the agent works. Wrap anything in `<private>…</private>` and it's never stored. <p align="center"> <img src="docs/assets/kage-viewer-walkthrough.gif" alt="kage viewer: a team's captured decisions, runbooks, and bug fixes mapped to the code they're grounded in, with trust and savings — a live walkthrough" width="760"> </p> <p align="center"><sub>`kage viewer`: the memory engine underneath the orchestrator above — your team's decisions, runbooks, and bug fixes (purple), kept in the repo and linked to the code they are about (blue).</sub></p> ## Why Kage Most memory tools ([claude-mem](https://github.com/thedotmack/claude-mem), [agentmemory](https://github.com/rohitg00/agentmemory), mem0, Zep) store memory per-machine or in a cloud you don't own, and never re-check it against the code. Kage keeps it in your repo and verifies it, so it stays your team's and stays true as the code changes. | | Kage | claude-mem | mem0 / Zep | |---|---|---|---| | Automatic capture + session-start recall | ✓ | ✓ | via SDK | | Hallucinated citations **rejected at write time** | ✓ | — | — | | Stale memory **withheld at recall** (cited files deleted/changed, TTL, reported) | ✓ | — | — | | **Diff-time stale-catch**, warned before the PR when your change breaks a memory | ✓ | — | — | | Memory reviewed in git, same PR as the code (plain files, no DB) | ✓ | SQLite + cloud | hosted API | | Codify memory into team `SKILL.md` files agents auto-load | ✓ (`kage skills`) | — | — | | Cross-machine sync | ✓ your own git remote | their cloud | their cloud | | Account / API key required | none | cloud optional | yes | ## Features - **Truth Report.** `kage scan` reads any repo in ~60s and surfaces its highest-risk knowledge gaps: undocumented hot files, untested hot paths, complexity hotspots, unresolved code debt, and bus-factor-1 files, plus duplicate implementations, dead exports, and doc lies when they exist. Every finding cited to `file:line`. Zero setup, nothing generated, runs before you install anything. - **Savings receipts.** `kage gains` keeps a per-repo value ledger (tokens + $ the agent didn't have to re-spend), every number traceable to a logged event; the agent relays it after each recall. - **Team skills.** `kage skills` turns durable, verified procedures into `.claude/skills/<name>/SKILL.md` files agents auto-load, committed and shared, no cloud. - **Personal memory & sync.** `kage learn --personal` keeps cross-machine notes in `~/.kage/memory`, recalled as a clearly separated lower-trust section and synced over your own git remote. - **Self-healing session loop.** Uncaptured sessions are auto-distilled into pending drafts you review; `kage resume` opens each session with a "previously…" digest; `kage repair` fixes broken packets and indexes in one command. ## Benchmarks - **18% faster than grep at equal correctness** on real code-navigation tasks (N=3 suite, same agent/model; reproduce with `kage benchmark --project . --compare`). - **LongMemEval-S retrieval:** 98.72% R@10 / 99.79% R@20 / 0.909 MRR — ahead of plain BM25 at every depth except R@5, where BM25 edges it (96.60% vs 96.17%; full table in [benchmarks/LONGMEMEVAL.md](benchmarks/LONGMEMEVAL.md)). The retrieval path itself is dependency-free: BM25 + sparse lexical scoring, no embeddings, no network. - **Memory Correctness Under Change:** 0% stale-served (memory whose code was deleted or changed is withheld), vs 100% for capture-everything stores. - **Trust benchmark:** 100/100, covering hallucination rejection, stale exclusion, and live grounding (`kage benchmark --trust --project .`). Methodology, commands, and caveats: [docs/BENCHMARKS.md](docs/BENCHMARKS.md). ## Daily commands ```bash kage recall "how do I run tests" --project . kage verify --project . # check citations against current code kage pr check --project . # stale-catch + graph freshness gate kage gains --project . # what Kage saved you kage viewer --project . # local dashboard kage okf migrate --project . # render memory as a Google OKF bundle ``` Full CLI and MCP reference: [docs](https://kage-core.com/guide.html). Delegating work to coding agents (dispatch → verified claim → merge): [docs/DELEGATION.md](docs/DELEGATION.md). ## Storage Everything lives in `.agent_memory/`: `packets/` is durable repo memory (git-tracked OKF Markdown); `graph/`, `code_graph/`, `structural/`, and `indexes/` are rebuildable with `kage refresh`; `reports/` holds the value ledger and health reports. Capture scans for secrets and PII before writing. **Standard format — Open Knowledge Format (OKF).** Kage's memory is an [OKF](https://github.com/GoogleCloudPlatform/knowledge-catalog/tree/main/okf) bundle: plain Markdown concept files with YAML frontmatter, readable by any OKF consumer (including Google's visualizer). Run `kage okf migrate` to render the store as an OKF bundle under `.agent_memory/okf/`. Kage adds the lifecycle OKF leaves out — grounding, verification, and freshness — carried in OKF-legal `x-kage-*` fields, and can `import` any third-party OKF bundle. The round-trip is lossless. See [OKF_STANDARD.md](OKF_STANDARD.md). ## Development ```bash cd mcp npm install npm test npm run build ``` ## Contributing & community Kage is built in the open and we'd love your help. Four runtime dependencies (the retrieval core uses none), no account, no cloud — it's a friendly codebase to jump into. - **[CONTRIBUTING.md](CONTRIBUTING.md)** — dev setup, project layout, conventions. - **[ROADMAP.md](ROADMAP.md)** — where Kage is headed, and where to plug in. - **[Good first issues](https://github.com/kage-core/Kage/issues?q=is%3Aissue+is%3Aopen+label%3A%22good+first+issue%22)** · **[Help wanted](https://github.com/kage-core/Kage/issues?q=is%3Aissue+is%3Aopen+label%3A%22help+wanted%22)** — scoped places to start. - **[Discussions](https://github.com/kage-core/Kage/discussions)** — questions, ideas, show-and-tell. By participating you agree to our [Code of Conduct](CODE_OF_CONDUCT.md). ## License GPL-3.0-only. See [LICENSE](LICENSE). Releases before the GPL switch were MIT.