parsnip

A local-first memory graph for AI assistants and knowledge workers

curl -fsSL parsnip.sh/install | sh
scroll

Features

🏠

Local-First

Completely offline. Your data never leaves your machine. Private by design, portable by nature.

πŸ•ΈοΈ

Graph-Native

Store knowledge as entities, relations, and observations. Not SQL with JSON blobsβ€”true graph semantics.

πŸ”

Cross-Project Search

Search across all your projects without mixing namespaces. Recall everything, organized everywhere.

⚑

Blazing Fast

<10ms cold start. <5ms search on 10k entities. Single binary, zero external dependencies.

πŸ”€

Hybrid Search

Fuzzy matching for typos + full-text search for relevance. Find what you meant, not just what you typed.

πŸ€–

MCP Integration

12 tools for AI assistants via Model Context Protocol. Works with Claude Desktop out of the box.

MCP Setup

Add parsnip to your Claude Desktop configuration to give Claude persistent memory across conversations.

Once configured, Claude can create entities, add observations, build relations, and search your knowledge graph.

{
  "mcpServers": {
    "parsnip": {
      "command": "parsnip",
      "args": ["serve"]
    }
  }
}

Available Tools

search_knowledgeSearch entities with fuzzy/fulltext
create_entitiesCreate new entities with observations
add_observationsAdd facts to existing entities
create_relationsLink entities with typed relations
delete_entitiesRemove entities from graph
delete_observationsRemove specific observations
delete_relationsRemove entity connections
read_graphGet full project graph
open_nodesGet specific entities by name
add_tagsTag entities for filtering
remove_tagsRemove tags from entities
traverse_graphBFS/Dijkstra graph traversal

Search Modes

Exact

Substring matching for precise queries

Fuzzy

Nucleo-based typo tolerance with configurable threshold

Full-text

Tantivy BM25 ranking for relevance scoring

Hybrid

Combined fuzzy + fulltext for best results

Vector

Cosine similarity for semantic matching

Performance

OperationTarget
Cold start<10ms
Entity create<1ms
Exact search (10k)<5ms
Fuzzy search (10k)<20ms
Cross-project (100k)<100ms
Binary size<15MB
Idle memory<20MB

CLI Reference

entity

  • add β€” create with observations/tags
  • list β€” filter by type/tag
  • get β€” view full details
  • delete β€” remove entity
  • observe β€” add new facts

relation

  • add β€” create typed connection
  • list β€” filter by from/to/type
  • delete β€” remove relation
  • traverse β€” BFS/DFS exploration
  • find-path β€” shortest path

search

  • --mode exact β€” substring match
  • --mode fuzzy β€” typo-tolerant
  • --mode fulltext β€” BM25 ranking
  • --mode hybrid β€” combined
  • --all-projects β€” cross-project

project

  • list β€” all namespaces
  • create β€” new project
  • use β€” set default
  • delete β€” remove project
  • stats β€” entity/relation counts

import/export

  • export -o backup.json
  • export --all-projects
  • import data.json
  • import --merge β€” incremental
  • import --target-project

serve

  • serve β€” stdio MCP server
  • serve -t sse β€” HTTP/SSE
  • --port 3000 β€” custom port
  • --host 0.0.0.0 β€” bind address

Storage Backends

ReDB

Default

Embedded key-value store with ACID transactions, memory-mapped I/O, and zero external dependencies.

SQLite

Feature Flag

Familiar relational backend. Compatible with SQL tools. Enable with --features sqlite.

Memory

Testing

In-memory storage for unit tests and development. No persistence, deterministic behavior.

Data Model

PROJECT (namespace) Entity name: "John_Smith" type: "person" observations: [...] tags: ["engineer"] Entity name: "Acme_Corp" type: "company" observations: [...] tags: ["tech"] works_at

Use Cases

πŸ€–

AI Memory

Persistent memory for Claude, ChatGPT, and other assistants

🧠

Personal Knowledge

Build your second brain with structured facts

πŸ“š

Research Notes

Link papers, concepts, and findings

πŸ“

Project Docs

Connect architecture decisions and code

πŸ‘₯

Contact Network

Track relationships and interactions

FAQ

Parsnip is a single-binary graph database designed for AI assistants and knowledge workers. It stores durable facts as entities and relations, enabling fast retrieval through integrated search and graph traversal.

Data is stored locally using ReDB (default) or SQLite. Everything stays on your machineβ€”no cloud, no sync, no accounts. You can export to JSON for backup or migration.

Yes! Parsnip includes an MCP (Model Context Protocol) server with 12 tools. Add it to Claude Desktop config and Claude gains persistent memory that survives across conversations.

Unlike cloud-based tools, parsnip is fully local and private. Unlike note apps, it uses graph semantics (entities + relations) for structured knowledge. Unlike vector databases, it supports cross-project search without mixing namespaces.

Export to JSON: parsnip export --all-projects -o backup.json. This creates a complete backup of all projects, entities, relations, and observations.

Yes! Build with the sqlite feature flag: cargo install parsnip --features sqlite. SQLite is compatible with standard SQL tools for inspection.

Use path finding: parsnip relation find-path Alice Carol. Add --weighted for Dijkstra shortest path, or filter with --relation-types.

Exact: substring match. Fuzzy: typo-tolerant with Levenshtein distance. Fulltext: BM25 relevance ranking. Hybrid: combines fuzzy + fulltext. Vector: semantic similarity with embeddings.

Use parsnip relation traverse EntityName with options: -d 3 for depth, --direction outgoing, or filter with --entity-types person and --relation-types works_at.