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)
-
Clone this repository
-
Install dependencies:
npm install
-
Build the project:
npm run build
-
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:
-
readNote - Read the contents of a specific note
{ "path": "path/to/note.md" }
-
readActiveNote - Read the contents of the current active note
{}
-
listNotes - Recursively lists files and folders in the entire Vault or under a specified folder
{ "path": "optional/folder/path" }
-
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" }
-
searchWithJsonLogic - Search Obsidian notes using JsonLogic format queries
{ "query": { // JsonLogic query object } }