hebbian-vault
Provides intelligent, use-adaptive search and management for Obsidian vaults, using BM25, Personalized PageRank, and Hebbian learning signals, with tools for searching, reading, navigating, and analyzing vault content.
Click on "Deploy 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., "@hebbian-vault find notes about Hebbian learning"
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.
hebbian-vault
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.
What it does
Unlike standard Obsidian search (keyword matching), hebbian-vault uses four signals merged via Reciprocal Rank Fusion:
BM25 -- keyword relevance (like standard search, but ranked)
Personalized PageRank -- graph centrality biased toward your query (hub pages surface first)
Hebbian usage -- files you actually use rank higher, with recency decay
RRF merge -- combines all signals without weight tuning
Works with any Obsidian vault. No cloud. No Obsidian running required. Direct filesystem access.
Related MCP server: background-vault-analysis
Install
pip install hebbian-vaultUsage
Claude Code
claude mcp add hebbian-vault -- hebbian-vault --vault ~/my-vaultClaude Desktop
Add to claude_desktop_config.json:
{
"mcpServers": {
"hebbian-vault": {
"command": "uvx",
"args": ["hebbian-vault", "--vault", "/path/to/vault"]
}
}
}Direct
hebbian-vault --vault ~/my-vaultMCP Tools
Tool | Description |
| Point the server at a vault at runtime (if not set via |
| Hybrid ranked search (BM25 + PageRank + Hebbian) |
| Read a note with frontmatter, links, and Hebbian metadata |
| Find connected notes by wikilinks (1-hop or 2-hop) |
| Top-N most-used files by Hebbian score |
| Vault analytics (files, links, orphans, hubs) |
| Structural integrity check (broken links, orphans) |
How Hebbian learning works
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.
Storage
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).
Pro tier
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 filesPriority email support from the developer
Future premium features ship Pro-unlocked by default
License 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.jwtLicenses are verified fully offline — no phone-home, no activation server. Get a license: [coming soon — Dodo Payments storefront in verification].
Options
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)Requirements
Python 3.10+
An Obsidian vault (any size, wikilinks recommended for graph features)
License
MIT
Available Tools
7 toolsconfigure_vaultA
Configure the vault path for this server. Call this first if the server started without a --vault argument. The vault_path must be an absolute path to an Obsidian vault directory containing .md files.
Inputs: vault_path (required), inline_tracking. Returns: result
vault_healthARead-only
Structural integrity check: broken links, orphaned leaves, missing frontmatter. Returns a list of issues found.
Inputs: no named parameters. Returns: result
vault_hotARead-only
Top-N most-used files by Hebbian score (usage frequency weighted by recency). Shows what the vault considers most important based on actual usage patterns.
Inputs: limit. Returns: result
vault_neighborsBRead-only
Find notes connected to a given note by wikilinks. Shows both outgoing and incoming links, with PageRank scores for prioritization.
Inputs: path (required), depth, limit. Returns: result
vault_readA
Read a single vault note by relative path. Returns full content with parsed frontmatter, outgoing links, and incoming links. Strengthens the file's Hebbian score.
Inputs: path (required). Returns: result
vault_searchA
Search the vault with hybrid ranking. Results are ranked by keyword relevance, graph centrality, and usage frequency merged via Reciprocal Rank Fusion. Each returned result strengthens that file's future ranking (Hebbian learning).
Inputs: query (required), limit, include_content. Returns: result
vault_statsARead-only
Vault-level analytics: file count, link count, orphans, broken links, average connectivity, and top hub pages by PageRank.
Inputs: no named parameters. Returns: result
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
Loading tool schema changelog…
TDQS
Scored across 7 tools
Each tool has a clearly distinct purpose: setup, search, read, graph navigation, hot files, stats, health. No overlapping functionality.
Most tools follow a 'vault_' prefix pattern, but 'configure_vault' breaks the pattern by placing 'vault' at the end, introducing minor inconsistency.
With 7 tools, the server covers essential operations for analyzing an Obsidian vault without unnecessary bloat or gaps.
The tool set provides strong read/analysis capabilities but lacks write operations (create, update, delete notes), which limits full vault interaction.
Maintenance
Related MCP Connectors
Hosted MCP server for Obsidian Sync vaults: read, search, edit notes. Not affiliated with Obsidian.
Token-efficient MCP memory for Markdown vaults. Tiered search, GraphRAG, AI memories.
Personal knowledge base MCP server with semantic search, auto-categorization, metadata extraction
Related MCP Servers
- AlicenseNot gradedqualityAmaintenanceMCP server that indexes Obsidian notes and enables hybrid search (full-text, fuzzy, semantic) for AI assistants to find and read notes.1,272 npm121MIT
- AlicenseBqualityDmaintenanceA lightweight MCP server for intelligent, non-invasive analysis of Obsidian vaults.4MIT
- AlicenseNot gradedqualityDmaintenanceSelf-hosted MCP server that provides embedding-powered semantic search with graph context over Obsidian vaults, supporting multiple vaults, local embeddings, and a web dashboard.MIT
- AlicenseNot gradedqualityDmaintenanceAn MCP server that provides always-fresh semantic search over Obsidian vaults, automatically watching file changes and using local embeddings via Ollama.76 npmMIT