Obsidian Hybrid Search logo

Obsidian Hybrid Search

Search Obsidian vaults using hybrid text, semantic, fuzzy-title, alias, metadata, and graph retrieval through MCP.

Install Obsidian Hybrid Search

Pick your client, then add it in one click or paste the config.

STDIONode.js
~/Library/Application Support/Claude/claude_desktop_config.json
claude_desktop_config.json
{
  "mcpServers": {
    "obsidian-hybrid-search": {
      "command": "npx",
      "args": [
        "-y",
        "-p",
        "obsidian-hybrid-search@latest",
        "obsidian-hybrid-search-mcp"
      ]
    }
  }
}

Settings → Developer → Edit Config, merge this into mcpServers, then fully quit and reopen Claude Desktop.

Install not yet sandbox-tested— we haven't run this command through our automated sandbox yet. Not a red flag; we're working through the catalog.

Overview

Obsidian Hybrid Search connects AI agents to an Obsidian vault through hybrid retrieval and note-reading tools. It combines BM25 full-text search, semantic embeddings, fuzzy title and alias matching, tags, folders, links, backlinks, and graph traversal. Agents can run single or multi-query searches, find similar or related notes, read note metadata and content, reindex files, and inspect index status. Reach for it when an agent needs grounded context from an existing local knowledge vault rather than general-purpose document search.

Use cases

  • Search a vault for notes matching an idea or phrase
  • Retrieve source notes and their backlinks for grounded answers
  • Find semantically similar notes from a known vault path
  • Follow linked notes to expand an agent's context
  • Filter research by folder, tag, or metadata

Key features

  • Hybrid BM25, fuzzy-title, and semantic retrieval
  • Multi-query fan-out with reciprocal rank fusion
  • Graph traversal across outgoing links and backlinks
  • Note reading with aliases, tags, links, and fuzzy path suggestions
  • Local or OpenAI-compatible remote embeddings
  • Incremental indexing with vault edit watching

Tools4

What Obsidian Hybrid Search lets your agent do. Expand a tool for its parameters.

Self-reported~166 tokens of context

Security & health

What it can reach and how reliably it runs — from our own checks, not the maintainer’s claims.

ActiveLast checked Today

Recent health check succeeded.

12/12 checks healthy over the last 51d

Supply-chain signal

No high-severity advisories surfaced by our automated scan.

Critical 0High 0Medium 0Low 0

Scanned 5d ago via OSV.dev · obsidian-hybrid-search@latest (npm)

Adoption & maintenance

Factual signals from GitHub, npm, and our automated checks — not a rating.

GitHub stars115Stargazers on the source repository.
npm downloads4.6kPackage downloads in the last 30 days.
Last commit3d agoMost recent push to the default branch.
Tools exposed4Callable tools this server registers over MCP.
Directory activity6 viewsConfig copies, upvotes, and views on AllMCPs.

How Obsidian Hybrid Search works

What Obsidian Hybrid Search does

Obsidian Hybrid Search exposes an Obsidian vault to MCP clients as a searchable knowledge source. Its retrieval engine supports text queries, semantic similarity, title and alias matching, metadata filters, and relationships between notes. Search results can include snippets, tags, aliases, outgoing links, and backlinks, giving an agent both matching content and the surrounding note structure.

The server is suited to agents that need to locate source notes, assemble context from several files, follow linked ideas, or retrieve notes whose wording differs from the query. It operates on vault-relative paths and can return complete note content when a result needs closer inspection.

How it works

The index combines BM25 full-text retrieval, fuzzy title matching, and embeddings. Hybrid results are merged with reciprocal rank fusion (RRF). Text searches can use hybrid, semantic, fulltext, or title modes. A path-based search finds semantically similar notes, while adding graph traversal follows linked notes. Traversal can be filtered by outgoing links, backlinks, or both, and can use a configurable depth.

Multiple queries can be sent together for parallel fan-out. Their results are merged with RRF, which helps when related notes use different vocabulary. Search also supports folder scopes, tag filters, result limits, score thresholds, and snippet-length control.

Embeddings work locally by default with Xenova/multilingual-e5-small, using approximately 117 MB on first use and requiring no API key. An OpenAI-compatible embedding endpoint can be used instead, including providers such as OpenRouter, Ollama, or LM Studio. The project also supports optional cross-encoder reranking with gte-multilingual-reranker-base.

Setup and configuration

Install the package globally with:

Terminal
npm install -g obsidian-hybrid-search

Set OBSIDIAN_VAULT_PATH to the vault location, then create the index with ohs reindex. When run from inside a vault, the CLI can find the root by locating the nearest .obsidian directory. A database path can also be supplied explicitly when operating outside the vault.

The first local embedding run downloads the default model. Remote embeddings use OPENAI_API_KEY, with OPENAI_BASE_URL and OPENAI_EMBEDDING_MODEL available for compatible providers and models.

Tools and capabilities

  • search searches by text, semantic similarity, title, aliases, tags, folders, or note relationships.
  • search accepts multiple queries and merges their results with RRF.
  • read retrieves one or more notes by vault-relative path, including content, title, aliases, tags, links, and backlinks.
  • read returns fuzzy path suggestions when a requested note is not found and can limit content with snippet_length.
  • reindex rebuilds the vault index or updates a specific file.
  • status reports total notes, indexed notes, and the last indexing time.
  • Incremental indexing processes changed files and watches for edits in real time.

Limitations and notes

Semantic retrieval depends on the selected embedding model and its local or remote runtime. Optional reranking adds a separate model download of about 341 MB. Search quality and timing vary with vault size, query type, and configuration; published evaluations include vaults ranging from 171 to more than 22,000 notes.

Reviews

No reviews yet — be the first to share how it worked for you.

Frequently Asked Questions about Obsidian Hybrid Search

Obsidian Hybrid Search is an MCP server that connects AI agents to an Obsidian vault through search, read, reindex, and status tools. It supports hybrid, semantic, full-text, title, fuzzy alias, and graph-based retrieval, then returns note content and relationship metadata for grounded agent workflows.

Install the package globally with `npm install -g obsidian-hybrid-search`, configure the vault path, and index the vault with `ohs reindex`. The package uses the vault location from `OBSIDIAN_VAULT_PATH`, or can discover a vault when run inside its directory.

Yes, local embeddings work without an API key. The default `Xenova/multilingual-e5-small` model runs locally and downloads about 117 MB on first use. Remote OpenAI-compatible embeddings are optional and can be configured with endpoint and model environment variables.

Pass a note path to the search tool for semantic similarity, and set `related` to true for graph traversal. Traversal can follow outgoing links, backlinks, or both, with a configurable depth and the same search filters available for scoped retrieval.

Related MCP servers

Add a badge to your READMEShow it’s listed — live SVG, Markdown or HTML.

AllMCPs Directory Badge

Full Badge Customizer

Showcase your server listing on GitHub or your project documentation. Embed this dynamic SVG badge to highlight official listing status and live engagement.

Badge Style:
Live Dynamic SVG PreviewObsidian Hybrid Search AllMCPs Directory Badge
Markdown (GitHub README)
[![AllMCPs](https://allmcps.com/api/badge/obsidian-hybrid-search?style=directory)](https://allmcps.com/mcp/obsidian-hybrid-search)
HTML Embed
<a href="https://allmcps.com/mcp/obsidian-hybrid-search"><img src="https://allmcps.com/api/badge/obsidian-hybrid-search?style=directory" alt="Obsidian Hybrid Search on AllMCPs" /></a>