Local-first MCP server: Claude searches, asks & drafts from your Obsidian vault. 21 tools, no keys.
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 into ~/Library/Application Support/Claude/claude_desktop_config.json (macOS) or %APPDATA%\Claude\claude_desktop_config.json (Windows)
The local-first second brain that Claude remembers.
Karpathy's self-compiling wiki ร Zettelkasten โ fully local, vault-safe, and MCP-native.
English ยท ํ๊ตญ์ด ยท ๆฅๆฌ่ช ยท ็ฎไฝไธญๆ
๐ค Add to Claude / Cursor ยท โฌ Desktop App ยท โก Quickstart ยท ๐ Live Demo
One command to let Claude read your vault:
A second brain that compiles itself. Stellavault fuses two ideas about how knowledge should live and grow:
raw/, then compiled into a clean _wiki/ of concepts and backlinks. Your knowledge re-compiles itself as it grows, instead of rotting in a folder.[[wikilinks]], and emergent connections, so a web of ideas (not a folder tree) becomes the real structure of how you think.The result is one local-first knowledge tool โ a full markdown editor, a 3D neural graph, hybrid AI search, and spaced-repetition memory decay โ shipped as a desktop app, CLI, Obsidian plugin, and MCP server that lets Claude read your entire vault. No cloud, no API keys, and your original files are never modified.
Your vault as a neural network. Local-first, no cloud required.
Highlights ยท Why Stellavault? ยท Install ยท Editor ยท Pipeline ยท Intelligence ยท Search & Ranking ยท MCP Integration ยท 3D Visualization ยท Configuration ยท Performance ยท Tech Stack ยท Security ยท Troubleshooting
raw/, then compiles a clean _wiki/ with concepts and backlinks. Knowledge that organizes itself as it grows.[[wikilinks]] / #tags with weighted RRF, then re-ranks by an FSRS memory model so what you're actually using resurfaces. 50+ languages, fully local, zero API keys.Most tools make you choose between writing, searching, and remembering. Stellavault does all three โ locally, and in a way Claude can read.
| Stellavault | Obsidian | Notion | Plain RAG script | |
|---|---|---|---|---|
| Local-first, works offline | โ | โ | โ๏ธ cloud | โ ๏ธ usually cloud |
| Semantic search, no API key | โ | โ ๏ธ plugin + key | ๐ฐ paid AI | โ ๏ธ needs key |
| Original files never modified | โ | โ | โ proprietary | โ |
| Self-compiling (ingest โ wiki) | โ | โ | โ | โ |
| 3D knowledge graph | โ | 2D / plugin | โ | โ |
| Spaced-repetition decay (FSRS) | โ | โ ๏ธ plugin | โ | โ |
| Gap / contradiction / dup detection | โ | โ | โ | โ |
| MCP-native (Claude reads your vault) | โ | โ community | โ๏ธ cloud | โ |
[!NOTE] Not either/or โ Stellavault even runs inside Obsidian as a plugin. Keep your editor; add a brain.
โฌ Download for Windows x64 ยท 273 MB ยท ZIP | โฌ Download for Linux x64 ยท 243 MB ยท ZIP | macOS Coming soon |
[!TIP] Download โ Unzip โ Run
stellavault.exe(Windows) orstellavault(Linux) โ Pick your notes folder โ Done.
Requires Node.js 20+. Run
stellavault doctorto diagnose issues.
main.js + manifest.json + styles.css from stellavault-obsidian releases.obsidian/plugins/stellavault/npx stellavault graph in your vault folderFull-featured markdown editor โ on par with Obsidian.
| Feature | Status |
|---|---|
| Bold, Italic, Underline, Strikethrough | โ |
| Headings 1โ6 | โ |
| Bullet, Numbered, Task lists (nested checkboxes) | โ |
| Tables (create, resize columns, add/remove rows & cols) | โ |
| Code blocks with syntax highlighting (40+ languages) | โ |
| Images (URL, clipboard paste, drag & drop) | โ |
KaTeX math rendering ($E=mc^2$ inline, $$...$$ display) | โ |
/Slash commands (12 block types, fuzzy search) | โ |
[[Wikilink]] autocomplete | โ |
| Split view (vertical + horizontal, Ctrl+\) | โ |
| Text alignment (left / center / right) | โ |
| Highlight, Superscript, Subscript | โ |
| Smart typography (curly quotes, em/en dashes) | โ |
| Horizontal rules | โ |
Inspired by Karpathy's self-compiling knowledge architecture.
| Input | How |
|---|---|
| PDF, DOCX, PPTX, XLSX | stellavault ingest report.pdf |
| JSON, CSV, XML, YAML, HTML, RTF | stellavault ingest data.json |
| YouTube | stellavault ingest https://youtu.be/... โ transcript + timestamps |
| URL | stellavault ingest https://... โ HTML โ markdown |
| Text | stellavault ingest "quick thought" |
| Folder | stellavault ingest ./papers/ โ batch all files |
| Desktop / Web UI | Drag & drop files directly |
Or use the Express tab in the desktop app โ enter a topic, pick a format, and generate a draft grounded in your vault. Save to _drafts/ and edit inline.
These features do not exist in Obsidian โ even with plugins.
| Feature | Command / Desktop | Description |
|---|---|---|
| Memory Decay | stellavault decay / Memory tab | FSRS-based โ shows which real notes you are forgetting |
| Knowledge Gaps | stellavault gaps | Detects weak connections between topic clusters |
| Contradictions | stellavault contradictions | Finds conflicting statements across your vault |
| Duplicates | stellavault duplicates | Near-identical notes with similarity score |
| Health Check | stellavault lint | Aggregated vault health score (0โ100) |
| Learning Path | stellavault learn | AI-personalized review recommendations |
| Daily Brief | Desktop app home screen | Push-type: top decaying notes + stats on app open |
| Auto-Tagging | Automatic on ingest | Content-based keyword extraction + category rules |
| Self-Compiling | stellavault compile | raw/ โ _wiki/ with extracted concepts + backlinks |
Hybrid retrieval that fuses multiple signals with weighted Reciprocal Rank Fusion (RRF) โ tuned for a personal knowledge vault, fully local, zero API keys:
| Signal | What it captures | Default weight |
|---|---|---|
| Semantic (dense) | meaning; multilingual (50+ languages) | 1.0 |
| BM25 (keyword) | exact terms, code, names | 1.0 |
| Entity-linking | your [[wikilinks]], #tags, headings, titles โ the curated graph | 1.5 |
| FSRS recency | gently surfaces notes you're actively using / forgetting | ยฑ10% |
Listed on the MCP registry as io.github.Evanciel/stellavault (also discoverable via Glama, Smithery, and mcp.so).
Claude can search, ask, draft, lint, and analyze your vault directly. Search runs the full hybrid pipeline โ weighted RRF over semantic + BM25 + entity-linking, plus FSRS recency and session-adaptive reranking (see Search & Ranking).
| Tool | What it does |
|---|---|
search | Weighted RRF (semantic + BM25 + entity) + FSRS recency + adaptive rerank |
ask | Vault-grounded Q&A |
generate-draft | AI drafts from your knowledge |
get-decay-status | Memory decay report (FSRS) |
detect-gaps | Knowledge gap analysis |
create-knowledge-node | AI creates wiki-quality notes |
federated-search | P2P search across vaults |
| + 14 more | Documents, topics, decisions, snapshots, export |
[Cluster | All nodes] toggle switches to the dense raw view
without reload, and clicking a super-node drills into that cluster's membersThe 3D graph renderer is bounded by two environment knobs (set them in the environment
before launching stellavault graph):
| Env var | Default | Applies to | What it caps |
|---|---|---|---|
GRAPH_NODE_CAP | 1500 | raw / "All nodes" view | # of (most-recent) notes rendered as individual nodes. |
GRAPH_CLUSTER_CAP | 3000 | cluster view (default) | # of notes folded into the galaxy before clustering. |
Why the caps matter. Edge construction is an inline O(nยฒ) all-pairs cosine loop โ
nยท(n-1)/2 pairs, each over 384 dims (see packages/core/src/api/graph-data.ts, the
neighbors loop). At cap=3000 that is ~4.5M pairs (the multi-second build the 5-minute
server cache absorbs); raising toward 13000 is ~84M pairs = minutes of build plus a
multi-GB intermediate array that freezes the single-threaded Express handler (there is no
worker). The raw "All nodes" path is the expensive direction (it runs the full cap), so the
server clamps the requested ?cap per view (raw โค 4000, cluster โค 6000, rounded) to bound
both build cost and cache cardinality.
Even the default cluster view is cheap to RENDER, not to BUILD. The first uncached fetch of either view runs the scoped-embedding load + the O(nยฒ) cosine pass + k-means + a force settle on a single thread, stalling the handler for seconds. The viewer shows a loading state on the toggle so the tap isn't silently swallowed during that cold build.
![]() Heatmap โ connection density across clusters | ![]() Timeline โ watch your vault grow over time |
![]() Search โ semantic matches highlighted in-graph | ![]() Multiverse โ federated vaults as orbiting universes |
The demo vault includes interconnected notes about Vector Databases, Knowledge Graphs, Spaced Repetition, RAG, MCP, and more โ perfect for exploring all features instantly.
Ctrl+P for quick file switching| Shortcut | Action |
|---|---|
Ctrl+P | Quick Switcher (fuzzy file search) |
Ctrl+Shift+P | Command Palette (all actions) |
Ctrl+S | Save current note |
Ctrl+\ | Toggle split view |
Ctrl+B | Bold |
Ctrl+I | Italic |
Ctrl+U | Underline |
Ctrl+E | Inline code |
/ | Slash commands (at start of line) |
[[ | Wikilink autocomplete |
| Action | Desktop | CLI |
|---|---|---|
| Search notes | Ctrl+P or AI panel | stellavault search "query" |
| Add a note | + Note button or drag & drop | stellavault ingest "text" |
| See 3D graph | โ button | stellavault graph |
| Memory decay | AI panel โ Memory | stellavault decay |
| Generate draft | AI panel โ Draft | stellavault draft "topic" |
| Health check | AI panel โ Stats | stellavault lint |
Stellavault reads ./.stellavault.json (or ~/.stellavault.json). Search ranking is fully tunable โ sensible defaults work out of the box:
Environment variables override config (parsed with guards):
| Env var | Effect |
|---|---|
STELLAVAULT_W_SEMANTIC / _BM25 / _ENTITY | per-signal RRF weight (e.g. STELLAVAULT_W_ENTITY=2.0 for aggressive entity surfacing) |
STELLAVAULT_RECENCY_WEIGHT | recency strength 0โ1 (0 disables) |
STELLAVAULT_DB_PATH | override the index DB location |
STELLAVAULT_WATCH | 0 to disable the auto-reindex file watcher while serve runs |
Note: cross-lingual recall (e.g. a Korean query finding English notes) is handled automatically by the multilingual embedding model โ
entityAliasesis an optional precision boost for the curated entity graph (tags / wikilinks) and abbreviations.
Tested on synthetic vaults โ all operations under 1 second for typical use cases:
| Operation | 100 docs | 500 docs | 1000 docs |
|---|---|---|---|
| Store init | 15ms | 15ms | 16ms |
| Bulk upsert | 12ms | 102ms | ~200ms |
| Search (BM25) | <1ms | <1ms | <1ms |
| Get all docs | <1ms | 2ms | ~4ms |
| 124K dot products | โ | 36ms | โ |
Run your own benchmarks:
Key optimizations:
| Layer | Tech |
|---|---|
| Desktop | Electron + React + TipTap (15 extensions) + Zustand |
| Runtime | Node.js 20+ (ESM, TypeScript) |
| Vector Store | SQLite-vec (local, zero config) |
| Embedding | MiniLM-L12-v2 (local, 50+ languages, batch processing) |
| Search | Weighted RRF (semantic + BM25 + entity) + FSRS recency |
| Math | KaTeX (inline + display) |
| Code | lowlight / highlight.js (40+ languages) |
| 3D | React Three Fiber + Three.js |
| AI | MCP (21 tools) + Anthropic SDK |
| P2P | Hyperswarm (optional, differential privacy) |
| CI | GitHub Actions (Node 20 + 22) |
--aiX-Stellavault-Token). Token endpoint is same-origin-onlylocalhost / 127.0.0.1 only by default; MCP HTTP transport opt-inPeer-to-peer semantic search is shipped as an opt-in experimental feature. The default install does not join any swarm and never shares data.
Enable explicitly:
When enabled, federation uses Ed25519 identities with signed envelopes, mutual challenge-response handshake, per-envelope replay nonces, handshake timeout, per-peer rate limiting, and a receive-only sharing default (myNodeLevel=0). Run set-level 1+ in the federation prompt to actually share titles/snippets with peers.
[!WARNING] Upgrade note (v0.7.4) โ federation wire format bumped from v2.0 to v2.1 (envelope-level nonce). v0.7.3 federation nodes are not compatible. Existing
~/.stellavault/federation/sharing.jsonfiles are not auto-downgraded to the safer defaults; review yourmyNodeLevelif you previously opted in.
See SECURITY.md for full details.
Common issues:
npm i -g stellavault@latestnpx stellavault graphstellavault indexIssues and pull requests are welcome. See CONTRIBUTING.md to get started, and SECURITY.md to report a vulnerability responsibly.
MIT โ full source code available for audit.
Found this useful? โญ Star Stellavault โ it genuinely helps the project reach more people who think in connected notes.
Built with โฆ for second-brain builders. ยท Download ยท Connect Claude ยท Report an issue
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/stellavault)<a href="https://allmcps.com/mcp/stellavault"><img src="https://allmcps.com/api/badge/stellavault?style=directory" alt="Stellavault on AllMCPs" /></a>