Local REST API MCP Server

Give your scripts, browser extensions, and AI agents a direct line into your Obsidian vault via a secure, authenticated REST API.

Remote serverstreamable-httpMIT

What is the Local REST API MCP Server?

Local REST API is an MCP project maintained in the coddingtonbear/obsidian-local-rest-api repository. The maintainer describes its purpose as “Give your scripts, browser extensions, and AI agents a direct line into your Obsidian vault via a secure, authenticated REST API”. Read the project documentation for the complete scope.

Hosted connection

The maintainer’s configuration uses https://127.0.0.1:27124/mcp/. It declares streamable-http transport. Check the project’s account and authentication instructions when adding the endpoint to your client.

Source

Project documentation · Repository · Discovery listing. This profile records the public documentation checked on 2026-10-08.

Recorded tools

Check the linked publisher documentation and your connected client's tool list. Names and availability can vary with the server version and account permissions.

ToolWhat it does
vault_listList files and subdirectories inside a vault directory
vault_readRead a text file's content, frontmatter, tags, and stat; refuses anything that is not valid UTF-8
vault_read_binaryRead an attachment: images as an image block the model can see, anything else as a download link or embedded bytes
vault_get_download_urlMint a signed, expiring link to a file that works without the API key (only when signed URLs are enabled)
vault_get_upload_urlMint a signed, single-use link for uploading a file over PUT (only when signed URLs are enabled)
events_get_listener_urlSubscribe to an Obsidian event and mint a signed link to its Server-Sent Events stream (only when signed URLs are enabled)
vault_writeCreate or overwrite a text file; refuses paths whose extension names a binary type
vault_appendAppend content to the end of a vault file
vault_patchPatch a specific heading, block reference, or frontmatter field
vault_deleteDelete a vault file (moves to trash by default)
vault_moveMove (rename) a vault file to a new path
vault_copyCopy a vault file to a new path
vault_get_document_mapList the headings, block references, and frontmatter fields in a file
active_file_get_pathReturn the vault path of the file currently open in Obsidian
search_querySearch using a JsonLogic query against note metadata
search_simpleFull-text search using Obsidian's built-in search
tag_listList all tags across the vault with usage counts
command_listList all registered Obsidian commands
command_executeExecute an Obsidian command by ID
open_fileOpen a file in the Obsidian UI
addMcpResource{ name, uri, read }) adds a resource at a fixed URI.
addMcpResourceTemplate{ name, uriTemplate, read, list? }) adds a family of resources addressed by an RFC 6570 template such as tandem://comments/{path}. read gets the matched…
addMcpPrompt{ name, argsSchema?, callback }) adds a prompt. MCP passes prompt arguments as strings.

How to install the Local REST API MCP Server

{
  "mcpServers": {
    "obsidian": {
      "type": "http",
      "url": "https://127.0.0.1:27124/mcp/",
      "headers": {
        "Authorization": "YOUR_AUTHORIZATION"
      }
    }
  }
}

From the project documentation. Replace placeholders and example paths before connecting.