The MCP server for Obsidian enables interaction with Obsidian's local vault via REST API. It allows you to:
- File management: List files in the vault root or specific directories, retrieve file content, append/patch content, and delete files or directories
- Content manipulation: Insert content into notes relative to headings, block references, or frontmatter fields (append, prepend, or replace)
- Search capabilities: Perform simple text searches or complex JsonLogic-based searches across the vault
- Batch operations: Retrieve contents of multiple files simultaneously
- Periodic notes: Access current or recent periodic notes (daily, weekly, monthly, quarterly, yearly)
- Change tracking: Identify recently modified files in the vault
Allows interaction with Obsidian via the Local REST API community plugin. Capabilities include listing files in vault, retrieving file contents, searching across vault files, patching content into existing notes, and appending content to new or existing files.
MCP server for Obsidian
MCP server to interact with Obsidian via the Local REST API community plugin.
Components
Tools
The server implements multiple tools to interact with Obsidian:
- list_files_in_vault: Lists all files and directories in the root directory of your Obsidian vault
- list_files_in_dir: Lists all files and directories in a specific Obsidian directory
- get_file_contents: Return the content of a single file in your vault.
- search: Search for documents matching a specified text query across all files in the vault
- patch_content: Insert content into an existing note relative to a heading, block reference, or frontmatter field.
- append_content: Append content to a new or existing file in the vault.
- delete_file: Delete a file or directory from your vault.
Example prompts
Its good to first instruct Claude to use Obsidian. Then it will always call the tool.
The use prompts like this:
- Get the contents of the last architecture call note and summarize them
- Search for all files where Azure CosmosDb is mentioned and quickly explain to me the context in which it is mentioned
- Summarize the last meeting notes and put them into a new note 'summary meeting.md'. Add an introduction so that I can send it via email.
Configuration
Obsidian REST API Key
There are two ways to configure the environment with the Obsidian REST API Key.
- Add to server config (preferred)
- Create a
.env
file in the working directory with the following required variable:
Note: You can find the key in the Obsidian plugin config.
Quickstart
Install
Obsidian REST API
You need the Obsidian REST API community plugin running: https://github.com/coddingtonbear/obsidian-local-rest-api
Install and enable it in the settings and copy the api key.
Claude Desktop
On MacOS: ~/Library/Application\ Support/Claude/claude_desktop_config.json
On Windows: %APPDATA%/Claude/claude_desktop_config.json
Development
Building
To prepare the package for distribution:
- Sync dependencies and update lockfile:
Debugging
Since MCP servers run over stdio, debugging can be challenging. For the best debugging experience, we strongly recommend using the MCP Inspector.
You can launch the MCP Inspector via npm
with this command:
Upon launching, the Inspector will display a URL that you can access in your browser to begin debugging.
You can also watch the server logs with this command:
remote-capable server
The server can be hosted and run remotely because it primarily relies on remote services or has no dependency on the local environment.
MCP server to interact with Obsidian via the Local REST API community plugin.
Related MCP Servers
- TypeScriptMIT License
- -securityAlicense-qualityA local MCP server that enables AI applications like Claude Desktop to securely access and work with Obsidian vaults, providing capabilities for reading notes, executing templates, and performing semantic searches.Last updated -60TypeScriptMIT License
- AsecurityAlicenseAqualityAn MCP server that connects to the Teamwork API, providing a simplified interface for interacting with Teamwork projects and tasks.Last updated -35126TypeScriptMIT License
- -securityFlicense-qualityMCP server for the Clash of Clans API. Can get player, clan information, analyze ongoing wars, as well as war logs (provided they are public).Last updated -3JavaScript