Persistent knowledge graph and MCP server for AI workflows with git-tracked project context.
Copy the AI prompt to install this server into Claude Code, Cursor, or another agent β or use 1-click editor setup below.
We haven't yet run this listing's install command through our automated sandbox check. This isn't a red flag β we're steadily working through the catalog.
π‘ Paste the JSON block into your client's configuration file under mcpServers, then restart the application.
The memory layer AI coding agents don't have.
Kindex does one thing. It knows what you know.
It's a persistent knowledge graph for AI-assisted workflows. It indexes your conversations, projects, and intellectual work so that Claude Code, Codex, Gemini CLI, Google Antigravity, OpenCode, Cursor, and other MCP-capable agents never start a session blind. Available as a free MCP plugin or standalone CLI.
Memory plugins capture what happened. Kindex captures what it means and how it connects. Most memory tools are session archives with search. Kindex is a weighted knowledge graph that grows intelligence over time β understanding relationships, surfacing constraints, and managing exactly how much context to inject based on your available token budget.
Docs: kindex.tools is the canonical public site, served by the companion Fly static app. This repo also publishes its docs/ directory at jmcentire.github.io/kindex. Human setup lives in docs/human-guide.md; agent operating rules live in docs/mcp-agent-guide.md.
Pick whichever installer you already use. They all install the same kin and kin-mcp binaries.
[!WARNING] Before upgrading, stop every Kindex daemon, MCP server, and older CLI process. A v0.35.x process does not reject schema v12 and can write non-canonical session paths after migration.
Dream is Kindex's background knowledge-consolidation pass: it finds related
nodes, safely merges strong duplicates, and stages weaker links for review.
The first v0.36.0 process to open an older graph creates a transaction-safe
pre-migration snapshot under
$XDG_STATE_HOME/kindex/snapshots/<db>-<hash>/migrations/ (defaulting below
~/.local/state/kindex/snapshots/) before atomically migrating schema v11 to
v12. The owner-private snapshot passes SQLite integrity and source-version
checks, and a partial file is deleted if creation or validation fails.
Concurrent v0.36+ processes serialize this step through a dedicated
rollback-journal SQLite lock and recheck the schema after waiting. Migration
recovery points are retained outside the rotating ten-file
automated-merge snapshot pool. Older duplicate active session tags become paused
history, one active tag per normalized project and name is enforced, and Dream
suggestions carry an explicit title-or-node-ID identity contract and title
ambiguity is refused. No node or edge rows are deleted; legacy
domain-co-membership edges remain available as stored history but no longer
participate in semantic traversal or health metrics. kin status exposes the
durably recorded recovery path; normal stores also record it in kin changelog.
Do not open the migrated database with v0.35.x: that version has no forward-schema guard and can write old, non-canonical session identity. Instead:
kin status and record the Recovery
path. It names the latest validated migration attempt; older attempts remain
in the same migrations/ directory.-wal and -shm sidecars aside.This differs from recovering a bad automated merge,
which does not change package versions. Graph-health consumers must also
recalibrate: existing node/edge/orphan/component outputs now describe the
semantic graph, while explicit stored counts expose retained lifecycle and
legacy rows. Machine-readable stats identify this contract as metrics_schema: 2.
Then initialize the graph:
Extras β combine in one install ('kindex[mcp,llm,reminders]') or use 'kindex[all]':
| Extra | Adds |
|---|---|
mcp | kin-mcp MCP server (for Claude Code, Codex, Gemini, Antigravity, OpenCode, Cursor, etc.) |
llm | Anthropic-powered extraction (kin learn, kin ask) |
vectors | sqlite-vec for semantic similarity search |
reminders | Natural-language time parsing for kin remind |
all | Everything above |
Homebrew and apt packages aren't published yet. Use
pip,uv tool,uvx, or source until they are.
Each agent reads MCP servers from a different config file. The kin setup-*-mcp commands write the right shape into the right path; the manual snippet is shown alongside in case you'd rather edit the file yourself.
Or add .mcp.json to any repo for project-scope access:
The MCP server exposes 50+ native tools to supported clients: search, add, context, show, ask, learn, link, edit, supersede, list_nodes, status, suggest, candidate_*, verify, invalidate, stale_check, graph_stats, graph_merge, dream, changelog, ingest, tag_start, tag_update, tag_resume, task_claim, coord_*, lock_acquire, lock_release, remind_*, mode_*, and more.
For coding agents, install both the MCP server and the instruction file. The
instruction file tells the model how to use kindex: start a session tag, read
tracked .kin/config, check project policy, search before adding, capture
durable decisions, and end the tag with a summary.
setup-codex-hooks installs a SessionStart hook (alongside the prompt/tool attention hooks), so Codex begins each session with the same auto-primed context and "use kindex" / .kin directive as Claude Code.
Or hand-edit ~/.codex/config.toml:
Or hand-edit ~/.gemini/settings.json:
setup-antigravity-mcp writes the standalone MCP config shape used by
Antigravity's editor/shared config and CLI config. setup-antigravity-hooks
installs PreInvocation priming/prompt checks, PreToolUse advisory attention and
permission gating for Kindex config writes, and Stop-time reinforcement enqueue.
Or hand-edit ~/.gemini/config/mcp_config.json and
~/.gemini/antigravity-cli/mcp_config.json:
Or hand-edit ~/.config/opencode/opencode.json:
OpenCode reads AGENTS.md natively, so install the MCP server and the shared AGENTS.md instructions together.
OpenCode also supports plugins, but Kindex currently uses MCP + instructions there rather than prompt-time attention injection.
Or hand-edit ~/.cursor/mcp.json:
Cursor integration is MCP + always-applied rules. Cursor rules provide prompt-level guidance, but Kindex does not currently install a Cursor prompt-submit hook because Cursor does not expose the same hook surface as Claude Code or Codex CLI.
Five context tiers auto-select based on available tokens. When other plugins dump everything into context, Kindex gives you 200 tokens of executive summary or 4000 tokens of deep context β whatever fits. Your plugin doesn't eat the context window.
| Tier | Budget | Use Case |
|---|---|---|
| full | ~4000 tokens | Session start, deep work |
| abridged | ~1500 tokens | Mid-session reference |
| summarized | ~750 tokens | Quick orientation |
| executive | ~200 tokens | Post-compaction re-injection |
| index | ~100 tokens | Existence check only |
Nodes have types, weights, domains, and audiences. Edges carry provenance and decay over time. The graph understands what matters β not just what was said.
Constraints block deploys. Directives encode preferences. Watches flag attention items. Checkpoints run pre-flight. No other memory plugin has this.
No reviews yet β be the first to share how this listing worked for you.
Showcase your server listing on GitHub or your project documentation. Embed this dynamic SVG badge to highlight official listing status and live engagement.
[](https://allmcps.com/mcp/kindex)<a href="https://allmcps.com/mcp/kindex"><img src="https://allmcps.com/api/badge/kindex?style=directory" alt="Kindex on AllMCPs" /></a>