← Back to directory
O

Obsidian Local REST API

Community
A secure REST API and MCP server for your Obsidian vault
GitHub source repository ↗
★ 2.9k Stars Category · Filesystem Very popular Source revision 58bc2c443454
64FMRS · C
Reliability
7/20
Security and permissions
14/20
Maintenance
13/20
Documentation
16/20
Setup experience
14/20

A feature-rich MCP server offering complete local API access to Obsidian notes. Best suited for technical users who want to automate note management and AI integration programmatically. Security is a primary concern due to the self-signed certificate and local HTTP server, but functionality-wise, no similar alternative has been seen yet.

Read the FMRS scoring method →

This MCP server runs as part of an Obsidian plugin, providing a secure REST API to your notes vault. It allows full CRUD operations on files, sectional editing by heading/block/frontmatter, full-text and structured search, and execution of Obsidian commands. The MCP server connects to authorized AI agents over Streamable HTTP, enabling them to interact seamlessly with your notes. All requests are served over HTTPS with a self-signed certificate and gated behind API key authentication.

Tools

vault_list
List files and subdirectories inside a vault directory
vault_read
Read a file's content, frontmatter, tags, and stat
vault_write
Create or overwrite a vault file
vault_append
Append content to the end of a vault file
vault_patch
Patch a specific heading, block reference, or frontmatter field
vault_delete
Delete a vault file (moves to trash by default)
vault_move
Move (rename) a vault file to a new path
vault_copy
Copy a vault file to a new path
vault_get_document_map
List the headings, block references, and frontmatter fields in a file
active_file_get_path
Return the vault path of the file currently open in Obsidian
search_query
Search using a JsonLogic query against note metadata
search_simple
Full-text search using Obsidian's built-in search
tag_list
List all tags across the vault with usage counts
command_list
List all registered Obsidian commands
command_execute
Execute an Obsidian command by ID
open_file
Open a file in the Obsidian UI

Setup

Install and enable the 'Local REST API' plugin in Obsidian. Then go to Settings → Local REST API to find your API key and certificate. Configure your MCP client to connect to https://127.0.0.1:27124/mcp/ with the API key provided in the Authorization header. For Claude Desktop, use mcp-remote as a bridge.

claude_desktop_config.json
{
  "mcpServers": {
    "obsidian": {
      "type": "http",
      "url": "https://127.0.0.1:27124/mcp/",
      "headers": {
        "Authorization": "Bearer <your-api-key>"
      }
    }
  }
}

Fit and risk

Best for

  • Users who need programmatic control over their Obsidian vault for automation and AI integration.
  • Developers and power users building note-taking automation workflows.
  • Scenarios where AI agents need to act on your notes directly without exporting or manual copying.

Not for

  • Users uncomfortable with technical setup or unable to handle self-signed certificates.
  • Scenarios requiring public access or non-local servers, as the server is designed for local use.
  • Clients that require other MCP transports (like SSE or stdio) or don't support Streamable HTTP.

Required permissions

  • Full read, write, and delete access to all files in your Obsidian vault.
  • Execute any Obsidian command (equivalent to using the command palette).
  • Access information about the currently active file.
  • Open files in the Obsidian UI.

Risks and side effects

  • If the API key is compromised, an attacker can view and modify all your notes, execute commands, or delete files.
  • The self-signed certificate could be susceptible to man-in-the-middle attacks if not verified properly.
  • Executing commands can lead to unintended modifications, such as deleting or overwriting notes.
  • The local HTTP server could be exploited by other local programs if port binding is not secure.

Troubleshooting

  1. Make sure the certificate is trusted. Download and trust the certificate from https://127.0.0.1:27124/ or use the HTTP endpoint (http://127.0.0.1:27123/mcp/) but enable it first in settings.
  2. Verify the API key is correct and that Obsidian is running with the plugin enabled.
  3. Check the Obsidian console (Ctrl+Shift+I) for any plugin errors.

Use cases

Automate note management workflows, such as creating or updating notes via scripts.
Empower AI assistants to access and edit your Obsidian notes for knowledge management.
Extract information from your notes through structured queries.
Execute Obsidian commands programmatically, such as daily note creation.

Supported clients

Claude DesktopFull support