Server profile

MCP Server for Obsidian

MCP Server for Obsidian connects assistants to an Obsidian vault through the Local REST API plugin. It supports note discovery, reading, search, targeted insertion, appending, and deletion for conversational knowledge workflows.

Server facts

MCP Server for Obsidian

Tech

Runtime / language
pythonPython
Transports
stdio
Remote available
No
Authentication
Not specified

Activity

GitHub stars
4,480
Last commit
Data as of

Tags

  • Knowledge Management
  • Local Rest Api
  • Notes
  • Obsidian
  • Vault Search

Overview

MCP Server for Obsidian exposes vault operations to an assistant through Obsidian's Local REST API community plugin. Its tools list the vault root or a chosen directory, read individual files, and search note content across the vault. Write operations include appending to a new or existing note and inserting content at a location identified by a heading, frontmatter field, or block reference. A separate deletion tool removes files or directories. Together, these operations support workflows where an assistant first finds existing knowledge, reads the relevant notes, and then writes a useful result back into the same vault.

The README illustrates meeting-note summaries and searches for technical topics across stored documents. It suggests explicitly asking the assistant to use Obsidian so that tool calls are selected. Setup requires installing and enabling the community plugin, obtaining its API key, and configuring the MCP server with that credential and connection details. The published package runs through uvx over stdio. Host and port can be supplied through environment variables, with defaults of 127.0.0.1 and 27124 when omitted. If a desktop client cannot locate uvx, the README recommends using its full executable path. A source-oriented uv configuration and Inspector-based debugging instructions are also provided. The plugin dependency is central: this server connects through its API rather than replacing the Obsidian application or plugin.

Install & configure

Requirements

  • Obsidian with the Local REST API community plugin installed, enabled, and running
  • The plugin's API key
  • uvx
  • An MCP-compatible client
Documented launch / install command
uvx mcp-obsidian

Use the plugin settings to obtain the API key. If the client cannot locate uvx, replace the command with its absolute executable path.

Config file · macOS: ~/Library/Application Support/Claude/claude_desktop_config.json

Windows: %APPDATA%\Claude\claude_desktop_config.json

Use Settings → Developer → Edit Config when available. Do not assume a Linux configuration path; check the client documentation for your platform. Remote servers use the app’s connector flow when supported, not the local stdio file shown here. Merge this example with existing settings; do not overwrite unrelated servers.

Claude Desktop configuration
{
  "mcpServers": {
    "mcp-obsidian": {
      "command": "uvx",
      "args": [
        "mcp-obsidian"
      ],
      "env": {
        "OBSIDIAN_API_KEY": "<API key from your Obsidian Local REST API plugin>",
        "OBSIDIAN_HOST": "<Obsidian API host; defaults to 127.0.0.1>",
        "OBSIDIAN_PORT": "<Obsidian API port; defaults to 27124>"
      }
    }
  }
}

Read the Claude Desktop setup guide

Config file · Project: .cursor/mcp.json

User: ~/.cursor/mcp.json

The project path is relative to the workspace root. The tilde denotes your user home directory. Use Cursor’s MCP settings to confirm which configuration and scope your installed version is reading. Merge this example with existing settings; do not overwrite unrelated servers.

Cursor configuration
{
  "mcpServers": {
    "mcp-obsidian": {
      "command": "uvx",
      "args": [
        "mcp-obsidian"
      ],
      "env": {
        "OBSIDIAN_API_KEY": "<API key from your Obsidian Local REST API plugin>",
        "OBSIDIAN_HOST": "<Obsidian API host; defaults to 127.0.0.1>",
        "OBSIDIAN_PORT": "<Obsidian API port; defaults to 27124>"
      }
    }
  }
}

Read the Cursor setup guide

Config file · Workspace: .vscode/mcp.json

For user scope, use the “MCP: Open User Configuration” command if available. Do not guess a user configuration path across operating systems, profiles, containers, or remote workspaces; check the client documentation. Merge this example with existing settings; do not overwrite unrelated servers.

VS Code configuration
{
  "servers": {
    "mcp-obsidian": {
      "type": "stdio",
      "command": "uvx",
      "args": [
        "mcp-obsidian"
      ],
      "env": {
        "OBSIDIAN_API_KEY": "<API key from your Obsidian Local REST API plugin>",
        "OBSIDIAN_HOST": "<Obsidian API host; defaults to 127.0.0.1>",
        "OBSIDIAN_PORT": "<Obsidian API port; defaults to 27124>"
      }
    }
  }
}

Read the VS Code setup guide

Config file · macOS/Linux: ~/.codeium/windsurf/mcp_config.json

Windows: %USERPROFILE%\.codeium\windsurf\mcp_config.json

Open the MCP configuration through Windsurf’s settings when possible to confirm the active file. Paths can differ in managed or future releases; check the client documentation if this location is not present. Merge this example with existing settings; do not overwrite unrelated servers.

Windsurf configuration
{
  "mcpServers": {
    "mcp-obsidian": {
      "command": "uvx",
      "args": [
        "mcp-obsidian"
      ],
      "env": {
        "OBSIDIAN_API_KEY": "<API key from your Obsidian Local REST API plugin>",
        "OBSIDIAN_HOST": "<Obsidian API host; defaults to 127.0.0.1>",
        "OBSIDIAN_PORT": "<Obsidian API port; defaults to 27124>"
      }
    }
  }
}

Read the Windsurf setup guide

Config file · Project scope: .mcp.json at the repository root

The project file uses mcpServers. For user scope, use claude mcp add --scope user rather than assuming .mcp.json in your home directory is the user configuration. Check the client documentation for managed settings and storage details. Merge this example with existing settings; do not overwrite unrelated servers.

Claude Code configuration
{
  "mcpServers": {
    "mcp-obsidian": {
      "type": "stdio",
      "command": "uvx",
      "args": [
        "mcp-obsidian"
      ],
      "env": {
        "OBSIDIAN_API_KEY": "<API key from your Obsidian Local REST API plugin>",
        "OBSIDIAN_HOST": "<Obsidian API host; defaults to 127.0.0.1>",
        "OBSIDIAN_PORT": "<Obsidian API port; defaults to 27124>"
      }
    }
  }
}

Read the Claude Code setup guide

Examples are translated from the published configuration. Supply your own credentials and verify requirements in the upstream README. Remote connectors are shown only where a supported configuration format is known.

Tools

Source: repository README. Tool descriptions are a documented snapshot, not a live capability check.

ToolWhat it does
list_files_in_vaultList files and directories at the vault root.
list_files_in_dirInspect files and subdirectories within a selected vault directory.
get_file_contentsRead a single vault file.
searchFind vault documents containing a supplied text query.
patch_contentUse headings, frontmatter fields, or block references to locate an insertion point in a note.
append_contentAdd content at the end of a new or existing note.
delete_fileRemove a file or directory from the vault.

Names, permissions, and defaults can change. Check the current upstream documentation before granting access.

Use cases

  • Find notes mentioning a technical subject and summarize their context.
  • Read meeting notes and write a summary into a new note.
  • Insert information under a heading or into frontmatter.
  • List vault directories and organize note files.

Strengths

  • Combines vault search and reading with targeted note updates.
  • Can append results to either new or existing notes.
  • Documents connection defaults and uvx path troubleshooting.

Limitations

  • Requires the Obsidian Local REST API community plugin to be running.
  • Setup needs the plugin API key and correct connection details.
  • Deletion tools can remove vault files or directories.

Frequently asked questions

No. The README requires the Local REST API community plugin to be installed, enabled, and running.

Copy the API key from the Obsidian plugin's configuration and provide it as OBSIDIAN_API_KEY.

Yes. patch_content can locate an insertion point using a heading, a frontmatter field, or a block reference.

The README lists 127.0.0.1 as the default host and 27124 as the default port.

Independent listing, not an affiliation or security review. Grant the least access needed and verify the upstream instructions before running code.

Related MCP servers

Notion MCP Server

Memory & Knowledge

Notion MCP Server connects agents to Notion pages and data sources with compact discovery, reading, querying, and editing tools. It includes schema-aware helpers, raw API operations, and optional interactive MCP Apps.

MCP Knowledge Graph

Memory & Knowledge

Keep assistant memories as local entities, relationships, and facts across conversations. MCP Knowledge Graph supports project-specific and global JSONL stores, optional topic databases, and explicit memory editing tools.

Notion MCP Server

Memory & Knowledge

Connect an MCP client to the Notion API to work with pages and data sources. This local server supports Markdown content operations, but Notion now prioritizes its separate remote MCP service.

Memory Bank MCP Server

Memory & Knowledge

Manage project memory files through an MCP assistant using a shared storage root. The server separates projects and provides file discovery, reading, creation, and updates for memory-bank workflows.

Grounded Docs MCP Server

Memory & Knowledge

Grounded Docs MCP Server builds a documentation index that coding assistants can query by library version. It ingests websites, repositories, packages, and local files, with CLI, Web UI, and MCP access.

Context Portal MCP (ConPort)

Memory & Knowledge

Context Portal stores structured project memory for AI assistants in a workspace-specific SQLite database. It tracks decisions, progress, architecture, and custom context, with relationships and semantic search for retrieval.

Basic Memory

Memory & Knowledge

Basic Memory gives AI clients persistent knowledge stored as Markdown that people can also edit. It combines linked notes, semantic search, and optional cloud collaboration.

Qdrant MCP Server

Memory & Knowledge

Qdrant MCP Server stores information and retrieves relevant memories through semantic search. It connects MCP clients to a Qdrant service or a local database path.