obsidian
Obsidian Knowledge-Management MCP (Model Context Protocol) server that enables AI agents and development tools to interact with an Obsidian vault. It provides a comprehensive suite of tools for reading, writing, searching, and managing notes, tags, and frontmatter, acting as a bridge to the Obsidian Local REST API plugin.
claude mcp add --transport stdio cyanheads-obsidian-mcp-server node dist/server.js \ --env PORT="3000" \ --env DOTENV_CONFIG_PATH=".env" \ --env OBSIDIAN_API_BASE_URL="http://localhost:4000" \ --env OBSERVATORY_VAULT_PATH="path/to/your/obsidian/vault"
How to use
The Obsidian MCP Server exposes a set of Obsidian-focused MCP tools that allow automated agents to read, modify, and query your Obsidian vault through the Obsidian Local REST API plugin. Tools include reading notes with metadata, updating notes (append, prepend, or overwrite), performing search and replace within notes, executing global vault searches, listing note trees, and managing frontmatter and tags. By interfacing with these tools via MCP transport, AI agents can perform vault operations as part of complex workflows while benefiting from the server’s validation, error handling, and security features.
To use, run the server locally or in your environment with the required environment variables configured (see installation notes). Once running, MCP clients can invoke tools such as obsidian_read_note, obsidian_update_note, obsidian_search_replace, obsidian_global_search, obsidian_list_notes, obsidian_manage_frontmatter, obsidian_manage_tags, and obsidian_delete_note to perform vault operations. The server communicates with the Obsidian Local REST API plugin inside your vault, enabling safe and structured interactions instead of ad-hoc scripting. The included vault cache service helps keep responses fast and resilient, with fallbacks for the global search when the live API is unavailable.
How to install
Prerequisites
- Node.js (v18+ recommended) and npm or pnpm
- Access to an Obsidian vault with the Obsidian Local REST API plugin installed and configured
- A running Obsidian instance exposing the Local REST API (default port 1123/https as configured by the plugin, adjust OBSIDIAN_API_BASE_URL accordingly)
Install and run
- Clone the repository or download the package for the Obsidian MCP Server.
- Install dependencies (in the project root):
- npm install
- or yarn install
- Configure environment variables. Create a .env file or export the following variables as appropriate:
- PORT=3000
- OBSERVATORY_VAULT_PATH=/path/to/your/obsidian/vault
- OBSIDIAN_API_BASE_URL=http://localhost:1123
- DOTENV_CONFIG_PATH=.env (if using dotenv)
- Build the server (if the project uses a build step):
- npm run build
- Start the server:
- npm run start The server will expose an MCP endpoint (e.g., http://localhost:3000/mcp) and register the Obsidan MCP server under the name obsidian.
Notes
- Ensure the Obsidian Local REST API plugin is installed and accessible from the server host.
- Adjust the Obsidian API base URL and vault path to your environment. The server expects the vault to be reachable and the API to be authenticated per your Obsidian Local REST API configuration.
Additional notes
Tips and common considerations:
- Environment variables are critical: specify the vault path and the Obsidian Local REST API URL accurately to avoid failures when tools attempt to read or modify notes.
- The vault cache service improves performance and resilience; if you notice stale results, check cache refresh settings or permissions.
- For safety, tools provide case-insensitive path fallbacks and explicit frontmatter/tag management to minimize unintended overwrites.
- If you enable authentication for the MCP HTTP layer (JWT/OAuth), ensure clients supply valid tokens; otherwise, operate in a trusted, isolated environment.
- Review the Obsidian tool docs in the repository to understand exact tool inputs, such as the required note paths, formatting options (markdown/json), and frontmatter keys when using manage_frontmatter or manage_tags.
Related MCP Servers
mcp -langfuse
Model Context Protocol (MCP) Server for Langfuse Prompt Management. This server allows you to access and manage your Langfuse prompts through the Model Context Protocol.
mentor
A Model Context Protocol server providing LLM Agents a second opinion via AI-powered Deepseek-Reasoning R1 mentorship capabilities, including code review, design critique, writing feedback, and idea brainstorming through the Deepseek API.
deep-research
A Model Context Protocol (MCP) compliant server designed for comprehensive web research. It uses Tavily's Search and Crawl APIs to gather detailed information on a given topic, then structures this data in a format perfect for LLMs to create high-quality markdown documents.
toolkit
A Model Context Protocol server providing LLM Agents with system utilities and tools, including IP geolocation, network diagnostics, system monitoring, cryptographic operations, and QR code generation.
grok-faf
First MCP server for Grok | FAST⚡️AF • URL-based AI context • Vercel-deployed
ntfy
An MCP (Model Context Protocol) server designed to interact with the ntfy push notification service. It enables LLMs and AI agents to send notifications to your devices with extensive customization options.