Graphiti Local

io.github.renezander030Published by GitHub account renezander030v0.10.0Updated Oct 24, 2026

Local-first temporal knowledge graph with six read-only MCP tools and human-reviewed writes.

VerifiedSTDIODesktop onlyDatabasesKnowledge & Memory

Overview

AI-generated overview

A local-first temporal knowledge graph that gives assistants six read-only memory tools, with proposed updates held for human approval.

What you can do
Retrieve project decisions and facts from a local temporal knowledge graph through six read-only MCP tools or the kg CLI command line tool, with current facts by default and an explicit historical view. Ingest Markdown, text or JSONL into the graph, with large documents split at stable boundaries and receipts and failure logs recording what landed. Propose graph updates that stay in a separate queue until a human reviews and applies them, with accept, refuse or contested decisions and a checksum-sealed snapshot of accepted facts only. Run a demo against a small synthetic graph using keyword retrieval alone, without a model or database setup.
When to use it
Use it when you want agents to recall local project decisions and facts with explicit human review before anything is written. Skip it if agents must write through MCP, or if you want a hosted service without local setup.
Requirements
A local Python setup with uv and Ollama installed and running; setup downloads need internet access. Environment variables GRAPHITI_LOCAL_CONFIG, KG_WORKSPACE_DIR and KG_LADYBUG_PATH configure the run. Ollama models qwen2.5:7b and nomic-embed-text are pulled for extraction. No Docker or cloud API key is needed for the local setup.
Before you install
Model extraction can be wrong, so inspect returned facts and validity timestamps. Writes go through a review queue and only applied after human approval; the restore command refuses unresolved decisions. For multiple users, per-group Ladybug files and tokens are configured, and a token granted one group never opens another group's file. The project is an independent community project built on Graphiti, not affiliated with Zep.

Installation

In SourceWeft

  1. Open Graphiti Local in the dashboard and add it to a workspace.
  2. Enable the server for the chats that should use its tools.

Desktop only via STDIO. STDIO servers start a local process, so they need the SourceWeft desktop host.

Other MCP clients

Follow the launch instructions in the repository.

README

[Graphiti Local]

Graphiti Local

Local memory for your agents. You approve what they learn.

Retrieve project decisions through six read-only MCP tools or the kg CLI. Proposed updates stay in a separate queue until a human approves and applies them. Ollama handles local inference; embedded LadybugDB stores the graph. No Docker or cloud API key is needed for the local setup.

[42-second synthetic memory demo]

Captured output excerpts with pauses condensed. Measured results and limitations.

Try it in one command

bash
uvx --from git+https://github.com/renezander030/graphiti-local kg-demo

Answers a question against a small synthetic graph shipped with the package. No Ollama, no model downloads, no database setup: retrieval runs on keywords alone, so nothing contacts a model. Ask your own question by passing it as an argument.

This is the read path only. Building a graph from your own text needs extraction, which needs a model, and that is the full setup below.

Try it locally

Install uv and Ollama, then start Ollama. Setup downloads need internet access. Run these commands in bash or zsh:

bash
git clone https://github.com/renezander030/graphiti-local.gitcd graphiti-localuv sync --frozenollama pull qwen2.5:7bollama pull nomic-embed-textexport GRAPHITI_LOCAL_CONFIG="$PWD/config/ollama.example.yaml"export KG_WORKSPACE_DIR="$PWD/workspace/local-demo"export KG_LADYBUG_PATH="$KG_WORKSPACE_DIR/graph.ladybug"uv run --frozen kg-ladybug-setup --database "$KG_LADYBUG_PATH" --applyuv run --frozen kg doctoruv run --frozen kg-ingest examples/local_memory_demo.jsonl --applyuv run --frozen kg ask "Which database does Aurora Analytics use?" example

The synthetic example returns DuckDB. Follow the complete walkthrough to propose PostgreSQL, review and apply that update, and retrieve it from an MCP client. Model extraction can be wrong; inspect the returned facts and validity timestamps.

To review extraction before it touches the configured graph, run kg-ingest INPUT --review-output review.jsonl, inspect the snapshot, and mark every fact in the generated review.jsonl.review.jsonl file as accept, refuse, or contested. The printed restore command refuses unresolved decisions and promotes a checksum-sealed snapshot containing accepted facts only. Searches return current facts by default; kg ask --history is the explicit historical view.

kg-ingest also accepts a Markdown/text file or a directory tree directly. Large documents split at stable text boundaries. Transient writes retry with one stable episode id; ingest-receipts.jsonl and ingest-failures.jsonl in the workspace show exactly what landed and what still needs attention.

Multiple users on Ladybug

Give each user a group, and each group its own Ladybug file:

yaml
graph:  groups: [alice, bob]database:  provider: ladybug  ladybug:    layout: per-group          # default: single, one file for every group    directory: ./workspace/groupsserver:  transport: streamable-http  auth:    tokens:      - {name: alice, token: "${ALICE_TOKEN}", groups: [alice]}      - {name: bob, token: "${BOB_TOKEN}", groups: [bob]}

Each file is named by the SHA-256 of its group, so no group id can point outside the directory. Reads, kg ask and the drain open only the file of the group they address; a token granted alice never opens Bob's file. A read names one group, or the token's single group is used. For a tenant boundary inside one database server, use FalkorDB or Neo4j.

Is it a fit?

Use it for local agent memory with explicit human review. Skip it if you need agents to write through MCP or want a hosted service without local setup. FalkorDB and Neo4j are also supported.

If this helps your workflow, star the repository and share your setup result.

Maintained by René Zander, who builds context layers for AI agents on temporal knowledge graphs.

Independent community project built on Graphiti, not affiliated with or endorsed by Zep. Apache-2.0.

Source: README.md at commit cce3cbc

Tools

0
SourceWeft started this package once in an isolated sandbox, without credentials, to list its tools. That failed: the server did not start.

Version history

7
  1. v0.10.0LatestOct 23, 2026
  2. v0.9.0Oct 16, 2026
  3. v0.8.0Oct 16, 2026
  4. v0.7.0Oct 9, 2026
  5. v0.6.0Sep 25, 2026
  6. v0.5.0Sep 23, 2026
  7. v0.4.1Sep 18, 2026

Score

50% of the applicable checks met

How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.

  • Reached in the last 30 days25 pts

    Keep the endpoint answering the MCP handshake; SourceWeft probes it every 30 days.

  • Auth declared10 pts

    Declare the credential headers in the registry entry, or keep the endpoint answering the probe so its auth can be classified.

  • Tools listed15 pts

    Answer tools/list without a credential, or ship a package that starts in a sandbox without one.

  • DescriptionRequired15 pts
  • Logo10 pts
  • Documentation15 pts
  • License10 pts