PluginBench
MCP Server
Active
MIT

Obsidian Semantic Search MCP Server

io.github.DalecB/obsidian-semantic-mcp

What is the Obsidian Semantic Search MCP server?

Read-only semantic search MCP server for Obsidian vaults using local Ollama embeddings.

How to install Obsidian Semantic Search

Copy-paste configuration for popular MCP clients.

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

    Absolute path to the local Obsidian vault.

  • OBSIDIAN_SEMANTIC_MCP_HOME

    Directory for the external SQLite index, logs, and cache.

  • OBSIDIAN_EMBED_MODEL

    Ollama embedding model name. Defaults to bge-m3.

  • OLLAMA_BASE_URL

    Ollama API base URL. Defaults to http://localhost:11434.

  • OBSIDIAN_SEMANTIC_STARTUP_INDEX

    Set to true to run incremental indexing when the server starts.

  • OBSIDIAN_SEMANTIC_ALLOW_SENSITIVE

    Set to true to allow include_sensitive tool calls.

  • OBSIDIAN_SEMANTIC_EXCLUDE

    Comma- or newline-separated folders to always exclude from indexing, search, and read.

  • OBSIDIAN_SEMANTIC_SENSITIVE_PATHS

    Comma- or newline-separated folders treated as sensitive (blocked unless unlocked). Defaults to 08_PersonalInfo/.

Claude Desktop
~/Library/Application Support/Claude/claude_desktop_config.json
{
  "mcpServers": {
    "obsidian-semantic-mcp": {
      "command": "npx",
      "args": [
        "-y",
        "@dalecb/obsidian-semantic-mcp"
      ],
      "env": {
        "OBSIDIAN_VAULT_ROOT": "<YOUR_OBSIDIAN_VAULT_ROOT>",
        "OBSIDIAN_SEMANTIC_MCP_HOME": "<YOUR_OBSIDIAN_SEMANTIC_MCP_HOME>",
        "OBSIDIAN_EMBED_MODEL": "<YOUR_OBSIDIAN_EMBED_MODEL>",
        "OLLAMA_BASE_URL": "<YOUR_OLLAMA_BASE_URL>",
        "OBSIDIAN_SEMANTIC_STARTUP_INDEX": "<YOUR_OBSIDIAN_SEMANTIC_STARTUP_INDEX>",
        "OBSIDIAN_SEMANTIC_ALLOW_SENSITIVE": "<YOUR_OBSIDIAN_SEMANTIC_ALLOW_SENSITIVE>",
        "OBSIDIAN_SEMANTIC_EXCLUDE": "<YOUR_OBSIDIAN_SEMANTIC_EXCLUDE>",
        "OBSIDIAN_SEMANTIC_SENSITIVE_PATHS": "<YOUR_OBSIDIAN_SEMANTIC_SENSITIVE_PATHS>"
      }
    }
  }
}
Cursor
~/.cursor/mcp.json
{
  "mcpServers": {
    "obsidian-semantic-mcp": {
      "command": "npx",
      "args": [
        "-y",
        "@dalecb/obsidian-semantic-mcp"
      ],
      "env": {
        "OBSIDIAN_VAULT_ROOT": "<YOUR_OBSIDIAN_VAULT_ROOT>",
        "OBSIDIAN_SEMANTIC_MCP_HOME": "<YOUR_OBSIDIAN_SEMANTIC_MCP_HOME>",
        "OBSIDIAN_EMBED_MODEL": "<YOUR_OBSIDIAN_EMBED_MODEL>",
        "OLLAMA_BASE_URL": "<YOUR_OLLAMA_BASE_URL>",
        "OBSIDIAN_SEMANTIC_STARTUP_INDEX": "<YOUR_OBSIDIAN_SEMANTIC_STARTUP_INDEX>",
        "OBSIDIAN_SEMANTIC_ALLOW_SENSITIVE": "<YOUR_OBSIDIAN_SEMANTIC_ALLOW_SENSITIVE>",
        "OBSIDIAN_SEMANTIC_EXCLUDE": "<YOUR_OBSIDIAN_SEMANTIC_EXCLUDE>",
        "OBSIDIAN_SEMANTIC_SENSITIVE_PATHS": "<YOUR_OBSIDIAN_SEMANTIC_SENSITIVE_PATHS>"
      }
    }
  }
}
Windsurf
~/.codeium/windsurf/mcp_config.json
{
  "mcpServers": {
    "obsidian-semantic-mcp": {
      "command": "npx",
      "args": [
        "-y",
        "@dalecb/obsidian-semantic-mcp"
      ],
      "env": {
        "OBSIDIAN_VAULT_ROOT": "<YOUR_OBSIDIAN_VAULT_ROOT>",
        "OBSIDIAN_SEMANTIC_MCP_HOME": "<YOUR_OBSIDIAN_SEMANTIC_MCP_HOME>",
        "OBSIDIAN_EMBED_MODEL": "<YOUR_OBSIDIAN_EMBED_MODEL>",
        "OLLAMA_BASE_URL": "<YOUR_OLLAMA_BASE_URL>",
        "OBSIDIAN_SEMANTIC_STARTUP_INDEX": "<YOUR_OBSIDIAN_SEMANTIC_STARTUP_INDEX>",
        "OBSIDIAN_SEMANTIC_ALLOW_SENSITIVE": "<YOUR_OBSIDIAN_SEMANTIC_ALLOW_SENSITIVE>",
        "OBSIDIAN_SEMANTIC_EXCLUDE": "<YOUR_OBSIDIAN_SEMANTIC_EXCLUDE>",
        "OBSIDIAN_SEMANTIC_SENSITIVE_PATHS": "<YOUR_OBSIDIAN_SEMANTIC_SENSITIVE_PATHS>"
      }
    }
  }
}
VS Code
.vscode/mcp.json
{
  "servers": {
    "obsidian-semantic-mcp": {
      "type": "stdio",
      "command": "npx",
      "args": [
        "-y",
        "@dalecb/obsidian-semantic-mcp"
      ],
      "env": {
        "OBSIDIAN_VAULT_ROOT": "<YOUR_OBSIDIAN_VAULT_ROOT>",
        "OBSIDIAN_SEMANTIC_MCP_HOME": "<YOUR_OBSIDIAN_SEMANTIC_MCP_HOME>",
        "OBSIDIAN_EMBED_MODEL": "<YOUR_OBSIDIAN_EMBED_MODEL>",
        "OLLAMA_BASE_URL": "<YOUR_OLLAMA_BASE_URL>",
        "OBSIDIAN_SEMANTIC_STARTUP_INDEX": "<YOUR_OBSIDIAN_SEMANTIC_STARTUP_INDEX>",
        "OBSIDIAN_SEMANTIC_ALLOW_SENSITIVE": "<YOUR_OBSIDIAN_SEMANTIC_ALLOW_SENSITIVE>",
        "OBSIDIAN_SEMANTIC_EXCLUDE": "<YOUR_OBSIDIAN_SEMANTIC_EXCLUDE>",
        "OBSIDIAN_SEMANTIC_SENSITIVE_PATHS": "<YOUR_OBSIDIAN_SEMANTIC_SENSITIVE_PATHS>"
      }
    }
  }
}
Claude Code
claude mcp add obsidian-semantic-mcp --env OBSIDIAN_VAULT_ROOT=<YOUR_OBSIDIAN_VAULT_ROOT> --env OBSIDIAN_SEMANTIC_MCP_HOME=<YOUR_OBSIDIAN_SEMANTIC_MCP_HOME> --env OBSIDIAN_EMBED_MODEL=<YOUR_OBSIDIAN_EMBED_MODEL> --env OLLAMA_BASE_URL=<YOUR_OLLAMA_BASE_URL> --env OBSIDIAN_SEMANTIC_STARTUP_INDEX=<YOUR_OBSIDIAN_SEMANTIC_STARTUP_INDEX> --env OBSIDIAN_SEMANTIC_ALLOW_SENSITIVE=<YOUR_OBSIDIAN_SEMANTIC_ALLOW_SENSITIVE> --env OBSIDIAN_SEMANTIC_EXCLUDE=<YOUR_OBSIDIAN_SEMANTIC_EXCLUDE> --env OBSIDIAN_SEMANTIC_SENSITIVE_PATHS=<YOUR_OBSIDIAN_SEMANTIC_SENSITIVE_PATHS> -- npx -y @dalecb/obsidian-semantic-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 →