Obsidian MCP

by takuya0206
Verified
# 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](https://github.com/coddingtonbear/obsidian-local-rest-api) 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 } } ```