stellavault
Integrates as an Obsidian plugin, allowing Stellavault's features like 3D graph and self-compilation to be used within the Obsidian editor.
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@stellavaultsearch for 'self-compiling wiki' and show related notes"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
The local-first second brain that Claude remembers. Karpathy's self-compiling wiki × Zettelkasten — fully local, vault-safe, and MCP-native.
🤖 Add to Claude / Cursor · ⬇ Desktop App · ⚡ Quickstart · 🌐 Live Demo
One command to let Claude read your vault:
npx -y stellavault setup # wires the MCP server into Claude Code / Desktop, Cursor, Windsurf, or VS Code
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.
Contents
Highlights · Why Stellavault? · Install · Editor · Pipeline · Intelligence · Search & Ranking · MCP Integration · 3D Visualization · Configuration · Performance · Tech Stack · Security · Troubleshooting
Related MCP server: RAG MCP Server
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 coloring, constellations, heatmaps, a timeline, and a multiverse P2P view. 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.
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 | ➖ |
Not either/or — Stellavault even runsinside Obsidian as a plugin. Keep your editor; add a brain.
Install
Desktop App (Recommended — one click)
Download → Unzip → Runstellavault.exe (Windows) or stellavault (Linux) → Pick your notes folder → Done.
CLI (for developers)
npm install -g stellavault # or: npx stellavault
stellavault init # Interactive setup (3 min): index vault + connect AI clients
stellavault setup # Connect to Claude Code/Desktop, Cursor, Windsurf, VS Code (one command)
stellavault graph # Launch 3D graph in browserRequires Node.js 20+. Run
stellavault doctorto diagnose issues.
Obsidian Plugin
Download
main.js+manifest.json+styles.cssfrom stellavault-obsidian releasesPlace 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.
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 ( | ✅ |
| ✅ |
| ✅ |
Split view (vertical + horizontal, Ctrl+\) | ✅ |
Text alignment (left / center / right) | ✅ |
Highlight, Superscript, Subscript | ✅ |
Smart typography (curly quotes, em/en dashes) | ✅ |
Horizontal rules | ✅ |
The Pipeline
Capture ──→ Organize ──→ Distill ──→ Express
Drop anything → auto-extract → raw/ → compile → _wiki/ → draftInspired by Karpathy's self-compiling knowledge architecture.
Ingest 14 Formats
Input | How |
PDF, DOCX, PPTX, XLSX |
|
JSON, CSV, XML, YAML, HTML, RTF |
|
YouTube |
|
URL |
|
Text |
|
Folder |
|
Desktop / Web UI | Drag & drop files directly |
Express: Get Knowledge Out
stellavault draft "AI" --format blog # Blog post from your vault
stellavault draft "AI" --format outline # Structured outline
stellavault draft "AI" --ai # Claude API enhanced ($0.03)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.
Feature | Command / Desktop | Description |
Memory Decay |
| FSRS-based — shows which real notes you are forgetting |
Knowledge Gaps |
| Detects weak connections between topic clusters |
Contradictions |
| Finds conflicting statements across your vault |
Duplicates |
| Near-identical notes with similarity score |
Health Check |
| Aggregated vault health score (0–100) |
Learning Path |
| 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 |
| raw/ → _wiki/ with extracted concepts + backlinks |
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:
Signal | What it captures | Default weight |
Semantic (dense) | meaning; multilingual (50+ languages) |
|
BM25 (keyword) | exact terms, code, names |
|
Entity-linking | your |
|
FSRS recency | gently surfaces notes you're actively using / forgetting |
|
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)
stellavault setup # one command → Claude Code, Claude Desktop, Cursor, Windsurf, VS Code
# or, for Claude Code only:
claude mcp add stellavault -- stellavault serve{
"mcpServers": {
"stellavault": {
"command": "npx",
"args": ["-y", "stellavault", "serve"]
}
}
}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 |
| Weighted RRF (semantic + BM25 + entity) + FSRS recency + adaptive rerank |
| Vault-grounded Q&A |
| AI drafts from your knowledge |
| Memory decay report (FSRS) |
| Knowledge gap analysis |
| AI creates wiki-quality notes |
| P2P search across vaults |
+ 14 more | Documents, topics, decisions, snapshots, export |
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 membersConstellation 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):
Env var | Default | Applies to | What it caps |
|
| raw / "All nodes" view | # of (most-recent) notes rendered as individual nodes. |
|
| 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.
Try It Now (Demo Vault)
npx stellavault index --vault ./examples/demo-vault # Index 10 sample notes
npx stellavault search "vector database" # Semantic search
npx stellavault graph # 3D graph visualizationThe 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 switchingClick ✦ in the title bar for AI panel (semantic search, stats, draft)
Click ◉ for 3D graph
CLI
npm install -g stellavault
stellavault init # Setup wizard
stellavault search "machine learning" # Semantic search
stellavault ingest paper.pdf # Add knowledge
stellavault graph # 3D graph in browser
stellavault brief # Morning briefing
stellavault decay # What are you forgetting?Keyboard Shortcuts (Desktop)
Shortcut | Action |
| Quick Switcher (fuzzy file search) |
| Command Palette (all actions) |
| Save current note |
| Toggle split view |
| Bold |
| Italic |
| Underline |
| Inline code |
| Slash commands (at start of line) |
| Wikilink autocomplete |
Quick Reference
Action | Desktop | CLI |
Search notes | Ctrl+P or AI panel |
|
Add a note | + Note button or drag & drop |
|
See 3D graph | ◉ button |
|
Memory decay | AI panel → Memory |
|
Generate draft | AI panel → Draft |
|
Health check | AI panel → Stats |
|
Configuration
Stellavault reads ./.stellavault.json (or ~/.stellavault.json). Search ranking is fully tunable — sensible defaults work out of the box:
{
"search": {
"rrfK": 60,
"weights": { "semantic": 1.0, "bm25": 1.0, "entity": 1.5 },
"recencyWeight": 0.2, // FSRS recency strength; 0 = off
"entityAliases": { "k8s": ["kubernetes"] } // synonym / cross-lingual groups (exact-only)
}
}Environment variables override config (parsed with guards):
Env var | Effect |
| per-signal RRF weight (e.g. |
| recency strength |
| override the index DB location |
|
|
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:
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:
node tests/stress.mjs 500 # Test with 500 synthetic documentsKey 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
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) |
Security
Local-first — no data leaves your machine unless you use
--aiVault 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-onlyCORS allow-list —
localhost/127.0.0.1only by default; MCP HTTP transport opt-inSSRF 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:
# PowerShell
$env:STELLAVAULT_FEDERATION_EXPERIMENTAL = "1"
# bash / zsh
export STELLAVAULT_FEDERATION_EXPERIMENTAL=1
stellavault federate joinWhen 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.
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.json files are not auto-downgraded to the safer defaults; review your myNodeLevel if you previously opted in.
See SECURITY.md for full details.
Troubleshooting
stellavault doctor # Check config, vault, DB, model, Node versionCommon issues:
"Command not found" →
npm i -g stellavault@latest"API server not found" →
npx stellavault graphEmpty graph →
stellavault indexSlow 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
This server cannot be installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Servers
- AlicenseAqualityCmaintenanceEnables Claude Code read/write access to an Obsidian vault, including creating, editing, searching, and browsing notes.Last updated8MIT
- Alicense-qualityDmaintenanceEnables Claude Desktop to search custom knowledge bases using retrieval-augmented generation via a simple MCP tool.Last updatedMIT
- Alicense-qualityDmaintenanceProvides Claude with read, search, and write access to an Obsidian vault through MCP tools.Last updated2,001Apache 2.0
- AlicenseAqualityAmaintenanceA local MCP connector that lets Claude read, write and search any Obsidian vault directly from disk.Last updated20MIT
Related MCP Connectors
Read and write your Fresh Jots notes from Claude, Cursor, and any MCP client.
Search your AI chat history (ChatGPT, Claude, Codex) from any MCP client. Remote, private, read-only
Shared long-term memory vault for AI agents with 20 MCP tools.
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/Evanciel/stellavault'
If you have feedback or need assistance with the MCP directory API, please join our Discord server