
Obsidian Vault MCP Server
io.github.OleksandrKucherenkoPublished by GitHub account OleksandrKucherenkov1.3.3Updated Oct 24, 2026
Access Obsidian vaults via Local REST API - read, search, and interact with notes
Overview
Lets an assistant read and search notes in an Obsidian vault through the Obsidian Local REST API.
- What you can do
- This server connects an AI assistant to an Obsidian vault over the Obsidian Local REST API. It exposes tools to retrieve a note's content and metadata by file path, run keyword searches across notes, and run semantic searches. Notes are also reachable as resources through an obsidian:// URI pattern. It supports stdio and HTTP transports, with optional multi-URL failover and health monitoring.
- When to use it
- Use it when your notes live in Obsidian and you want an assistant to find, read, and summarize them, for example gathering everything you have written about a topic into a report. It suits local desktop setups where Obsidian is running and the Local REST API plugin is enabled.
- Requirements
- Obsidian Desktop running with the Local REST API plugin enabled, plus its API key supplied as API_KEY. The server runs locally via npx or Docker; API_URLS (or the legacy API_HOST and API_PORT) must point at the REST API, and network access between the server and Obsidian is needed. HTTP transport can be protected with MCP_HTTP_TOKEN.
Installation
In SourceWeft
- Open Obsidian Vault MCP Server in the dashboard and add it to a workspace.
- Enable the server for the chats that should use its tools.
Desktop only via STDIO. STDIO servers start a local process, so they need the SourceWeft desktop host.
Other MCP clients
Follow the launch instructions in the repository.
README
mcp-obsidian
Deployed / Usage
[Ask DeepWiki] [GitHub Stars] [GitHub Forks] [NPM Downloads] [Docker Hub obsidian-mcp] [Docker Hub obsidian-vnc] [License: MIT]
CI/CD Status
[NPM (npmjs.org)] [NPM (GitHub)]
[Docker (GitHub)] [Docker (Docker Hub)]
- mcp-obsidian
MCP Tools & Resources
This MCP server exposes the following tools and resources to AI assistants:
Tools
Resources
Quick Test
Example use-case: "Find all tools in my Obsidian vault for tracking logs and metrics, make a summary report" — the AI searches your vault, finds notes about OpenTelemetry, Datadog, Prometheus, etc., and generates a structured summary.
For other CLI tools (Gemini, OpenCode, Kilo Code, Copilot), see Manual Testing Guide.
Configure MCP
Multi-URL Configuration (Recommended)
Use API_URLS for automatic failover and self-healing. The server tests all URLs in parallel, selects the fastest one, and automatically reconnects on failure.
Self-Healing Features:
- ✅ Parallel URL testing on startup
- ✅ Automatic selection of fastest URL
- ✅ Health monitoring every 30 seconds
- ✅ Automatic failover on connection loss
- ✅ Exponential backoff to prevent thrashing
Available transports:
stdio- Standard input/output (default, best for local MCP clients)http- HTTP JSON-RPC with SSE streaming (best for remote access)
WSL2 Example:
HTTP Transport Configuration
The MCP server supports HTTP transport for remote access with automatic URL failover:
Decoupled Configuration with Authentication
Clients must include the Authorization header:
Stdio Transport Configuration
For local development with stdio transport (default):
-
--rm- Automatically remove the container and its associated anonymous volumes when it exits -
-i, --interactive- Keep STDIN open -
-e, --env- Set environment variables -
--name string- Assign a name to the container -
-p, --publish- Publish container port to host
Legacy Single-URL Configuration
For backward compatibility, you can still use single-URL configuration with API_HOST and API_PORT:
Note: Single-URL configuration does not provide automatic failover or health monitoring. Use API_URLS for production deployments.
Health Endpoint
When HTTP transport is enabled, the server exposes a health check endpoint at /health:
Response:
For comprehensive health status including Obsidian API connection and all transports, you can use the getHealthStatus() function which returns:
CLI Tools Configuration
This section shows how to configure popular AI CLI tools to use the MCP Obsidian server.
Claude Code CLI
Docker:
NPX/Bunx:
Gemini CLI
Docker:
NPX/Bunx:
HTTP Transport (remote server):
List and manage servers:
OpenCode CLI
Create opencode.json in your project root:
Docker:
NPX/Bunx:
HTTP Transport:
Kilo Code CLI
Create .kilocode/mcp.json in your project or ~/.kilocode/cli/global/settings/mcp_settings.json globally:
Docker:
NPX/Bunx:
HTTP Transport:
Codex CLI
Docker:
NPX/Bunx:
GitHub Copilot CLI
Create ~/.copilot/mcp-config.json (or .copilot/mcp-config.json in repo root):
Docker:
NPX/Bunx:
Note: Copilot CLI v0.0.340+ requires ${VAR} syntax for environment variable expansion. Set OBSIDIAN_API_KEY in your shell before running.
Quick Reference
For detailed testing and verification, see Manual Testing Guide.
Setup and Troubleshooting
Setup
- Run Obsidian Desktop Application and enable Local REST API in Settings.
[Obsidian Local REST API Setup]
This setting will allow you to connect to the Local REST API from any network interface (not only localhost, which is critical for WSL2 setup).
-
Copy the API Key from Obsidian Settings; you will need it for the MCP configuration.
-
Verify that the Obsidian Local REST API is running and accessible from your machine.
-
Next Step is always to verify the network setup on your machine (firewall rules, etc).
Verify that the Obsidian REST API is running (Windows Host, MacOS, Linux)
Run in Windows CMD terminal:
Expected REST API response:
WSL2, Docker hosted on Ubuntu
Run inside the WSL2 Ubuntu Terminal:
Verify Windows Firewall
Run GUI and Setup Manual The Rules:
Or Run in Windows PowerShell as Administrator:
Or Run in Windows CMD terminal:
Disable/Enable Firewall
Execute in Windows PowerShell as Administrator:
Verify Connectivity on BusyBox Container
These steps allow us to confirm that the network setup is correct and the container can connect to the Local REST API.
Execute inside the WSL2 Ubuntu terminal:
Dockerized Obsidian
Source: readme.md at commit ba1c1cd
Tools
0Version history
1- v1.3.3LatestSep 16, 2026
Score
50% of the applicable checks met
How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.
- Reached in the last 30 days25 pts
Keep the endpoint answering the MCP handshake; SourceWeft probes it every 30 days.
- Auth declared10 pts
Declare the credential headers in the registry entry, or keep the endpoint answering the probe so its auth can be classified.
- Tools listed15 pts
Answer tools/list without a credential, or ship a package that starts in a sandbox without one.
- DescriptionRequired15 pts
- Logo10 pts
- Documentation15 pts
- License10 pts