MCPLow riskUnclaimed

Obsidian Hybrid Search

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

flowing-abyssflowing-abyss/obsidian-hybrid-search★ 109Updated Oct 5, 2026

server.json

{
  "$schema": "https://static.modelcontextprotocol.io/schemas/2025-12-11/server.schema.json",
  "name": "io.github.flowing-abyss/obsidian-hybrid-search",
  "description": "Search Obsidian vaults with hybrid full-text, fuzzy, semantic, and graph retrieval.",
  "title": "Obsidian Hybrid Search",
  "repository": {
    "url": "https://github.com/flowing-abyss/obsidian-hybrid-search",
    "source": "github"
  },
  "version": "0.16.1",
  "websiteUrl": "https://github.com/flowing-abyss/obsidian-hybrid-search#readme",
  "packages": [
    {
      "registryType": "npm",
      "registryBaseUrl": "https://registry.npmjs.org",
      "identifier": "obsidian-hybrid-search",
      "version": "0.16.1",
      "transport": {
        "type": "stdio"
      },
      "packageArguments": [
        {
          "value": "mcp",
          "type": "positional"
        }
      ],
      "environmentVariables": [
        {
          "description": "Absolute path to the Obsidian vault to index and search.",
          "isRequired": true,
          "format": "filepath",
          "name": "OBSIDIAN_VAULT_PATH"
        },
        {
          "description": "Optional prefix for MCP tool names when configuring multiple vaults.",
          "name": "OBSIDIAN_PREFIX"
        },
        {
          "description": "Comma-separated glob patterns to exclude from indexing.",
          "default": ".obsidian/**,templates/**,*.canvas",
          "name": "OBSIDIAN_IGNORE_PATTERNS"
        },
        {
          "description": "Read root and nested .gitignore files when indexing; set to false, 0, or no to disable.",
          "default": "true",
          "name": "OBSIDIAN_RESPECT_GITIGNORE"
        },
        {
          "description": "Comma-separated patterns to re-include notes ignored only by .gitignore.",
          "name": "OBSIDIAN_INCLUDE_PATTERNS"
        },
        {
          "description": "Optional API key for OpenAI-compatible remote embeddings; omit to use local embeddings.",
          "isSecret": true,
          "name": "OPENAI_API_KEY"
        },
        {
          "description": "Optional OpenAI-compatible API base URL for OpenRouter, Ollama, LM Studio, or similar providers.",
          "default": "https://api.openai.com/v1",
          "name": "OPENAI_BASE_URL"
        },
        {
          "description": "Remote embedding model name when using an OpenAI-compatible API.",
          "default": "text-embedding-3-small",
          "name": "OPENAI_EMBEDDING_MODEL"
        },
        {
          "description": "Local embedding model used when no remote embedding API is configured.",
          "default": "Xenova/multilingual-e5-small",
          "name": "LOCAL_EMBEDDING_MODEL"
        },
        {
          "description": "Optional ONNX cross-encoder reranker model used when reranking is requested.",
          "default": "onnx-community/gte-multilingual-reranker-base",
          "name": "RERANKER_MODEL"
        }
      ]
    }
  ]
}

Permissions

DeclaredDetected
Runs code—node
Installs—npm:obsidian-hybrid-search@0.16.1
Runs install scripts—None
NetworkNoneNone
Needs credentialsOPENAI_API_KEYOPENAI_API_KEY
Outside the workspace—None
Agent tools—None

Checks

Low risk · Nothing worth a warning was found.

Not reviewed by a person · Checked by rules; the model review is not switched on yet.

Versions

  1. #10.16.1latestOct 7, 2026