mcp-obsidian
@OleksandrKucherenko
MCP Server connected to Obsidian Vault with Local REST API. (re-write it completely with BUN to make it faster and more lightweight)
Overview
What is mcp-obsidian?
mcp-obsidian is a Model Context Protocol (MCP) server that connects AI assistants to the Obsidian Local REST API, enabling programmatic access to Obsidian notes via a Docker container or local TypeScript runtime.
How to use mcp-obsidian?
Configure the server in your MCP client’s JSON settings with required environment variables (API_KEY, API_HOST, API_PORT). The recommended deployment is via Docker using the image ghcr.io/oleksandrkucherenko/obsidian-mcp:latest. For local development, run bun run src/index.ts with the appropriate config.
Key features of mcp-obsidian
- Dockerized deployment with automatic container cleanup (
--rm). - Supports WSL2 and Windows host connectivity.
- Debug logging via
DEBUG=mcp:*environment variable. - Works with the Obsidian Local REST API plugin (v3.2.0).
- Pre‑built Docker images for both the MCP server and a full Obsidian‑with‑VNC container.
- Cross‑platform compatibility (macOS, Linux, Windows/WSL2).
Use cases of mcp-obsidian
- Integrate Obsidian note‑taking with AI‑powered tools (e.g., Claude Desktop, Windsurf).
- Automate note creation, search, and content retrieval via MCP.
- Test MCP interactions locally without a live Obsidian instance (using the Dockerized Obsidian‑VNC image).
FAQ from mcp-obsidian
What environment variables are required?
API_KEY (your Obsidian Local REST API secret key) is required. API_HOST (default localhost) and API_PORT (default 27124) are optional.
How do I verify the Obsidian REST API is running?
Run curl --insecure https://localhost:27124 or use netstat -an | findstr 27124 on Windows. For WSL2, use the gateway IP (172.26.32.1 by default).
Does mcp‑obsidian support Windows and WSL2?
Yes. The README provides detailed firewall configuration, gateway IP detection, and connectivity tests for WSL2 with Obsidian running on the Windows host.
What is the default port and host for the Obsidian API?
The default host is localhost and the default port is 27124. Override via API_HOST and API_PORT environment variables.
Can the server be run without Docker?
Yes, for development you can run bun run src/index.ts after installing dependencies with bun install. Docker is recommended for production use.