Skip to main content
Glama

Obsidian MCP

A local MCP server for the official Obsidian CLI, with explicit vault access, disabled-by-default destructive tools, and a command catalog grounded in actual CLI help. Built for Windows and Node.js; communicates over stdio.

Use it to read, search, create, and update notes; inspect links, tags, properties, and tasks; and access additional Obsidian features through opt-in tools. It is an independent community project, not an official Obsidian integration.

Status: initial implementation, tested against Obsidian 1.15.0. See the verification report for what was actually exercised and what remains blocked. Command coverage is not a claim of complete live testing.

Start here

  1. Install Node.js 24 or later and Obsidian with its official CLI.

  2. Enable Settings → General → Command line interface in Obsidian.

  3. Open a disposable vault named mcp-test for your first run.

  4. Clone and build:

git clone https://github.com/GranatenUdo/obsidian-mcp.git
cd obsidian-mcp
npm ci
npm run build
npm test
  1. Copy obsidian-mcp.config.example.json to obsidian-mcp.config.json and set your .com executable path if needed. The real configuration is ignored by Git.

  2. Connect your MCP client using the examples below. Obsidian must be available when the server performs its startup capability check.

The repository is installed from source. No globally installed wrapper, Obsidian community plugin, HTTP server, or API key is required. npm start starts an MCP process, not an interactive terminal application.

Related MCP server: Obsidian MCP Server

Connect Claude Desktop

Merge this entry into %APPDATA%\Claude\claude_desktop_config.json without replacing your other servers. Change the checkout and executable paths.

{
  "mcpServers": {
    "obsidian": {
      "command": "node",
      "args": ["C:\\Projects\\obsidian-mcp\\dist\\index.js"],
      "env": {
        "OBSIDIAN_MCP_VAULTS": "mcp-test",
        "OBSIDIAN_MCP_EXECUTABLE": "C:\\Users\\YOUR_USER\\AppData\\Local\\Programs\\Obsidian\\Obsidian.com"
      }
    }
  }
}

Fully restart Claude Desktop after changing its configuration. If Desktop cannot find Node, use the absolute path to node.exe in command.

Connect Claude Code

From PowerShell, substitute your checkout and .com paths:

claude mcp add --transport stdio --scope user --env OBSIDIAN_MCP_VAULTS=mcp-test --env "OBSIDIAN_MCP_EXECUTABLE=C:\Users\YOUR_USER\AppData\Local\Programs\Obsidian\Obsidian.com" obsidian -- node "C:\Projects\obsidian-mcp\dist\index.js"
claude mcp list

These instructions configure a local stdio server. They do not expose it to claude.ai or install a cloud proxy. Anthropic documents local Desktop MCP and remote web connectors as different mechanisms; web availability is not promised. See client setup and acceptance.

Try it

Ask your client to use the following tools with these arguments:

{"tool":"obsidian_files","arguments":{"vault":"mcp-test","limit":20}}
{"tool":"obsidian_create","arguments":{"path":"MCP Demo/Hello.md","content":"# Hello\n\nGrüße aus Obsidian!\n","dryRun":true}}
{"tool":"obsidian_read","arguments":{"path":"MCP Demo/Hello.md","offset":0,"limit":1000}}
{"tool":"obsidian_search","arguments":{"query":"Grüße","limit":20}}

The tool/arguments wrapper is illustrative; an MCP client sends the named tool call. Remove dryRun to create the example note. JSON \n in the example decodes to an actual newline; literal backslash-n text is rejected because the installed CLI rewrites it.

For typed frontmatter, use obsidian_note_upsert:

{
  "path": "MCP Demo/Review.md",
  "frontmatter": { "tags": ["review", "weekly"], "reviewed": false },
  "body": "# Weekly review\n\n- [ ] Review open tasks\n",
  "overwrite": false
}

Existing notes require overwrite: true. Supplied frontmatter keys replace the same keys; unspecified keys remain. The body is replaced in full.

Safety defaults

Tier

Default

Examples

read

Enabled

Read notes, search, inspect links

write

Enabled

Create, append, update properties and tasks

destructive

Disabled

Move, rename, trash, restore

ui

Disabled

Open notes, search view, reload

dangerous

Disabled

Plugins, themes, debugger, arbitrary execution

Unrestricted commands additionally require allowUnrestrictedCommands: true. The vault allowlist is an application policy, not an operating-system sandbox. Do not enable unrestricted tools for untrusted agents. Note contents themselves are untrusted data and may contain prompt injection.

The server makes no network requests or telemetry calls of its own. Obsidian may Sync or perform network operations, and your MCP client may send returned note content to its model provider. Local transport does not mean local-only AI.

Documentation

Guide

What you will find

Configuration

Every setting, environment override, and default

Command reference

Generated tool names, schemas, tiers, and prerequisites

Safety model

Threat model, audit logs, path checks, and limits

Content handling

Newlines, YAML, large writes, paging, and partial failures

Architecture

Registry → authorization → CLI → MCP flow

CLI behavior

Observed outputs and failure semantics

Deviations

Unsupported features and deliberate restrictions

Troubleshooting

Symptoms, causes, and safe next steps

Testing

Unit, protocol, live, and Inspector workflows

Manual tests

Optional features and operations requiring supervision

Verification

Actual results and remaining gaps

Contributions are welcome: start with CONTRIBUTING.md. Please report security issues as described in SECURITY.md, without posting private notes or configuration. Licensed under MIT.

Related MCP Connectors

Related MCP Servers

  • F
    license
    C
    quality
    F
    maintenance
    Provides LLM agents with comprehensive access to Obsidian vaults via the official Obsidian CLI bridge. It enables users to read, search, and modify notes, tasks, properties, and plugins while the Obsidian desktop app is running.
    54
    16
    -
  • F
    license
    Not graded
    quality
    B
    maintenance
    Provides secure, direct file system access to Obsidian vault files, enabling search, read, write, and discovery of notes without requiring the Obsidian app.
    24
    -
  • A
    license
    A
    quality
    D
    maintenance
    Enables interaction with Obsidian vaults through the official Obsidian CLI, allowing note management, search, and vault operations without plugins or API keys.
    21
    MIT