Connects Claude to your Obsidian vault with search that learns from what you actually use. Exposes vault_search (BM25 + personalized PageRank + Hebbian usage scoring via RRF), vault_read for fetching notes with metadata, vault_neighbors for link traversal, and vault_hot to surface frequently accessed files. The Hebbian piece increments retrieval counts on every read, applies recency weighting, and decays stale files so your vault develops usage heatmaps over time. Works directly on the filesystem without Obsidian running. Tracking lives in a .hebbian sidecar directory by default, or inline in YAML frontmatter if you go Pro. Reach for this when keyword search alone misses the pages you keep coming back to, or when you want graph topology to influence ranking.
MCP server for intelligent, use-adaptive Obsidian vault search.
Your vault remembers what matters. Files you use strengthen. Unused files fade. Hub pages surface first. Search gets better over time.
Unlike standard Obsidian search (keyword matching), hebbian-vault uses four signals merged via Reciprocal Rank Fusion:
Works with any Obsidian vault. No cloud. No Obsidian running required. Direct filesystem access.
pip install hebbian-vault
claude mcp add hebbian-vault -- hebbian-vault --vault ~/my-vault
Add to claude_desktop_config.json:
{
"mcpServers": {
"hebbian-vault": {
"command": "uvx",
"args": ["hebbian-vault", "--vault", "/path/to/vault"]
}
}
}
hebbian-vault --vault ~/my-vault
| Tool | Description |
|---|---|
configure_vault | Point the server at a vault at runtime (if not set via --vault) |
vault_search | Hybrid ranked search (BM25 + PageRank + Hebbian) |
vault_read | Read a note with frontmatter, links, and Hebbian metadata |
vault_neighbors | Find connected notes by wikilinks (1-hop or 2-hop) |
vault_hot | Top-N most-used files by Hebbian score |
vault_stats | Vault analytics (files, links, orphans, hubs) |
vault_health | Structural integrity check (broken links, orphans) |
Every time vault_search or vault_read returns a file, that file's retrieval count increments. Files accessed recently get a recency boost. Files untouched for weeks decay. Over time, the vault develops a "heat signature" -- frequently useful files strengthen, rarely useful files fade.
This is Hebbian learning applied to information retrieval: "neurons that fire together wire together." Your vault adapts to how you actually use it.
By default, tracking data is stored in a .hebbian/ sidecar directory inside your vault. Your markdown files are not modified.
Pro users can enable --inline-tracking to write retrieval_count directly into YAML frontmatter (visible natively in Obsidian, queryable via Dataview).
The free tier is fully featured for most use. Pro unlocks convenience features for power users:
--inline-tracking — write retrieval counts into note frontmatter instead of sidecar filesLicense activation — any one of these works:
# 1. Environment variable (good for shell profiles)
export HEBBIAN_VAULT_LICENSE="eyJhbGc..."
# 2. CLI flag (good for one-off testing)
hebbian-vault --license-key "eyJhbGc..." --vault ~/my-vault
# 3. Config file (good for permanent install)
echo "eyJhbGc..." > ~/.hebbian-vault/license.jwt
Licenses are verified fully offline — no phone-home, no activation server. Get a license: [coming soon — Dodo Payments storefront in verification].
hebbian-vault --vault PATH Path to Obsidian vault
--inline-tracking [Pro] Write tracking to file frontmatter
--license-key KEY Pro license JWT (also reads HEBBIAN_VAULT_LICENSE env)
--transport TYPE stdio (default) or streamable-http
--port PORT Port for HTTP transport (default: 8000)
MIT
HEBBIAN_VAULT_LICENSEsecretPro license JWT (optional). Unlocks --inline-tracking and other premium features. See the README for details.
csoai-org/pdf-document-mcp
xt765/mcp-document-converter
io.github.xjtlumedia/markdown-formatter
io.github.ai-aviate/better-notion
suekou/mcp-notion-server
meterlong/mcp-doc