io.github.cyanheads/obsidian-mcp-server

io.github.cyanheads/obsidian-mcp-server

Read, write, search, and surgically edit Obsidian notes, tags, and frontmatter via MCP.

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-server": {
      "command": "npx",
      "args": [
        "-y",
        "obsidian-mcp-server@3.8.0"
      ],
      "env": {
        "OBSIDIAN_API_KEY": "<your OBSIDIAN_API_KEY>",
        "OBSIDIAN_BASE_URL": "http://127.0.0.1:27123",
        "OBSIDIAN_VERIFY_SSL": "false",
        "OBSIDIAN_REQUEST_TIMEOUT_MS": "30000",
        "OBSIDIAN_ENABLE_COMMANDS": "false",
        "OBSIDIAN_READ_ONLY": "false",
        "OBSIDIAN_DELETE_ELICITATION": "false",
        "MCP_LOG_LEVEL": "info"
      }
    }
  }
}
Environment variables
  • OBSIDIAN_API_KEYrequiredBearer token for the Obsidian Local REST API plugin (Settings → Community Plugins → Local REST API).
  • OBSIDIAN_BASE_URLBase URL of the Obsidian Local REST API. Default: http://127.0.0.1:27123 (enable "Non-encrypted (HTTP) Server" in plugin settings). Use https://127.0.0.1:27124 for the always-on HTTPS port (self-signed cert; pair with OBSIDIAN_VERIFY_SSL=false).
  • OBSIDIAN_VERIFY_SSLWhether to verify the TLS certificate on the Obsidian endpoint. Default false because the plugin uses a self-signed cert.
  • OBSIDIAN_REQUEST_TIMEOUT_MSPer-request timeout in milliseconds.
  • OBSIDIAN_ENABLE_COMMANDSOpt-in flag for the command-palette pair (obsidian_list_commands + obsidian_execute_command). Off by default — Obsidian commands are opaque and can be destructive.
  • OBSIDIAN_READ_ONLYGlobal read-only kill switch. When true, every write is denied regardless of OBSIDIAN_WRITE_PATHS, and the command-palette pair is suppressed (commands can mutate). Useful for shared or public-facing deployments.
  • OBSIDIAN_DELETE_ELICITATIONOpt-in delete confirmation. When true, obsidian_delete_note asks the user to confirm each delete through an elicitation round (the client must support elicitation), and HTTP startup requires a stateful session unless OBSIDIAN_READ_ONLY=true disables the tool. Off by default — the delete runs on the first call, bounded by OBSIDIAN_WRITE_PATHS and OBSIDIAN_READ_ONLY.
  • MCP_LOG_LEVELSets the minimum log level for output (e.g., 'debug', 'info', 'warn').

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

Category
Developer Tools
Version
3.8.0
Registry
active
Published
10/31/2026
Browse all Developer Tools →

Add the badge to your site

Show visitors that io.github.cyanheads/obsidian-mcp-server is listed here — it’s also the link we check for a free listing.

io.github.cyanheads/obsidian-mcp-server — listed on Serverdex

HTML — for your website

<a href="https://serverdex.io/server/io-github-cyanheads-obsidian-mcp-server?utm_source=badge"><img src="https://serverdex.io/brand/badge.svg" alt="io.github.cyanheads/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

[![io.github.cyanheads/obsidian-mcp-server — listed on Serverdex](https://serverdex.io/brand/badge.svg)](https://serverdex.io/server/io-github-cyanheads-obsidian-mcp-server?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.