PluginBench
MCP Server

Obsidian Hybrid Search MCP Server

io.github.flowing-abyss/obsidian-hybrid-search

What is the Obsidian Hybrid Search MCP server?

Search Obsidian vaults with hybrid full-text, fuzzy, semantic, and graph retrieval.

How to install Obsidian Hybrid Search

Copy-paste configuration for popular MCP clients.

transport: stdio
Config generated by PluginBench — verify against the source before use.
Environment / auth
  • OBSIDIAN_VAULT_PATH
    required

    Absolute path to the Obsidian vault to index and search.

  • OBSIDIAN_PREFIX

    Optional prefix for MCP tool names when configuring multiple vaults.

  • OBSIDIAN_IGNORE_PATTERNS

    Comma-separated glob patterns to exclude from indexing.

  • OBSIDIAN_RESPECT_GITIGNORE

    Read root and nested .gitignore files when indexing; set to false, 0, or no to disable.

  • OBSIDIAN_INCLUDE_PATTERNS

    Comma-separated patterns to re-include notes ignored only by .gitignore.

  • OPENAI_API_KEY
    secret

    Optional API key for OpenAI-compatible remote embeddings; omit to use local embeddings.

  • OPENAI_BASE_URL

    Optional OpenAI-compatible API base URL for OpenRouter, Ollama, LM Studio, or similar providers.

  • OPENAI_EMBEDDING_MODEL

    Remote embedding model name when using an OpenAI-compatible API.

  • LOCAL_EMBEDDING_MODEL

    Local embedding model used when no remote embedding API is configured.

  • RERANKER_MODEL

    Optional ONNX cross-encoder reranker model used when reranking is requested.

Claude Desktop
~/Library/Application Support/Claude/claude_desktop_config.json
{
  "mcpServers": {
    "obsidian-hybrid-search": {
      "command": "npx",
      "args": [
        "-y",
        "obsidian-hybrid-search",
        "mcp"
      ],
      "env": {
        "OBSIDIAN_VAULT_PATH": "<YOUR_OBSIDIAN_VAULT_PATH>",
        "OBSIDIAN_PREFIX": "<YOUR_OBSIDIAN_PREFIX>",
        "OBSIDIAN_IGNORE_PATTERNS": "<YOUR_OBSIDIAN_IGNORE_PATTERNS>",
        "OBSIDIAN_RESPECT_GITIGNORE": "<YOUR_OBSIDIAN_RESPECT_GITIGNORE>",
        "OBSIDIAN_INCLUDE_PATTERNS": "<YOUR_OBSIDIAN_INCLUDE_PATTERNS>",
        "OPENAI_API_KEY": "<YOUR_OPENAI_API_KEY>",
        "OPENAI_BASE_URL": "<YOUR_OPENAI_BASE_URL>",
        "OPENAI_EMBEDDING_MODEL": "<YOUR_OPENAI_EMBEDDING_MODEL>",
        "LOCAL_EMBEDDING_MODEL": "<YOUR_LOCAL_EMBEDDING_MODEL>",
        "RERANKER_MODEL": "<YOUR_RERANKER_MODEL>"
      }
    }
  }
}
Cursor
~/.cursor/mcp.json
{
  "mcpServers": {
    "obsidian-hybrid-search": {
      "command": "npx",
      "args": [
        "-y",
        "obsidian-hybrid-search",
        "mcp"
      ],
      "env": {
        "OBSIDIAN_VAULT_PATH": "<YOUR_OBSIDIAN_VAULT_PATH>",
        "OBSIDIAN_PREFIX": "<YOUR_OBSIDIAN_PREFIX>",
        "OBSIDIAN_IGNORE_PATTERNS": "<YOUR_OBSIDIAN_IGNORE_PATTERNS>",
        "OBSIDIAN_RESPECT_GITIGNORE": "<YOUR_OBSIDIAN_RESPECT_GITIGNORE>",
        "OBSIDIAN_INCLUDE_PATTERNS": "<YOUR_OBSIDIAN_INCLUDE_PATTERNS>",
        "OPENAI_API_KEY": "<YOUR_OPENAI_API_KEY>",
        "OPENAI_BASE_URL": "<YOUR_OPENAI_BASE_URL>",
        "OPENAI_EMBEDDING_MODEL": "<YOUR_OPENAI_EMBEDDING_MODEL>",
        "LOCAL_EMBEDDING_MODEL": "<YOUR_LOCAL_EMBEDDING_MODEL>",
        "RERANKER_MODEL": "<YOUR_RERANKER_MODEL>"
      }
    }
  }
}
Windsurf
~/.codeium/windsurf/mcp_config.json
{
  "mcpServers": {
    "obsidian-hybrid-search": {
      "command": "npx",
      "args": [
        "-y",
        "obsidian-hybrid-search",
        "mcp"
      ],
      "env": {
        "OBSIDIAN_VAULT_PATH": "<YOUR_OBSIDIAN_VAULT_PATH>",
        "OBSIDIAN_PREFIX": "<YOUR_OBSIDIAN_PREFIX>",
        "OBSIDIAN_IGNORE_PATTERNS": "<YOUR_OBSIDIAN_IGNORE_PATTERNS>",
        "OBSIDIAN_RESPECT_GITIGNORE": "<YOUR_OBSIDIAN_RESPECT_GITIGNORE>",
        "OBSIDIAN_INCLUDE_PATTERNS": "<YOUR_OBSIDIAN_INCLUDE_PATTERNS>",
        "OPENAI_API_KEY": "<YOUR_OPENAI_API_KEY>",
        "OPENAI_BASE_URL": "<YOUR_OPENAI_BASE_URL>",
        "OPENAI_EMBEDDING_MODEL": "<YOUR_OPENAI_EMBEDDING_MODEL>",
        "LOCAL_EMBEDDING_MODEL": "<YOUR_LOCAL_EMBEDDING_MODEL>",
        "RERANKER_MODEL": "<YOUR_RERANKER_MODEL>"
      }
    }
  }
}
VS Code
.vscode/mcp.json
{
  "servers": {
    "obsidian-hybrid-search": {
      "type": "stdio",
      "command": "npx",
      "args": [
        "-y",
        "obsidian-hybrid-search",
        "mcp"
      ],
      "env": {
        "OBSIDIAN_VAULT_PATH": "<YOUR_OBSIDIAN_VAULT_PATH>",
        "OBSIDIAN_PREFIX": "<YOUR_OBSIDIAN_PREFIX>",
        "OBSIDIAN_IGNORE_PATTERNS": "<YOUR_OBSIDIAN_IGNORE_PATTERNS>",
        "OBSIDIAN_RESPECT_GITIGNORE": "<YOUR_OBSIDIAN_RESPECT_GITIGNORE>",
        "OBSIDIAN_INCLUDE_PATTERNS": "<YOUR_OBSIDIAN_INCLUDE_PATTERNS>",
        "OPENAI_API_KEY": "<YOUR_OPENAI_API_KEY>",
        "OPENAI_BASE_URL": "<YOUR_OPENAI_BASE_URL>",
        "OPENAI_EMBEDDING_MODEL": "<YOUR_OPENAI_EMBEDDING_MODEL>",
        "LOCAL_EMBEDDING_MODEL": "<YOUR_LOCAL_EMBEDDING_MODEL>",
        "RERANKER_MODEL": "<YOUR_RERANKER_MODEL>"
      }
    }
  }
}
Claude Code
claude mcp add obsidian-hybrid-search --env OBSIDIAN_VAULT_PATH=<YOUR_OBSIDIAN_VAULT_PATH> --env OBSIDIAN_PREFIX=<YOUR_OBSIDIAN_PREFIX> --env OBSIDIAN_IGNORE_PATTERNS=<YOUR_OBSIDIAN_IGNORE_PATTERNS> --env OBSIDIAN_RESPECT_GITIGNORE=<YOUR_OBSIDIAN_RESPECT_GITIGNORE> --env OBSIDIAN_INCLUDE_PATTERNS=<YOUR_OBSIDIAN_INCLUDE_PATTERNS> --env OPENAI_API_KEY=<YOUR_OPENAI_API_KEY> --env OPENAI_BASE_URL=<YOUR_OPENAI_BASE_URL> --env OPENAI_EMBEDDING_MODEL=<YOUR_OPENAI_EMBEDDING_MODEL> --env LOCAL_EMBEDDING_MODEL=<YOUR_LOCAL_EMBEDDING_MODEL> --env RERANKER_MODEL=<YOUR_RERANKER_MODEL> -- npx -y obsidian-hybrid-search mcp

Related MCP servers

Give your AI agent stealth web scraping with Cloudflare bypass and CSS selection, powered by Scrapling.

67k
Python
BSD-3-Clause
View repository →

Give your AI coding agent full control of a live Chrome browser for automation, debugging, and performance analysis.

45k
TypeScript
Apache-2.0
View repository →

Let AI agents manage your Puter files, websites, and serverless workers over MCP.

43k
TypeScript
AGPL-3.0
View repository →

Browser automation for AI agents via MCP, powering ByteDance's Agent TARS hybrid GUI/DOM browser control.

37k
TypeScript
Apache-2.0
View repository →

Run arbitrary shell commands from an MCP-connected AI agent.

37k
TypeScript
Apache-2.0
View repository →

Filesystem access MCP server from ByteDance's UI-TARS/Agent TARS ecosystem.

37k
TypeScript
Apache-2.0
View repository →