🔍 Search your Obsidian vault directly from Claude. Fast full-text search powered by Tantivy-Go, giving AI instant access to your entire knowledge base.
Setup
Choose your client, copy the config, then fill in any required environment variables.
claude mcp add obsidian-search --env OBSIDIAN_VAULT_PATH='<OBSIDIAN_VAULT_PATH>' --env LOCAL_VAULT_PATH='<LOCAL_VAULT_PATH>' -- docker run -i --rm -e 'OBSIDIAN_VAULT_PATH={{config.OBSIDIAN_VAULT_PATH}}' -v '{{config.LOCAL_VAULT_PATH}}:/vault:ro' -v obsidian-mcp-index:/data atomzwieback/obsidian-search-mcp:latest~/.codex/config.toml
[mcp_servers.obsidian-search]
command = "docker"
args = ["run", "-i", "--rm", "-e", "OBSIDIAN_VAULT_PATH={{config.OBSIDIAN_VAULT_PATH}}", "-v", "{{config.LOCAL_VAULT_PATH}}:/vault:ro", "-v", "obsidian-mcp-index:/data", "atomzwieback/obsidian-search-mcp:latest"]
env = { OBSIDIAN_VAULT_PATH = "<OBSIDIAN_VAULT_PATH>", LOCAL_VAULT_PATH = "<LOCAL_VAULT_PATH>" }
# codex mcp add obsidian-search --env OBSIDIAN_VAULT_PATH='<OBSIDIAN_VAULT_PATH>' --env LOCAL_VAULT_PATH='<LOCAL_VAULT_PATH>' -- docker run -i --rm -e 'OBSIDIAN_VAULT_PATH={{config.OBSIDIAN_VAULT_PATH}}' -v '{{config.LOCAL_VAULT_PATH}}:/vault:ro' -v obsidian-mcp-index:/data atomzwieback/obsidian-search-mcp:latest~/.cursor/mcp.json
{
"mcpServers": {
"obsidian-search": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"-e",
"OBSIDIAN_VAULT_PATH={{config.OBSIDIAN_VAULT_PATH}}",
"-v",
"{{config.LOCAL_VAULT_PATH}}:/vault:ro",
"-v",
"obsidian-mcp-index:/data",
"atomzwieback/obsidian-search-mcp:latest"
],
"env": {
"OBSIDIAN_VAULT_PATH": "<OBSIDIAN_VAULT_PATH>",
"LOCAL_VAULT_PATH": "<LOCAL_VAULT_PATH>"
}
}
}
}.vscode/mcp.json
{
"servers": {
"obsidian-search": {
"type": "stdio",
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"-e",
"OBSIDIAN_VAULT_PATH={{config.OBSIDIAN_VAULT_PATH}}",
"-v",
"{{config.LOCAL_VAULT_PATH}}:/vault:ro",
"-v",
"obsidian-mcp-index:/data",
"atomzwieback/obsidian-search-mcp:latest"
],
"env": {
"OBSIDIAN_VAULT_PATH": "<OBSIDIAN_VAULT_PATH>",
"LOCAL_VAULT_PATH": "<LOCAL_VAULT_PATH>"
}
}
}
}~/.gemini/settings.json
{
"mcpServers": {
"obsidian-search": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"-e",
"OBSIDIAN_VAULT_PATH={{config.OBSIDIAN_VAULT_PATH}}",
"-v",
"{{config.LOCAL_VAULT_PATH}}:/vault:ro",
"-v",
"obsidian-mcp-index:/data",
"atomzwieback/obsidian-search-mcp:latest"
],
"env": {
"OBSIDIAN_VAULT_PATH": "<OBSIDIAN_VAULT_PATH>",
"LOCAL_VAULT_PATH": "<LOCAL_VAULT_PATH>"
}
}
}
}claude_desktop_config.json
{
"mcpServers": {
"obsidian-search": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"-e",
"OBSIDIAN_VAULT_PATH={{config.OBSIDIAN_VAULT_PATH}}",
"-v",
"{{config.LOCAL_VAULT_PATH}}:/vault:ro",
"-v",
"obsidian-mcp-index:/data",
"atomzwieback/obsidian-search-mcp:latest"
],
"env": {
"OBSIDIAN_VAULT_PATH": "<OBSIDIAN_VAULT_PATH>",
"LOCAL_VAULT_PATH": "<LOCAL_VAULT_PATH>"
}
}
}
}.trae/mcp.json
{
"mcpServers": {
"obsidian-search": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"-e",
"OBSIDIAN_VAULT_PATH={{config.OBSIDIAN_VAULT_PATH}}",
"-v",
"{{config.LOCAL_VAULT_PATH}}:/vault:ro",
"-v",
"obsidian-mcp-index:/data",
"atomzwieback/obsidian-search-mcp:latest"
],
"env": {
"OBSIDIAN_VAULT_PATH": "<OBSIDIAN_VAULT_PATH>",
"LOCAL_VAULT_PATH": "<LOCAL_VAULT_PATH>"
}
}
}
}Environment variables
OBSIDIAN_VAULT_PATHLOCAL_VAULT_PATH
Replace the placeholders with your own credentials and keep them out of version control.