Obsidian MCP Server

Read, write, search, and surgically edit Obsidian vault notes, tags, and frontmatter via MCP. STDIO or Streamable HTTP. Its 25 documented tools cover obsidian, note, notes, tags.

People connecting documentation tools to Claude, Cursor, VS Code, or another MCP client. The project is written in TypeScript.

VERIFIED ACTIVE

LAST COMMIT 2026-08-22 · ★ 668 · #7 OF 183 MAINTAINED DOCUMENTATION · VERIFIED 2026-08-25

Apache-2.0 · TypeScript servers · how we verify → /methodology

01 · Install Obsidian MCP Server

before you install - you'll need

Set MCP_TRANSPORT_TYPE, MCP_LOG_LEVEL, OBSIDIAN_API_KEY before connecting.

Claude Code

claude mcp add cyanheads-obsidian-mcp-server -- npx -y obsidian-mcp-server

Claude Desktop / Cursor / VS Code - add to config

{
  "mcpServers": {
    "cyanheads-obsidian-mcp-server": {
      "command": "npx",
      "args": [
        "-y",
        "obsidian-mcp-server"
      ]
    }
  }
}

Same JSON for Cursor. For VS Code, rename the top-level key from `mcpServers` to `servers`.

Using another client? Same JSON, different key

Claude Desktop · mcpServers

Cursor · mcpServers

VS Code · servers

Windsurf · mcpServers

Zed · context_servers

Cline · mcpServers

Roo Code · mcpServers

Continue · mcpServers

LibreChat · mcpServers

Gemini CLI · mcpServers

Codex CLI · mcp_servers

Full setup guides: every client.

02 · Evidence

Security posture

What to check before giving this server access to your agent - from the registry, GitHub, and our own probes. We don't score safety; we show what's verifiable.

runs as local process (stdio) - runs on your machine with your user's permissions

license Apache-2.0 - declared in the repository

npm package obsidian-mcp-server - unscoped; check the name against the project README before installing

registry namespace io.github.cyanheads is GitHub-verified and matches the repo owner

03 · What Obsidian MCP Server can do

Prose above is summarized from the project's README and registry record - no invented capabilities.

What you can build

With this server connected, an agent can list notes and subdirectories under a vault path. Recursive walk (default depth 2, max depth 20, search the vault by text, JSONLogic, or BM25-ranked Omnisearch (when the plugin is reachable). Results paginate via opaque cursors, add, remove, or list tags. Defaults to the frontmatter tags: array, and open a file in the Obsidian app UI, with failIfMissing and newLeaf toggles.

Capability map

Tools grouped from the project's README - what Obsidian MCP Server lets an agent do.

Obsidian

14 tools - e.g. Read a note as raw content, full structured form (content + frontmatter + tags + stat, with optional outgoing links), structural document map, or a single secti; List notes and subdirectories under a…

obsidian_get_note · obsidian_list_notes · obsidian_list_tags · obsidian_list_commands · obsidian_search_notes · obsidian_write_note…

Format

1 tool - e.g. "content" - raw markdown body

format

Operation

1 tool - e.g. "append" adds after the section

operation

Targets

1 tool - e.g. heading path, block reference ID, or frontmatter field

Targets

Frontmatter

1 tool - e.g. only the YAML between the --- fences. The fences themselves are never matched.

frontmatter

Both

1 tool - e.g. each replacement runs over the frontmatter and then the body; perReplacement[] reports bodyCount and frontmatterCount separately.

both

Use Regex

1 tool - e.g. treat search as an ECMAScript regex. With useRegex: true, the replacement honors $1 / $& capture-group references.

useRegex

Case Sensitive

1 tool - e.g. when false, match case-insensitively

caseSensitive

Latest releases

v3.5.0 · 2026-08-22

Frontmatter-safe tag removal and note replacement · obsidian_manage_tags inline removal no longer collapses whitespace across the note - frontmatter is spliced off and re-attached verbatim, and removal takes exactly…

v3.4.0 · 2026-08-22

list_tags cap/sort, jsonlogic docs, error containment · obsidian_list_tags now sorts by count descending and caps at limit (default 200, max 10000), with the withheld count disclosed (#110) · Upstream error text…

v3.3.1 · 2026-08-21

Docker build stage on the native build platform · The multi-arch build's linux/amd64 stage ran in the target platform's container, so on an arm64 host it executed under QEMU, where bun run build aborts on a spurious…

04 · Who maintains Obsidian MCP Server

obsidian-mcp-server is maintained by cyanheads. We track 125 MCP servers from cyanheads - 124 actively maintained, 1,730 combined GitHub stars, oldest repo from Dec 2024. Full record: all servers from cyanheads.

  1. mcp-ts-core Agent-native TypeScript framework for building MCP servers with declarative definitions. ★ 148
  2. git-mcp-server Comprehensive Git MCP server enabling native git tools including clone, commit, worktree, & more. ★ 235
  3. pubmed-mcp-server Search PubMed/Europe PMC, fetch articles and full text (PMC/EPMC/Unpaywall), citations, MeSH terms. ★ 137
  4. clinicaltrialsgov-mcp-server Search ClinicalTrials.gov - find studies, retrieve results, match patients to eligible trials. ★ 90
  5. mcp-ts-template TypeScript template for building MCP servers with declarative tooling, observability, and auth. ★ 148
  6. openalex-mcp-server Access the OpenAlex academic research catalog - 270M+ publications. ★ 12

05 · Facts

category
documentation - ranked #7 of 183 actively-maintained documentation servers as of 2026-08-25.
release cadence
10+ releases in the last 90 days (latest 2026-08-22)
registry
io.github.cyanheads/obsidian-mcp-server (active, first published 2026-04-29 · 30 versions)
packages
npm:obsidian-mcp-server · npm:obsidian-mcp-server

06 · Obsidian MCP Server FAQ

Is Obsidian MCP Server still maintained?

Yes - as of 2026-08-25, its last commit was 2026-08-22 and it shipped 10+ releases in the last 90 days. We re-verify nightly.

What can Obsidian MCP Server do?

With this server connected, an agent can list notes and subdirectories under a vault path. Recursive walk (default depth 2, max depth 20, search the vault by text, JSONLogic, or BM25-ranked Omnisearch (when the plugin is reachable). Results paginate via opaque cursors, add, remove, or list tags. Defaults to the frontmatter tags: array, and open a file in the Obsidian app UI, with failIfMissing and newLeaf toggles.

How do I install Obsidian MCP Server?

Run `npx -y obsidian-mcp-server`. The README documents 3 environment variables (MCP_TRANSPORT_TYPE, MCP_LOG_LEVEL, OBSIDIAN_API_KEY) to set first. Set MCP_TRANSPORT_TYPE, MCP_LOG_LEVEL, OBSIDIAN_API_KEY before connecting. You can also paste the ready-made client config above.

Does Obsidian MCP Server run locally?

Yes - it's a stdio server: it runs on your machine (via npx) with your user's permissions. Your data stays local unless the server itself calls external APIs.

07 · Alternatives to Obsidian MCP Server