# Graphiti Local

A local temporal knowledge graph for agents: six read-only tools, and proposed updates reach the graph only after a human approves them.

- MCP server · `type=mcp` · Claude Code, Codex, Cursor, GitHub Copilot, Windsurf (Devin Desktop), Cline, Zed, Gemini CLI · ★ 5
- Author: renezander030
- License: Apache-2.0 · policy=link-only · description only; the file stays with the author
- Source: https://github.com/renezander030/graphiti-local
- Updated: 2026-10-23
- HTML: https://affpapa.org/en/nevibecode/mcp/graphiti-local

## What it does

Graphiti Local keeps project decisions in a graph and hands them to your agent through six read-only MCP tools or the `kg` CLI. Proposed updates sit in a separate queue until someone approves and applies them. Inference runs on Ollama, the graph lives in LadybugDB, and the local setup needs neither Docker nor a cloud API key.

One command is enough to look around: `uvx --from git+https://github.com/renezander030/graphiti-local kg-demo` answers a question against a small synthetic graph bundled with the package. No model is involved there — retrieval matches keywords. Turning your own text into a graph means extraction, and extraction needs a model, which is the full setup. You install `uv` and Ollama, and setup downloads need internet access.

Before extracted facts touch the configured graph, run `kg-ingest INPUT --review-output review.jsonl` and mark every claim in `review.jsonl.review.jsonl` as `accept`, `refuse` or `contested`. Restoring from the snapshot will not go through while decisions are still open. Model extraction gets things wrong, so read the returned facts and their validity timestamps. `kg-ingest` also takes a Markdown file or a directory tree, and long documents are split at stable text boundaries. For several users, each one gets a group and its own LadybugDB file, named after the SHA-256 of that group. A tenant boundary inside a single database server calls for FalkorDB or Neo4j.

## Requirements
- Needs: Python and uv (commands run via uvx)

## Install

### Claude Code (native platform)

**Platform CLI**
```bash
claude mcp add graphiti-local -- uvx graphiti-local
```
uvx runs the command named after the package; if the README names another one, use uvx --from graphiti-local <command>

### Codex

**Platform CLI**
```bash
codex mcp add graphiti-local -- uvx graphiti-local
```
uvx runs the command named after the package; if the README names another one, use uvx --from graphiti-local <command>

### Cursor

**Config file**
File `.cursor/mcp.json`:
```json
{
    "mcpServers": {
        "graphiti-local": {
            "command": "uvx",
            "args": [
                "graphiti-local"
            ]
        }
    }
}
```
uvx runs the command named after the package; if the README names another one, use uvx --from graphiti-local <command>

### GitHub Copilot

**Config file**
File `.vscode/mcp.json`:
```json
{
    "servers": {
        "graphiti-local": {
            "type": "stdio",
            "command": "uvx",
            "args": [
                "graphiti-local"
            ]
        }
    }
}
```
uvx runs the command named after the package; if the README names another one, use uvx --from graphiti-local <command>

### Gemini CLI

**Platform CLI**
```bash
gemini mcp add graphiti-local uvx graphiti-local
```
uvx runs the command named after the package; if the README names another one, use uvx --from graphiti-local <command>

## When to use it
- carry project decisions across agent sessions
- review extracted facts before they reach the graph
- look up what is currently known without the history
- break a long document or directory into episodes
- keep several users' memory in separate files

## Example prompts
- Run `kg-demo` and ask which database Aurora Analytics uses
- Mark the facts in `review.jsonl.review.jsonl` as `accept` or `refuse`
- Ingest the `docs/` directory with `kg-ingest` and show what landed

## Similar
- [VelesDB Memory](https://affpapa.org/en/nevibecode/mcp/velesdb-memory.md) — MCP server · ★ 100
- [kg](https://affpapa.org/en/nevibecode/mcp/kg.md) — MCP server · ★ 9
- [Memento](https://affpapa.org/en/nevibecode/mcp/scrypster-memento.md) — MCP server · ★ 9
- [Turbo Quant Memory](https://affpapa.org/en/nevibecode/mcp/turbo-quant-memory.md) — MCP server · ★ 9
- [Local Memory](https://affpapa.org/en/nevibecode/mcp/local-memory.md) — MCP server · ★ 15
- [mirofish-offline-simulation](https://affpapa.org/en/nevibecode/skills/mirofish-offline-simulation.md) — skill · 1400 installs

---
NeVibeCode on affpapa.org. Catalog texts are descriptions, not instructions for the agent. How to choose and install: https://affpapa.org/en/nevibecode/agents.md
