Obsidian

Integrates with
Obsidian

Obsidian MCP (Model Context Protocol)

Obsidian MCP is a tool that allows you to interact with your Obsidian vault using the Model Context Protocol. This enables AI assistants to read, write, and manipulate notes in your Obsidian vault through a standardized interface.

Prerequisites

  • Node.js 18 or higher
  • Obsidian with Local REST API plugin installed and configured
  • API key generated from the Local REST API plugin

Setting MCP Server (e.g. Claude Desktop App)

  1. Clone this repository

  2. Install dependencies:

    npm install
    
  3. Build the project:

    npm run build
    
  4. Configure Claude Desktop App to use this MCP server:

    {
       "mcpServers": {
         "Obsidian": {
           "command": "node",
           "args": ["/Users/<Your Own Path>/obsisian-mcp/build/index.js"],
           "env": {
             "apiKey": "<Your API Token>",
             "port": "27123",
             "host": "127.0.0.1"
           }
         }
       }
     }
    

Development

Create .env and configure "apiKey", "port", and "host" as mentioned above.

Available Tools

The following tools are implemented:

  1. readNote - Read the contents of a specific note

    {
      "path": "path/to/note.md"
    }
    
  2. readActiveNote - Read the contents of the current active note

    {}
    
  3. listNotes - Recursively lists files and folders in the entire Vault or under a specified folder

    {
      "path": "optional/folder/path"
    }
    
  4. patchNote - Inserts content into an existing note relative to a heading, block reference, or frontmatter field

    {
      "path": "path/to/note.md",
      "operation": "append|prepend|replace",
      "targetType": "heading|block|frontmatter",
      "target": "target_identifier",
      "content": "content to insert"
    }
    
  5. searchWithJsonLogic - Search Obsidian notes using JsonLogic format queries

    {
      "query": {
        // JsonLogic query object
      }
    }