The MCP (Model Context Protocol) server for Obsidian is designed to bridge the gap between AI assistants like Claude and Obsidian knowledge bases.
This integration allows AI models to interact with Obsidian notes securely and locally, leveraging the Obsidian Local REST API plugin.
Components And Tools
The MCP server implements several tools to facilitate interaction with Obsidian vaults:
- list_files_in_vault: Lists all files and directories in the root directory of the Obsidian vault.
- list_files_in_dir: Lists all files and directories in a specific Obsidian directory.
- get_file_contents: Returns the content of a single file in the vault.
- search: Searches for documents matching a specified text query across all files in the vault.
- patch_content: Inserts content into an existing note relative to a heading, block reference, or frontmatter field.
- append_content: Appends content to a new or existing file in the vault.
To utilize these tools effectively, you can instruct Claude to use Obsidian with prompts like:
- “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.”
To configure the environment, you need to set up the Obsidian REST API Key. This can be done in two ways:
- Add to Server Config: Include the API key in the server configuration file. json
{ "mcp-obsidian": { "command": "uvx", "args": [ "mcp-obsidian" ], "env": { "OBSIDIAN_API_KEY": "<your_api_key_here>" } } }
- Create a .env File: Place the API key in a
.env
file in the working directory. textOBSIDIAN_API_KEY=your_api_key_here
Quickstart
- Install Obsidian REST API: Download and enable the Obsidian Local REST API plugin from GitHub.
- Configure Claude Desktop: Locate the Claude configuration file on your system (e.g.,
~/Library/Application Support/Claude/claude_desktop_config.json
on macOS) and add the MCP server configuration.
For development and debugging purposes, ensure that dependencies are up-to-date and use tools like the MCP Inspector for a better debugging experience. The MCP Inspector can be launched via npm to monitor server logs and interactions.
bashnpx @modelcontextprotocol/inspector uv --directory /path/to/mcp-obsidian run mcp-obsidian
This setup allows developers to refine the MCP server’s functionality and troubleshoot issues efficiently.