MCP Directory

mcp-obsidian (Obsidian Local REST API)

Read, search, and edit your Obsidian vault through the Local REST API community plugin.

Verified
stdio (local)
API key
Python

Add to your client

Copy the config for your MCP client and paste it into its config file.

Install / run
uvx mcp-obsidian

Paste into ~/Library/Application Support/Claude/claude_desktop_config.json

{
  "mcpServers": {
    "mcp-obsidian-obsidian-local-rest-api": {
      "command": "uvx",
      "args": [
        "mcp-obsidian"
      ],
      "env": {
        "OBSIDIAN_HOST": "127.0.0.1",
        "OBSIDIAN_PORT": "27124",
        "OBSIDIAN_API_KEY": "<your-obsidian-rest-api-key>"
      }
    }
  }
}

Requires `uv` (the Python package runner). Install it from https://docs.astral.sh/uv/ if `uvx` is not found.

Step-by-step guides: Add to Claude Desktop · Add to Cursor · Add to Windsurf

Before you start

  • Obsidian installed with the 'Local REST API' community plugin installed and enabled
  • An API key generated in the Local REST API plugin's settings, set as OBSIDIAN_API_KEY
  • Python with uv/uvx available (the server is run via `uvx mcp-obsidian`)
  • The plugin's host/port reachable — defaults are OBSIDIAN_HOST 127.0.0.1 and OBSIDIAN_PORT 27124
  • Obsidian must be running for the server to reach the vault

About mcp-obsidian (Obsidian Local REST API)

An MCP server that connects AI agents to your Obsidian vault through the Obsidian Local REST API community plugin. It lets the agent browse, read, search, and edit your notes — turning your vault into a knowledge source the model can work with directly.

Beyond reading, it supports surgical edits: patch_content inserts content relative to a specific heading, block reference, or frontmatter field, and append_content adds to new or existing notes. Combined with full-text search, this makes it useful for note-taking workflows where the agent maintains or queries your notes.

It's a Python project distributed via uvx, runs over stdio, and talks to the Local REST API plugin on localhost (default 127.0.0.1:27124). Authentication uses the API key generated by the plugin, passed as OBSIDIAN_API_KEY. Because it connects to a local plugin, Obsidian must be running with the Local REST API plugin enabled.

Tools & capabilities (7)

list_files_in_vault

List all files and directories at the root of the vault.

list_files_in_dir

List files and directories inside a specific directory.

get_file_contents

Return the full contents of a single note/file.

search

Search across the vault for documents matching a text query.

patch_content

Insert content relative to a heading, block reference, or frontmatter field in a file.

append_content

Append content to a new or existing file.

delete_file

Delete a file or directory from the vault.

When to use it

  • Use it when you want an agent to answer questions from your existing Obsidian notes.
  • Use it when you want the model to append meeting notes, summaries, or journal entries to your vault.
  • Use it when you need precise edits — inserting under a specific heading or block reference rather than overwriting a file.
  • Use it when you want full-text search over your vault surfaced inside an AI chat.
  • Use it when you're building a personal knowledge-management workflow that keeps your notes local.

Quick setup

  1. 1Install the 'Local REST API' community plugin in Obsidian and enable it.
  2. 2Copy the API key from the plugin's settings.
  3. 3Add the server to your client config (e.g. claude_desktop_config.json) with command `uvx`, args `mcp-obsidian`, and env OBSIDIAN_API_KEY (plus OBSIDIAN_HOST/OBSIDIAN_PORT if non-default).
  4. 4Make sure Obsidian is running with the plugin active.
  5. 5Restart your MCP client (Claude Desktop).
  6. 6Verify by asking the agent to list files in your vault.

Security notes

Requires the Obsidian Local REST API plugin and its API key, which grants full read/write access to your local vault — keep OBSIDIAN_API_KEY in env vars. The server only talks to a local endpoint, so do not expose the REST API plugin to the network.

mcp-obsidian (Obsidian Local REST API) FAQ

Why isn't the server connecting to my vault?

Make sure Obsidian is open and the Local REST API plugin is enabled, and that OBSIDIAN_HOST/OBSIDIAN_PORT match the plugin (defaults 127.0.0.1 and 27124). The plugin uses HTTPS with a self-signed cert by default.

Where do I get the API key?

It's generated in the Local REST API plugin's settings inside Obsidian. Copy it into the OBSIDIAN_API_KEY environment variable.

Do I need Node, or is this Python?

It's a Python server, run with uvx (uv). You need uv/uvx available; no Node.js is required.

Can it edit notes or only read them?

It can do both — get_file_contents reads, while patch_content, append_content, and delete_file modify the vault.

Does this work remotely or only on localhost?

It connects to the Local REST API plugin on your machine (default 127.0.0.1), so Obsidian must be running locally and reachable at the configured host/port.

Alternatives to mcp-obsidian (Obsidian Local REST API)

Compare all alternatives →

Self-hosted MCP server for Jira and Confluence Cloud and Server/Data Center.

Verified
stdio (local)
API key
Python
11 tools
Updated 2 months agoRepo

Official Notion server to read, search, create, and update pages and databases in your workspace.

Verified
stdio (local)
API key
TypeScript
9 tools
Updated 4 months agoRepo

Linear's official hosted MCP server — find, create, and update issues, projects, and comments.

Verified
HTTP (remote)
OAuth
TypeScript
15 tools
Updated 1 month agoRepo