Obsidian MCP Server

io.github.maxkuminov/obsidian-mcp

Self-hosted agent memory as a markdown vault: semantic and keyword search, wikilink graph, OAuth

Connect this server

Add this to your MCP client config — claude_desktop_config.json (Claude Desktop) or .cursor/mcp.json (Cursor).Suits: Claude Desktop · Cursor.

{
  "mcpServers": {
    "obsidian-mcp": {
      "command": "docker",
      "args": [
        "run",
        "-i",
        "--rm",
        "ghcr.io/maxkuminov/obsidian-mcp:v1.1.1"
      ],
      "env": {
        "DATABASE_URL": "<your DATABASE_URL>",
        "VAULT_PATH": "<your VAULT_PATH>",
        "SECRET_KEY": "<your SECRET_KEY>",
        "MCP_HOSTNAME": "<your MCP_HOSTNAME>",
        "EMBEDDING_PROVIDER": "ollama",
        "OLLAMA_URL": "http://ollama:11434",
        "OPENAI_API_KEY": "<your OPENAI_API_KEY>"
      }
    }
  }
}
Environment variables
  • DATABASE_URLrequiredsecretPostgreSQL 16 + pgvector (0.8.0+) connection URL for the app's NON-superuser role, e.g. postgresql+asyncpg://obsidian_mcp:<password>@postgres:5432/obsidian_mcp. A superuser role or a CHANGE_ME password is refused at startup.
  • VAULT_PATHrequiredPath of the Obsidian vault inside the container (mount your vault read-write there).
  • SECRET_KEYrequiredsecretitsdangerous signer for cookies/sessions. Generate with `openssl rand -hex 32`; the app refuses to start on a placeholder.
  • MCP_HOSTNAMErequiredPublic hostname your reverse proxy routes to. Also derives BASE_URL, ALLOWED_ORIGINS and ALLOWED_HOSTS as https://<MCP_HOSTNAME> unless those are set explicitly.
  • EMBEDDING_PROVIDEREmbedding provider: `ollama` (self-hosted, default) or `openai` (bring your own key). Switching after deploy requires `make reset-embeddings`.
  • OLLAMA_URLOllama endpoint serving bge-m3 (used when EMBEDDING_PROVIDER=ollama). Must be https or loopback unless EMBEDDING_ALLOW_PLAINTEXT is set.
  • OPENAI_API_KEYsecretOpenAI (or OpenAI-compatible) API key for text-embedding-3-* (required when EMBEDDING_PROVIDER=openai; the server refuses to start without it).

A starting point — check the repository for exact arguments and setup. Restart your client after editing the config.

Category
Developer Tools
Version
1.1.1
Registry
active
Published
11/7/2026
Browse all Developer Tools →

Add the badge to your site

Show visitors that Obsidian MCP Server is listed here — it’s also the link we check for a free listing.

Obsidian MCP Server — listed on Serverdex

HTML — for your website

<a href="https://serverdex.io/server/io-github-maxkuminov-obsidian-mcp?utm_source=badge"><img src="https://serverdex.io/brand/badge.svg" alt="Obsidian MCP Server — listed on Serverdex" width="123" height="40" loading="lazy"></a>

Recommended. A dofollow link from your own domain is the one that counts for search engines, and it's the link we check for a free listing.

Markdown — for your README

[![Obsidian MCP Server — listed on Serverdex](https://serverdex.io/brand/badge.svg)](https://serverdex.io/server/io-github-maxkuminov-obsidian-mcp?utm_source=badge)

Nice for visibility, but GitHub marks README links nofollow, so it doesn't pass authority. Use the HTML badge on your site as well.