Give AI agents access to your Obsidian vault via local files or Self-hosted LiveSync.
Copy the AI prompt to install this server into Claude Code, Cursor, or another agent β or use 1-click editor setup below.
We haven't yet run this listing's install command through our automated sandbox check. This isn't a red flag β we're steadily working through the catalog.
π‘ Paste the JSON block into your client's configuration file under mcpServers, then restart the application.
Give any AI agent access to your Obsidian vault over MCP. Run it locally against your vault files, or pair it with Self-hosted LiveSync and deploy to the cloud so it works even when your machine is off.
Example: From your phone, ask your AI: "What's in my daily note for today?" β and get the full content back, with a link to open it in Obsidian.
The server connects to your vault in two ways:
.md files directly from your vault folder. No database needed.Both modes expose the same MCP tools over HTTP, so any MCP-compatible agent can connect: Claude, Copilot, custom agents, anything that speaks the Model Context Protocol.
| Need it always available? | Have LiveSync? | Go to |
|---|---|---|
| Yes | Yes | Setup A β add MCP alongside your existing CouchDB |
| Yes | No | Setup B β CouchDB + MCP + LiveSync from scratch |
| No | β | Setup C β filesystem or CouchDB, npx or Docker |
You already have LiveSync and CouchDB on an always-on server. You just need the MCP server deployed alongside it.
Using Fly.io setup script (macOS/Linux, or WSL on Windows):
The script asks for your CouchDB connection details, vault name, and encryption passphrase.
Or run the Docker image on any always-on server:
Set COUCHDB_PASSPHRASE if you use E2E encryption in LiveSync. Set COUCHDB_OBFUSCATE_PROPERTIES=true if "Obfuscate Properties" is also enabled in your LiveSync settings. For an existing vault the server detects the actual setting from the database at startup and corrects a mismatch with a warning; only for a brand-new empty database does the value need to match your LiveSync settings. Set BASE_URL to your public URL (required for OAuth callbacks when agents connect over HTTPS).
Your MCP endpoint is https://your-app.fly.dev/mcp (Fly.io) or https://your-server:8787/mcp (Docker behind HTTPS).
See Cost for Fly.io pricing.
Requires flyctl for the Fly.io path:
Starting fresh β no LiveSync yet. Deploy CouchDB and MCP together, then set up LiveSync in Obsidian.
Using Fly.io setup script (macOS/Linux, or WSL on Windows):
The script generates credentials, creates the database, and deploys. Save the credentials it prints.
Or with Docker Compose on any always-on server:
After deployment:
https://your-app.fly.dev/mcp (Fly.io) or http://your-server:8787/mcp (Docker)MCP_AUTH_TOKEN is the password you enter when an agent connectsRequires flyctl for the Fly.io path:
Applies to both Setup A and Setup B.
| Component | Cost |
|---|---|
| CouchDB + MCP VM (shared, 512MB) | ~$3-4/month (kept alive by LiveSync) |
| MCP-only VM (shared, 256MB) | ~$0-2/month (suspends when idle) |
| 1GB persistent volume | ~$0.15/month |
As of March 2026, Fly.io may waive charges under $5/month, which could make this effectively free with a shared IPv4. Either way, cheaper than Obsidian Sync ($4/month) and you own the data.
Run the MCP server locally. Works with filesystem mode (reads vault files directly) or CouchDB mode (if you have LiveSync). Machine must stay on for agents to reach it.
Filesystem mode (simplest):
CouchDB mode (if you have LiveSync):
Omit COUCHDB_PASSPHRASE if you don't use E2E encryption in LiveSync. Set COUCHDB_OBFUSCATE_PROPERTIES=true if "Obfuscate Properties" is also enabled in your LiveSync settings. For an existing vault the server detects the actual setting from the database at startup and corrects a mismatch with a warning; only for a brand-new empty database does the value need to match your LiveSync settings.
Or with Docker:
Your MCP endpoint is http://localhost:8787/mcp.
Want remote access? Add a tunnel (machine must stay on):
Set BASE_URL to the tunnel URL when using authentication.
| Tool | Description |
|---|---|
read_note | Read a note's markdown content by path |
write_note | Create or overwrite a note (replaces entire content) |
edit_note | Edit a note without rewriting it β append, prepend (after frontmatter), or replace exact text |
list_folders | List all folders in the vault with note counts β use to discover folder names |
list_tags | List all tags in the vault with counts β use to discover tags before filtering |
list_notes | List notes with timestamps. Filter by folder, name, tag, or date. Sort by name or modified. |
delete_note | Delete a note |
move_note | Move or rename a note β works across folders, creates destination folders automatically |
get_note_metadata | Get frontmatter, tags, outgoing links, backlinks, size, and timestamps β navigate the knowledge graph |
Every tool response includes an Obsidian deep link (obsidian://open?vault=...&file=...) that works on Mac and iOS.
"Add a bullet point to my daily note." "Find my notes about the MCP server and fix the typo in the second one."
Set MCP_AUTH_TOKEN to a password to enable authentication:
The server includes a self-contained OAuth 2.1 provider. When an agent connects:
MCP_AUTH_TOKEN passwordThe session is shared across all your Claude interfaces (Desktop, Web, Mobile) and persists across server restarts. You'll need to re-enter the password after 14 days of inactivity (configurable via MCP_REFRESH_DAYS).
For non-OAuth clients (curl, MCP Inspector, custom agents), you can also pass the token directly as Authorization: Bearer <MCP_AUTH_TOKEN>.
Without MCP_AUTH_TOKEN, the server runs without authentication β suitable for local use or behind a private network.
No reviews yet β be the first to share how this listing worked for you.
Showcase your server listing on GitHub or your project documentation. Embed this dynamic SVG badge to highlight official listing status and live engagement.
[](https://allmcps.com/mcp/obsidian-sync-mcp)<a href="https://allmcps.com/mcp/obsidian-sync-mcp"><img src="https://allmcps.com/api/badge/obsidian-sync-mcp?style=directory" alt="Obsidian Sync MCP on AllMCPs" /></a>