parsnip
A local-first memory graph for AI assistants and knowledge workers
curl -fsSL parsnip.sh/install | sh
cargo install parsnip-cli
brew install omar16100/tap/parsnip
A local-first memory graph for AI assistants and knowledge workers
curl -fsSL parsnip.sh/install | sh
cargo install parsnip-cli
brew install omar16100/tap/parsnip
Completely offline. Your data never leaves your machine. Private by design, portable by nature.
Store knowledge as entities, relations, and observations. Not SQL with JSON blobsβtrue graph semantics.
Search across all your projects without mixing namespaces. Recall everything, organized everywhere.
<10ms cold start. <5ms search on 10k entities. Single binary, zero external dependencies.
Fuzzy matching for typos + full-text search for relevance. Find what you meant, not just what you typed.
12 tools for AI assistants via Model Context Protocol. Works with Claude Desktop out of the box.
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"]
}
}
}
search_knowledgeSearch entities with fuzzy/fulltextcreate_entitiesCreate new entities with observationsadd_observationsAdd facts to existing entitiescreate_relationsLink entities with typed relationsdelete_entitiesRemove entities from graphdelete_observationsRemove specific observationsdelete_relationsRemove entity connectionsread_graphGet full project graphopen_nodesGet specific entities by nameadd_tagsTag entities for filteringremove_tagsRemove tags from entitiestraverse_graphBFS/Dijkstra graph traversalSubstring matching for precise queries
Nucleo-based typo tolerance with configurable threshold
Tantivy BM25 ranking for relevance scoring
Combined fuzzy + fulltext for best results
Cosine similarity for semantic matching
| Operation | Target |
|---|---|
| Cold start | <10ms |
| Entity create | <1ms |
| Exact search (10k) | <5ms |
| Fuzzy search (10k) | <20ms |
| Cross-project (100k) | <100ms |
| Binary size | <15MB |
| Idle memory | <20MB |
add β create with observations/tagslist β filter by type/tagget β view full detailsdelete β remove entityobserve β add new factsadd β create typed connectionlist β filter by from/to/typedelete β remove relationtraverse β BFS/DFS explorationfind-path β shortest path--mode exact β substring match--mode fuzzy β typo-tolerant--mode fulltext β BM25 ranking--mode hybrid β combined--all-projects β cross-projectlist β all namespacescreate β new projectuse β set defaultdelete β remove projectstats β entity/relation countsexport -o backup.jsonexport --all-projectsimport data.jsonimport --merge β incrementalimport --target-projectserve β stdio MCP serverserve -t sse β HTTP/SSE--port 3000 β custom port--host 0.0.0.0 β bind addressEmbedded key-value store with ACID transactions, memory-mapped I/O, and zero external dependencies.
Familiar relational backend. Compatible with SQL tools. Enable with --features sqlite.
In-memory storage for unit tests and development. No persistence, deterministic behavior.
Persistent memory for Claude, ChatGPT, and other assistants
Build your second brain with structured facts
Link papers, concepts, and findings
Connect architecture decisions and code
Track relationships and interactions
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.