Obsidian MCP Server

1

Add it to Claude Code

Run this in a terminal.

Run in terminal
claude mcp add obsidian-mcp -- uv run --directory /path/to/obsidian-mcp obsidian-mcp
README.md

Access your Obsidian vault through the official Obsidian CLI bridge.

Obsidian MCP Server

MCP server that gives LLM agents access to your Obsidian vault through the official Obsidian CLI. Read, create, search notes, manage tasks, tags, properties, plugins and more — all via the Model Context Protocol.

Important: This server requires the Obsidian desktop app running on your machine. The CLI is a bridge to the app's internal API — it does not work without a running Obsidian instance.

Prerequisites

1. Obsidian 1.12+

You need Obsidian version 1.12 or later (with the latest installer — 1.12.4+).

Download: https://obsidian.md/download

2. Enable CLI in Obsidian

  1. Open Obsidian
  2. Go to SettingsGeneral
  3. Enable Command line interface
  4. Follow the prompt to register the CLI
  5. Restart your terminal for PATH changes to take effect

Verify it works:

obsidian --version

Windows users: You also need the Obsidian.com terminal redirector file, available to Catalyst members on the Obsidian Discord.

3. Python 3.11+ and uv

Install uv if you don't have it:

# macOS / Linux
curl -LsSf https://astral.sh/uv/install.sh | sh

# Windows
powershell -ExecutionPolicy ByPass -c "irm https://astral.sh/uv/install.ps1 | iex"

Installation

Clone the repository and install dependencies:

git clone https://github.com/Storks/obsidian-mcp.git
cd obsidian-mcp
uv sync

Verify everything is set up:

uv run obsidian-mcp

The server communicates via stdio, so you won't see any output — it's waiting for MCP messages. Press Ctrl+C to stop.

Connecting to LLM agents

The server uses stdio transport. Every MCP client needs to know how to start the process: run uv with the project directory and the obsidian-mcp command.

Below are configuration examples for popular tools. Replace /path/to/obsidian-mcp with the actual path where you cloned the repository.


Claude Code

Add via CLI:

claude mcp add obsidian-mcp -- uv run --directory /path/to/obsidian-mcp obsidian-mcp

Or add manually to .mcp.json in your project root (or ~/.claude.json for global access):

{
  "mcpServers": {
    "obsidian-mcp": {
      "type": "stdio",
      "command": "uv",
      "args": ["run", "--directory", "/path/to/obsidian-mcp", "obsidian-mcp"]
    }
  }
}
Restricting available tools

The server exposes 54 tools — you may not need all of them. Claude Code lets you allow or deny specific tools via .claude/settings.json (project-level) or ~/.claude/settings.json (global). Tools follow the naming pattern mcp__obsidian-mcp__<tool_name>.

Example: read-only mode — deny any tool that can modify the vault:

{
  "permissions": {
    "deny": [
      "mcp__obsidian-mcp__obsidian_create",
      "mcp__obsidian-mcp__obsidian_append",
      "mcp__obsidian-mcp__obsidian_prepend",
      "mcp__obsidian-mcp__obsidian_delete",
      "mcp__obsidian-mcp__obsidian_move",
      "mcp__obsidian-mcp__obsidian_rename",
      "mcp__obsidian-mcp__obsidian_property_set",
      "mcp__obsidian-mcp__obsidian_property_remove",
      "mcp__obsidian-mcp__obsidian_task",
      "mcp__obsidian-mcp__obsidian_bookmark",
      "mcp__obsidian-mcp__obsidian_base_create",
      "mcp__obsidian-mcp__obsidian_plugin_enable",
      "mcp__obsidian-mcp__obsidian_plugin_disable",
      "mcp__obsidian-mcp__obsidian_plugin_install",
      "mcp__obsidian-mcp__obsidian_plugin_reload",
      "mcp__obsidian-mcp__obsidian_workspace_save",
      "mcp__obsidian-mcp__obsidian_workspace_load"
    ]
  }
}

Example: allow only specific tools — useful when you want a minimal set:

{
  "permissions": {
    "allow": [
      "mcp__obsidian-mcp__obsidian_read",
      "mcp__obsidian-mcp__obsidian_search",
      "mcp__obsidian-mcp__obsidian_search_context",
      "mcp__obsidian-mcp__obsidian_files",
      "mcp__obsidian-mcp__obsidian_tags",
      "mcp__obsidian-mcp__obsidian_outline"
    ]
  }
}

Any tool not listed in allow will require manual confirmation before each use.


OpenCode

Add to opencode.json in your project root (or ~/.config/opencode/opencode.json for global access):

{
  "mcp": {
    "obsidian-mcp": {
      "type": "local",
      "command": ["uv", "run", "--directory", "/path/to/obsidian-mcp", "obsidian-mcp"],
      "enabled": true
    }
  }
}

Codex (OpenAI)

Add via CLI:

codex mcp add obsidian-mcp -- uv run --directory /path/to/obsidian-mcp obsidian-mcp

Or add manually to ~/.codex/config.toml:

[mcp_servers.obsidian-mcp]
command = "uv"
args = ["run", "--directory", "/path/to/obsidian-mcp", "obsidian-mcp"]

Configuration

Environment variables (all optional):

Variable Default Description
OBSIDIAN_PATH obsidian

Tools (5)

obsidian_readRead the content of an Obsidian note.
obsidian_searchSearch for notes within the vault.
obsidian_createCreate a new note in the vault.
obsidian_taskManage tasks within Obsidian notes.
obsidian_property_setSet properties on an Obsidian note.

Environment Variables

OBSIDIAN_PATHPath to the Obsidian executable

Configuration

claude_desktop_config.json
{"mcpServers": {"obsidian-mcp": {"type": "stdio", "command": "uv", "args": ["run", "--directory", "/path/to/obsidian-mcp", "obsidian-mcp"]}}}

Try it

Search my vault for notes related to 'project architecture' and summarize the key points.
Create a new note titled 'Meeting Notes' with today's date and add a task to follow up on the project proposal.
List all notes tagged with #research and extract the 'status' property from each.
Append a summary of our current conversation to the 'Daily Log' note in my vault.

Frequently Asked Questions

What are the key features of Obsidian MCP Server?

Read, create, and search notes within Obsidian vaults. Manage tasks, tags, and note properties. Control Obsidian plugins via CLI bridge. Supports workspace management and bookmarking. Communicates via stdio for secure local integration.

What can I use Obsidian MCP Server for?

Automating daily log entries and task tracking from within an AI chat interface. Querying a personal knowledge base to synthesize information across multiple notes. Programmatically updating note metadata and properties based on project progress. Managing Obsidian plugins and workspace configurations without leaving the IDE.

How do I install Obsidian MCP Server?

Install Obsidian MCP Server by running: git clone https://github.com/Storks/obsidian-mcp.git && cd obsidian-mcp && uv sync

What MCP clients work with Obsidian MCP Server?

Obsidian MCP Server works with any MCP-compatible client including Claude Desktop, Claude Code, Cursor, and other editors with MCP support.

Turn this server into reusable context

Keep Obsidian MCP Server docs, env vars, and workflow notes in Conare so your agent carries them across sessions.

Need the old visual installer? Open Conare IDE.
Open Conare