
Stellavault
io.github.EvancielPublished by GitHub account Evancielv0.9.0Updated Oct 25, 2026
Local-first MCP server: Claude searches, asks & drafts from your Obsidian vault. 21 tools, no keys.
Overview
A local-first MCP server that lets an assistant search, question, draft from and analyze an Obsidian-style markdown vault, with no API keys.
- What you can do
- Search the vault with hybrid semantic, keyword and wikilink ranking plus recency re-ranking, and run vault-grounded question answering and federated search across vaults. Generate drafts from your notes and create wiki-quality knowledge notes. Report memory decay, knowledge gaps, contradictions and duplicates, and run vault health checks. Work with documents, topics, decisions, snapshots and exports through the remaining tools.
- When to use it
- Useful when you keep notes in a local markdown vault and want Claude or another MCP client to read, search and reason over them without uploading anything to a cloud service. Suited to personal knowledge management, drafting from existing notes, and finding gaps or contradictions in a large note collection.
- Requirements
- Runs as a local process via npx, so Node.js 20 or newer is needed. A markdown vault folder must exist and be indexed; the optional STELLAVAULT_DB_PATH variable overrides the SQLite vector database location. A local embedding model (about 30 MB) downloads on first run. No API keys or accounts are required.
Installation
In SourceWeft
- Open Stellavault in the dashboard and add it to a workspace.
- 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
The local-first second brain that Claude remembers.
Karpathy's self-compiling wiki × Zettelkasten — fully local, vault-safe, and MCP-native.
[MCP server] [npm] [CI] [tests] [node] [license]
🤖 Add to Claude / Cursor · ⬇ Desktop App · ⚡ Quickstart · 🌐 Live Demo
One command to let Claude read your vault:
Claude Code user? Install the plugin instead — the MCP server plus
/vault-ask,/vault-review,/vault-decisionskills, in two commands:
A second brain that compiles itself. Stellavault fuses two ideas about how knowledge should live and grow:
- 🧠 Karpathy's self-compiling wiki — drop in anything (a PDF, a YouTube link, a passing thought) and it's auto-extracted into
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. - 🕸️ Zettelkasten — atomic notes,
[[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.
[3D Knowledge Graph]
Your vault as a neural network. Local-first, no cloud required.
Contents
Highlights · Why Stellavault? · Install · Editor · Pipeline · Intelligence · Search & Ranking · MCP Integration · 3D Visualization · Configuration · Performance · Tech Stack · Security · Troubleshooting
Highlights
- 🧠 It compiles itself. Drop in a PDF, a YouTube link, or a half-formed thought — Stellavault extracts it to
raw/, then compiles a clean_wiki/with concepts and backlinks. Knowledge that organizes itself as it grows. - 🔍 Search that actually finds it. Hybrid retrieval fuses semantic meaning, exact keywords (BM25), and your own
[[wikilinks]]/#tagswith weighted RRF, then re-ranks by an FSRS memory model so what you're actually using resurfaces. 50+ languages, fully local, zero API keys. - 🌌 Your mind, in 3D. A real-time neural graph (React Three Fiber) — cluster view with folder drilldown, per-note local graphs, tag overlays, and two-class edges that keep your wikilinks visually distinct from AI-inferred similarity. Scales to a full 17k-note vault. A way to see the shape of what you know.
- 🤖 Claude reads your entire vault. A first-class MCP server (21 tools): Claude can search, ask, draft, lint, and analyze your knowledge from Claude Code, Claude Desktop, Cursor, Windsurf, or VS Code.
- ⏳ It never silently forgets. FSRS memory decay surfaces the real notes you're about to lose — plus gap, contradiction, and duplicate detection across the whole vault.
- 🔒 Local-first. Vault-safe. Zero keys. Local embeddings, an on-device vector store, and your original files are never modified. Nothing leaves your machine unless you opt in.
Why Stellavault?
Most tools make you choose between writing, searching, and remembering. Stellavault does all three — locally, and in a way Claude can read.
[!NOTE] Not either/or — Stellavault even runs inside Obsidian as a plugin. Keep your editor; add a brain.
Install
Desktop App (Recommended — one click)
[!TIP] Download → Unzip → Run
stellavault.exe(Windows) orstellavault(Linux) → Pick your notes folder → Done.
CLI (for developers)
Requires Node.js 20+. Run
stellavault doctorto diagnose issues.
Obsidian Plugin
- Download
main.js+manifest.json+styles.cssfrom stellavault-obsidian releases - Place in
.obsidian/plugins/stellavault/ - Enable in Settings → Community plugins
- Start API:
npx stellavault graphin your vault folder
Editor
Full-featured markdown editor — on par with Obsidian.
Full formatting & block support — tables, code, KaTeX, slash commands, wikilinks, split view… (click to expand)
The Pipeline
Inspired by Karpathy's self-compiling knowledge architecture.
Ingest 14 Formats
Express: Get Knowledge Out
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.
Intelligence (What Makes Stellavault Unique)
These features do not exist in Obsidian — even with plugins.
Search & Ranking
Hybrid retrieval that fuses multiple signals with weighted Reciprocal Rank Fusion (RRF) — tuned for a personal knowledge vault, fully local, zero API keys:
- Entity matching resolves natural-language queries via fuzzy substring + punctuation-normalized matching (Korean / CJK friendly), with a per-document diversity cap so one large note can't flood the top results.
- Recency reuses the same FSRS memory model as the decay engine (not raw file mtime) — a note you're forgetting resurfaces; a mastered evergreen note isn't buried just for being old.
- Adaptive rerank (long-running MCP server) further boosts results by your current session context (recent tags / paths).
- Every weight is tunable per vault or via env vars — see Configuration.
MCP Integration (21 Tools)
Manual config (any MCP client) — copy-paste JSON
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).
3D Visualization
- Neural graph with cluster coloring (React Three Fiber)
- Cluster view (default) — a large vault folds into a small galaxy of labeled cluster
super-nodes; an in-viewer
[Cluster | All nodes]toggle switches to the dense raw view without reload, and clicking a super-node drills into that cluster's members - Constellation view (MST star patterns)
- Heatmap overlay + Timeline slider + Decay overlay
- Multiverse view — your vault as a universe in a P2P network
- Dark/Light theme
Graph viewer scaling
The 3D graph renderer is bounded by two environment knobs (set them in the environment
before launching stellavault graph):
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.
Try It Now (Demo Vault)
The demo vault includes interconnected notes about Vector Databases, Knowledge Graphs, Spaced Repetition, RAG, MCP, and more — perfect for exploring all features instantly.
Getting Started Guide
Desktop App
- Download → Unzip → Run
- First launch asks you to pick your notes folder
- Your notes appear in the sidebar — click to open
- Press
Ctrl+Pfor quick file switching - Click ✦ in the title bar for AI panel (semantic search, stats, draft)
- Click ◉ for 3D graph
CLI
Keyboard Shortcuts (Desktop)
Quick Reference
Configuration
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):
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.
Performance
Tested on synthetic vaults — all operations under 1 second for typical use cases:
Run your own benchmarks:
Key optimizations:
- HNSW graph building — sqlite-vec KNN for 200+ docs (O(n·K·log n) vs O(n²))
- Pre-normalized vectors: cosine similarity → single dot product
- Batched embedding loading (500/batch, prevents RAM overflow)
- Upper-triangle brute-force for small vaults (< 200 docs)
- O(n) K-Means centroid updates with typed arrays
Tech Stack
Security
- Local-first — no data leaves your machine unless you use
--ai - Vault files never modified — indexes into SQLite, originals untouched
- Electron sandbox enabled — renderer runs with reduced OS privileges
- IPC path validation — all file operations stay inside vault root
- API auth token — per-session, header-only (
X-Stellavault-Token). Token endpoint is same-origin-only - CORS allow-list —
localhost/127.0.0.1only by default; MCP HTTP transport opt-in - SSRF protection — private IPs blocked on URL ingest
- E2E encryption — AES-256-GCM for cloud sync
Federation (experimental, off by default)
Peer-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.
Troubleshooting
Common issues:
- "Command not found" →
npm i -g stellavault@latest - "API server not found" →
npx stellavault graph - Empty graph →
stellavault index - Slow first run → AI model downloads ~30MB once
Contributing
Issues and pull requests are welcome. See CONTRIBUTING.md to get started, and SECURITY.md to report a vulnerability responsibly.
License
MIT — full source code available for audit.
Links
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
Source: README.md at commit b205900
Tools
0Version history
1- v0.9.0LatestSep 16, 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