Obsidian MCP
Interact with your Obsidian vault seamlessly. Enable AI assistants to read, write, and manipulate notes through a standardized interface, enhancing your productivity and organization.
Installation
Installing for Claude Desktop
Option 1: One-Command Installation
npx mcpbar@latest install takuya0206/obsidian-mcp -c claude
This command will automatically install and configure the Obsidian MCP MCP server for your selected client.
Option 2: Manual Configuration
Run the command below to open your configuration file:
npx mcpbar@latest edit -c claude
After opening your configuration file, copy and paste this configuration:
View JSON configuration
{
"mcpServers": {
"Obsidian MCP": {
"command": "node",
"args": [
"/Users/<Your Own Path>/obsisian-mcp/build/index.js"
],
"env": {
"apiKey": "<Your API Token>",
"port": "27123",
"host": "127.0.0.1"
}
}
}
}
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 } }
Stars
2Forks
0Last commit
3 months agoRepository age
3 monthsLicense
ISC
Auto-fetched from GitHub .