Obsidian Vault API
Provides tools for interacting with an Obsidian vault, enabling file listing, reading, writing, deleting, frontmatter management, folder operations, search, and local command execution.
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@Obsidian Vault APIsearch my vault for meeting notes"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
Obsidian Vault API — Docker
Docker-compatible version of Obsidian Vault API. Exposes your Obsidian vault as an MCP server — no Obsidian desktop app required. Runs 24/7 on any server or NAS.
The original plugin runs inside Obsidian and uses the Obsidian API + Electron's Canvas for image processing. This version runs as a standalone Node.js process in Docker, using direct fs operations and sharp for image resizing. All 13 MCP tools from the original are preserved.
Quick Start
docker-compose (recommended)
services:
vault-api:
build: .
container_name: obsidian-vault-api
restart: unless-stopped
ports:
- "2768:2768"
volumes:
- /path/to/your/vault:/vault
- vault-api-data:/data
environment:
- VAULT_API_KEY=your-secret-key-here
volumes:
vault-api-data:docker compose up -ddocker run
docker run -d \
--name obsidian-vault-api \
-p 2768:2768 \
-v /path/to/your/vault:/vault \
-v vault-api-data:/data \
-e VAULT_API_KEY=your-secret-key-here \
ghcr.io/alexandre1116/obsidian-vault-api-docker:latestWeb UI
After starting the container, open your browser and go to:
http://localhost:2768/The dashboard lets you:
View server status (running/stopped, port, vault name)
Edit configuration (port, bind address, allowed commands) — changes are saved to
/data/config.jsonand persist across restartsRegenerate API key — generates a new secret, requires reconnecting clients
Restart / Stop the MCP server without stopping the container
Copy connection info — SSE URL, Claude Desktop JSON config, API key
The web UI itself does not require authentication (it's the config page). The MCP endpoints (/sse, /message, /raw) require the API key.
Configuration
Configuration is stored in /data/config.json and persists across container restarts. Environment variables act as initial overrides on first boot — after that, the config file is the source of truth.
Variable | Default | Description |
|
| Path to the vault directory inside the container |
|
| Path for persistent config file |
|
| Port to listen on |
|
| Bind address ( |
| (auto-generated) | API key for MCP authentication. If empty, one is generated and saved |
|
| Glob patterns for allowed shell commands (comma-separated). |
|
| Host reported in image URLs (set to your external address if behind a proxy) |
Connecting Your AI Client
LM Studio / Open WebUI / Any MCP client with SSE support
Add MCP server URL:
http://localhost:2768/sse?key=YOUR_API_KEYClaude Desktop
Add to claude_desktop_config.json:
{
"mcpServers": {
"obsidian": {
"url": "http://localhost:2768/sse?key=YOUR_API_KEY"
}
}
}Or copy the JSON directly from the Web UI dashboard.
Authentication
Either:
Query parameter:
?key=YOUR_API_KEYHTTP header:
X-Api-Key: YOUR_API_KEY
Available Tools
Tool | Description |
| List vault files — filter by folder or extension |
| Read text files, view images, get binary data as base64 |
| Create or update a text file |
| Create or overwrite a binary file from base64 data |
| Append text to an existing file |
| Delete a file |
| Read YAML frontmatter as parsed key-value pairs |
| Set, update, or delete frontmatter fields |
| Create a new folder |
| Delete a folder |
| Rename or move a folder |
| Keyword search across filenames and content |
| Run a shell command inside the container, in the vault directory |
Image Support
Large images are auto-resized using sharp (pure Node.js, no Electron):
File size | Max dimension | Format |
<= 4 MB | Original | As-is |
4–20 MB | 1024 px | JPEG 85% |
20–100 MB | 800 px | JPEG 85% |
> 100 MB | 512 px | JPEG 85% |
NFS / Network Mounts
The server reads files fresh from the filesystem on every tool call — no caching. NFS mounts work in real-time:
volumes:
- nfs-vault:/vault
volumes:
nfs-vault:
driver: local
driver_opts:
type: nfs
device: ":/path/on/nfs"
o: addr=10.0.0.1,nfsvers=4Health Check
curl http://localhost:2768/healthReturns { "status": "ok", "version": "1.1.0" } publicly. Authenticated requests also return vault, port, and sessions.
Building from Source
git clone https://github.com/Alexandre1116/Obsidian-Vault-API-Docker
cd Obsidian-Vault-API-Docker
docker compose build
docker compose up -dOr without Docker:
npm install
npm run build
VAULT_PATH=/path/to/vault VAULT_API_KEY=secret npm startDifferences from the Original Plugin
Original (Obsidian plugin) | Docker version | |
Runtime | Inside Obsidian desktop app | Standalone Node.js in Docker |
File access | Obsidian Vault API ( | Node.js |
Image resize | Electron Canvas API |
|
File deletion | System trash (recoverable) | Permanent delete |
Settings UI | Obsidian settings tab | Web UI at |
Config storage | Obsidian plugin data |
|
Bind address |
| Configurable ( |
Bridge.js / Claude config | Auto-written by plugin | Copy from Web UI |
License
CC BY-NC-SA 4.0 — same as the original project.
This server cannot be installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Connectors
Serve a folder of Markdown notes as an MCP server: hybrid search, reading, and sourced answers.
Markdown-based note-taking with a hosted MCP server. Your notes serve you and your AI.
Agent-native MCP server over the public saagarpatel.dev corpus. Read-only, stateless.
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/Alexandre1116/Obsidian-Vault-API-Docker'
If you have feedback or need assistance with the MCP directory API, please join our Discord server