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:
- Build the project:
- 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.
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
}
}