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.
OBSIDIAN_VAULT_PATHrequiredAbsolute path to the Obsidian vault to index and search.
OBSIDIAN_PREFIXOptional prefix for MCP tool names when configuring multiple vaults.
OBSIDIAN_IGNORE_PATTERNSComma-separated glob patterns to exclude from indexing.
OBSIDIAN_RESPECT_GITIGNORERead root and nested .gitignore files when indexing; set to false, 0, or no to disable.
OBSIDIAN_INCLUDE_PATTERNSComma-separated patterns to re-include notes ignored only by .gitignore.
OPENAI_API_KEYsecretOptional API key for OpenAI-compatible remote embeddings; omit to use local embeddings.
OPENAI_BASE_URLOptional OpenAI-compatible API base URL for OpenRouter, Ollama, LM Studio, or similar providers.
OPENAI_EMBEDDING_MODELRemote embedding model name when using an OpenAI-compatible API.
LOCAL_EMBEDDING_MODELLocal embedding model used when no remote embedding API is configured.
RERANKER_MODELOptional ONNX cross-encoder reranker model used when reranking is requested.
{
"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>"
}
}
}
}{
"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>"
}
}
}
}{
"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>"
}
}
}
}{
"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 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 mcpRelated MCP servers
Scrapling MCP Server
Give your AI agent stealth web scraping with Cloudflare bypass and CSS selection, powered by Scrapling.
Chrome DevTools MCP
Give your AI coding agent full control of a live Chrome browser for automation, debugging, and performance analysis.
com.puter/mcp-server
Let AI agents manage your Puter files, websites, and serverless workers over MCP.
Browser automation for AI agents via MCP, powering ByteDance's Agent TARS hybrid GUI/DOM browser control.
Run arbitrary shell commands from an MCP-connected AI agent.
Filesystem access MCP server from ByteDance's UI-TARS/Agent TARS ecosystem.