home / mcp / obsidian local rest api mcp server

Obsidian Local REST API MCP Server

Provides AI-native, task-oriented tools to interact with Obsidian vaults via a local REST API.

Installation
Add the following to your MCP client configuration file.

Configuration

View docs
{
  "mcpServers": {
    "j-shelfwood-obsidian-local-rest-api-mcp": {
      "command": "npx",
      "args": [
        "obsidian-local-rest-api-mcp"
      ],
      "env": {
        "OBSIDIAN_API_KEY": "YOUR_API_KEY_IF_NEEDED",
        "OBSIDIAN_API_URL": "http://obsidian-local-rest-api.test"
      }
    }
  }
}

This MCP server exposes AI-native, task-focused tools that interact with Obsidian vaults through a local REST API. It is designed to let you reason about high-level tasks rather than low-level file operations, enabling more natural and efficient workflows with LLM clients running locally.

How to use

Connect an MCP client to the local Obsidian REST API MCP server to perform intelligent vault tasks. You’ll use high-level tools to explore vaults, read and write notes, manage files, and perform targeted searches. Typical workflows include listing directories with pagination to avoid context overload, upserting notes with frontmatter, retrieving daily or recent notes, performing scoped searches, and discovering related notes to support research or planning.

How to install

Prerequisites you need before installing:

  • Node.js 18+ or Bun runtime
  • A running Obsidian Local REST API instance (default URL: http://obsidian-local-rest-api.test)

Install and run in development or production modes using the supported commands.

Additional notes

Configuration details you’ll set up include environment variables that point the MCP client at the Obsidian API and optionally provide an API key for authentication.

Available tools

list_directory

List directory contents with pagination to prevent context overflow, including path, recursion flag, limit, and offset.

read_file

Read the contents of any file within the vault by specifying its path.

write_file

Write to a file with modes that support replace, append, or prepend to cover create/update scenarios.

delete_item

Delete a file or directory at a given path.

create_or_update_note

Intelligent upsert for notes that creates if missing or updates if existing, including frontmatter.

get_daily_note

Retrieve a daily note using common naming patterns, such as today’s note.

get_recent_notes

Fetch notes recently modified, with a limit to control volume.

search_vault

Perform a multi-scope search with advanced filtering across content, filenames, and tags within an optional path filter.

find_related_notes

Discover conceptual relationships between notes based on tags or links to support serendipitous discovery.