Skip to main content

MCP server that adds intelligent, use-adaptive search to Obsidian vaults. Your vault remembers what matters.

Project description

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.

Install

pip install hebbian-vault

Usage

Claude Code

claude mcp add hebbian-vault -- hebbian-vault --vault ~/my-vault

Claude Desktop

Add to claude_desktop_config.json:

{
  "mcpServers": {
    "hebbian-vault": {
      "command": "uvx",
      "args": ["hebbian-vault", "--vault", "/path/to/vault"]
    }
  }
}

Direct

hebbian-vault --vault ~/my-vault

MCP Tools

Tool Description
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)

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.

Use --inline-tracking to write retrieval_count directly into YAML frontmatter (visible in Obsidian).

Options

hebbian-vault --vault PATH          Path to Obsidian vault (required)
              --inline-tracking     Write tracking to file frontmatter
              --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

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

hebbian_vault-0.1.0.tar.gz (10.1 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

hebbian_vault-0.1.0-py3-none-any.whl (14.1 kB view details)

Uploaded Python 3

File details

Details for the file hebbian_vault-0.1.0.tar.gz.

File metadata

  • Download URL: hebbian_vault-0.1.0.tar.gz
  • Upload date:
  • Size: 10.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.14.4

File hashes

Hashes for hebbian_vault-0.1.0.tar.gz
Algorithm Hash digest
SHA256 5050f3d2174c4dc993c3ae862b70582802b8c11222c710c310b6a623811d9b62
MD5 9a8ffa8561170ded1af02d6caebaaec7
BLAKE2b-256 a88df9cb5d3c9ca5a21b444de500e0760943772b644086b210b0d7097805141e

See more details on using hashes here.

File details

Details for the file hebbian_vault-0.1.0-py3-none-any.whl.

File metadata

  • Download URL: hebbian_vault-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 14.1 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.14.4

File hashes

Hashes for hebbian_vault-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 ed9c678fb3c54092df14558f9d7da229833d4968e4a7f5c6ad3a7400e7b6b8d2
MD5 d530af78b3cbf8511820ac26b9389abc
BLAKE2b-256 0f1b5323b8628cbf434db88c29cb2b3315da8788a574d7daac04a3366139b2ef

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page