Search Obsidian vaults with hybrid full-text, fuzzy, semantic, and graph retrieval.
Connect Runs on your machine
claude mcp add obsidian-hybrid-search -e OBSIDIAN_VAULT_PATH=<OBSIDIAN_VAULT_PATH> -e OBSIDIAN_PREFIX=<OBSIDIAN_PREFIX> -e OBSIDIAN_IGNORE_PATTERNS=<OBSIDIAN_IGNORE_PATTERNS> -e OBSIDIAN_RESPECT_GITIGNORE=<OBSIDIAN_RESPECT_GITIGNORE> -e OBSIDIAN_INCLUDE_PATTERNS=<OBSIDIAN_INCLUDE_PATTERNS> -e OBSIDIAN_CONTENT_IGNORE_PATTERNS=<OBSIDIAN_CONTENT_IGNORE_PATTERNS> -e OPENAI_API_KEY=<OPENAI_API_KEY> -e OPENAI_BASE_URL=<OPENAI_BASE_URL> -e OPENAI_EMBEDDING_MODEL=<OPENAI_EMBEDDING_MODEL> -e LOCAL_EMBEDDING_MODEL=<LOCAL_EMBEDDING_MODEL> -e RERANKER_MODEL=<RERANKER_MODEL> -- npx -y [email protected]
{
"mcpServers": {
"obsidian-hybrid-search": {
"command": "npx",
"args": [
"-y",
"[email protected]"
],
"env": {
"OBSIDIAN_VAULT_PATH": "<OBSIDIAN_VAULT_PATH>",
"OBSIDIAN_PREFIX": "<OBSIDIAN_PREFIX>",
"OBSIDIAN_IGNORE_PATTERNS": "<OBSIDIAN_IGNORE_PATTERNS>",
"OBSIDIAN_RESPECT_GITIGNORE": "<OBSIDIAN_RESPECT_GITIGNORE>",
"OBSIDIAN_INCLUDE_PATTERNS": "<OBSIDIAN_INCLUDE_PATTERNS>",
"OBSIDIAN_CONTENT_IGNORE_PATTERNS": "<OBSIDIAN_CONTENT_IGNORE_PATTERNS>",
"OPENAI_API_KEY": "<OPENAI_API_KEY>",
"OPENAI_BASE_URL": "<OPENAI_BASE_URL>",
"OPENAI_EMBEDDING_MODEL": "<OPENAI_EMBEDDING_MODEL>",
"LOCAL_EMBEDDING_MODEL": "<LOCAL_EMBEDDING_MODEL>",
"RERANKER_MODEL": "<RERANKER_MODEL>"
}
}
}
}
{
"mcpServers": {
"obsidian-hybrid-search": {
"command": "npx",
"args": [
"-y",
"[email protected]"
],
"env": {
"OBSIDIAN_VAULT_PATH": "<OBSIDIAN_VAULT_PATH>",
"OBSIDIAN_PREFIX": "<OBSIDIAN_PREFIX>",
"OBSIDIAN_IGNORE_PATTERNS": "<OBSIDIAN_IGNORE_PATTERNS>",
"OBSIDIAN_RESPECT_GITIGNORE": "<OBSIDIAN_RESPECT_GITIGNORE>",
"OBSIDIAN_INCLUDE_PATTERNS": "<OBSIDIAN_INCLUDE_PATTERNS>",
"OBSIDIAN_CONTENT_IGNORE_PATTERNS": "<OBSIDIAN_CONTENT_IGNORE_PATTERNS>",
"OPENAI_API_KEY": "<OPENAI_API_KEY>",
"OPENAI_BASE_URL": "<OPENAI_BASE_URL>",
"OPENAI_EMBEDDING_MODEL": "<OPENAI_EMBEDDING_MODEL>",
"LOCAL_EMBEDDING_MODEL": "<LOCAL_EMBEDDING_MODEL>",
"RERANKER_MODEL": "<RERANKER_MODEL>"
}
}
}
}
{
"servers": {
"obsidian-hybrid-search": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"[email protected]"
],
"env": {
"OBSIDIAN_VAULT_PATH": "<OBSIDIAN_VAULT_PATH>",
"OBSIDIAN_PREFIX": "<OBSIDIAN_PREFIX>",
"OBSIDIAN_IGNORE_PATTERNS": "<OBSIDIAN_IGNORE_PATTERNS>",
"OBSIDIAN_RESPECT_GITIGNORE": "<OBSIDIAN_RESPECT_GITIGNORE>",
"OBSIDIAN_INCLUDE_PATTERNS": "<OBSIDIAN_INCLUDE_PATTERNS>",
"OBSIDIAN_CONTENT_IGNORE_PATTERNS": "<OBSIDIAN_CONTENT_IGNORE_PATTERNS>",
"OPENAI_API_KEY": "<OPENAI_API_KEY>",
"OPENAI_BASE_URL": "<OPENAI_BASE_URL>",
"OPENAI_EMBEDDING_MODEL": "<OPENAI_EMBEDDING_MODEL>",
"LOCAL_EMBEDDING_MODEL": "<LOCAL_EMBEDDING_MODEL>",
"RERANKER_MODEL": "<RERANKER_MODEL>"
}
}
}
}
Replace the values in angle brackets with your own. Keys stay on your machine; we never see them.
Tools
This server runs locally, so its tools are listed by your MCP client once it starts.
Environment variables
| Name | Description |
|---|---|
OBSIDIAN_VAULT_PATHRequired | Absolute path to the Obsidian vault to index and search. |
OBSIDIAN_PREFIXOptional | Optional prefix for MCP tool names when configuring multiple vaults. |
OBSIDIAN_IGNORE_PATTERNSOptional | Comma-separated glob patterns to exclude from indexing. |
OBSIDIAN_RESPECT_GITIGNOREOptional | Read applicable .gitignore files and repository info/exclude rules when indexing; set to false, 0, or no to disable both. |
OBSIDIAN_INCLUDE_PATTERNSOptional | Comma-separated patterns to re-include notes ignored only by Git ignore rules. |
OBSIDIAN_CONTENT_IGNORE_PATTERNSOptional | Comma-separated regex rules for note body text to leave out of search, e.g. /%%[\s\S]*?%%/g. Original files and read stay unchanged. |
OPENAI_API_KEYOptional, secret | Optional API key for OpenAI-compatible remote embeddings; omit to use local embeddings. |
OPENAI_BASE_URLOptional | Optional OpenAI-compatible API base URL for OpenRouter, Ollama, LM Studio, or similar providers. |
OPENAI_EMBEDDING_MODELOptional | Remote embedding model name when using an OpenAI-compatible API. |
LOCAL_EMBEDDING_MODELOptional | Local embedding model used when no remote embedding API is configured. |
RERANKER_MODELOptional | Optional ONNX cross-encoder reranker model used when reranking is requested. |
Details
| Package | [email protected] (NPM, stdio) |
| First published | 13 Nov 2026 |
| Last updated | 13 Nov 2026 |
| Registry name | io.github.flowing-abyss/obsidian-hybrid-search |
More search and web servers See all
Listing data from the official MCP registry. Status and tools from NestDaddy's daily check. Browse all MCP servers.
