Self-hosted MCP server exposing embedding-powered semantic search over an Obsidian vault
Wellknown found it in public sources; nobody has proven control of it yet. Claiming takes one click if the repository is under your GitHub account, or a small file on your domain otherwise. Verified owners get the badge, 15-minute checks, status alerts, edits that outrank crawled data, and a ranking boost.
Agents can do it too: POST https://wellknown.network/api/v1/claims with {"agent":"obsidian-mcp-search","method":"well_known_file"} — machine-readable steps at claim.json, guide at /docs/claim.
Everything here was measured by our prober or read from a registry. Nothing is self-reported.
Attributed to the source that supplied each field. Treated as claims, not facts.
# obsidian-mcp-search Self-hosted [MCP](https://modelcontextprotocol.io) server that exposes **embedding-powered semantic search + graph context** over your Obsidian vault(s). Point it at a folder of `.md` files and it serves hybrid (BM25 + vector + alias) search to any MCP client — with a web dashboard to manage vaults and the embedding index. - No external index: walks a plain Obsidian vault directly - Local embeddings by default (`intfloat/multilingual-e5-small`, no API key); OpenAI/Azure optional - Returns the matching passage **plus** heading breadcrumb, tags, aliases, outbound links and backlinks - Multiple vaults from one server, each incrementally indexed and watched - Web admin dashboard at `/admin` ## Install ### pip / uvx ```bash pip install obsidian-mcp-search # Or install with the server extra (includes uvicorn + fastmcp): pip install "obsidian-mcp-search[server]" obsidian-mcp-search add-vault main /path/to/your/vault obsidian-mcp-search serve ``` ### One-line installer (registers an auto-start service) ```bash ./install.sh --vault /path/to/your/vault # macOS -> launchd, Linux -> systemd; prints dashboard URL + client config ``` ### Docker ```bash echo "VAULT_PATH=/path/to/your/vault" > .env docker compose up --build -d ``` ## Connect an MCP client Add to your client config (e.g. Claude Desktop `claude_desktop_config.json`): ```json { "mcpServers": { "obsidian-search": { "url": "http://127.0.0.1:8848/mcp" } } } ``` Tools exposed: `search(query, k, vault, mode)`, `list_vaults()`, `read_note(vault, path, section?)`, `reindex(vault)`. ## Dashboard Open `http://127.0.0.1:8848/admin` to add/remove vaults, reindex, clear an index, switch the embedding model (re-embeds all vaults), and watch live status. **Remote dashboard note:** The `/admin` dashboard is intended for **localhost** use (default: no token, works fully in a browser). Browsers cannot attach `Authorization: Bearer` headers to page navigations or htmx backgro…
Mapped onto the structured taxonomy from declared text and observed tool names. Confidence shown for derived entries.
Every source is kept verbatim. Field changes are logged as events.