obsidian-sync-mcp
Give any AI agent access to your Obsidian vault over MCP
Why this rank:Recent releaseStrong adoptionHealthy release cadence
Description
Give any AI agent access to your Obsidian vault over MCP
Release History
| Version | Changes | Urgency | Date |
|---|---|---|---|
| v0.6.4 | ### Fixes - Bump mcp-proxy to 6.7.11 so MCP responses declare `charset=utf-8` in `Content-Type`, fixing mojibake for non-ASCII note content (Cyrillic, CJK) in clients that fall back to Latin-1 when charset is omitted (#16). Fixed upstream by @Zombiehamser. | High | 8/29/2026 |
| v0.6.2 | ### Fixes - OAuth client registrations are no longer evicted when their tokens expire (#13). AI clients cache their `client_id` and present it again after the 14-day refresh-token expiry; the periodic cleanup used to delete the registration in the meantime, leaving the client permanently stuck on "Unknown client" until the connector was deleted and re-added. Registrations now live until the 100-client cap is reached, at which point the oldest registration without live tokens is evicted at regis | High | 8/15/2026 |
| v0.6.1 | ### Changes - Switch the vendored livesync-commonlib to upstream main (0.1.1): the enumerate-metaonly fix is now merged upstream (vrtmrz/livesync-commonlib#22), so the fork pin is retired. Also picks up upstream's trailing-slash `couchDB_URI` fix (avoids double-slash 401s against CouchDB) and `DirectFileManipulator` path/watch-semantics fixes. | High | 8/2/2026 |
| v0.5.8 | ### Features - Auto-detect LiveSync's "Obfuscate Properties" setting from the vault's document IDs at startup. A `COUCHDB_OBFUSCATE_PROPERTIES` value that doesn't match the vault could never work — `list_notes` and search would succeed while `read_note` returned "Note not found" for every path and writes produced documents LiveSync clients ignore (#4, #10). On mismatch the server now warns and corrects the setting automatically; an obfuscated vault without `COUCHDB_PASSPHRASE` fails fast at sta | High | 7/21/2026 |
| v0.5.7 | ### Security - Fix unauthenticated vault access via DNS rebinding and cross-origin browser requests when running without `MCP_AUTH_TOKEN` (GHSA-mx6p-3fg7-v6pj, CWE-350). In no-auth mode the MCP endpoint now validates the `Host` and `Origin` headers and rejects any request not from `localhost`/`127.0.0.1`/`::1` (extend with `MCP_ALLOWED_HOSTS`). Previously, a malicious web page the operator visited could reach the full tool surface — reading and modifying the vault — with no credential. Deployme | Medium | 7/10/2026 |
| v0.5.6 | ### Fixes - Empty (zero-byte) notes were dropped from the search index instead of being indexed, so a title-only note with no body never appeared in `list_notes` or search, and a fresh CouchDB vault of mostly empty notes cold-started with only the non-empty ones indexed. The index now distinguishes deleted notes from empty-but-present ones (#5, #6). - Bump transitive deps (`form-data`, `hono`, `undici`) to clear high-severity npm audit advisories (CRLF injection, CORS wildcard reflection). | High | 7/7/2026 |
| v0.5.5 | ### Features - New `MCP_INSTRUCTIONS` and `MCP_INSTRUCTIONS_FILE` env vars append vault-specific conventions (folder structure, naming rules, folders to avoid) to the server-side MCP `instructions` string, so they apply across every MCP client without per-client config. Append-only to preserve the built-in deep-link rendering rule; file wins if both are set. 32 KB cap on file size; missing/unreadable file is a fatal startup error. | High | 6/5/2026 |
| v0.5.4 | ### Fixes - Bump transitive deps (`fast-uri`, `hono`, `ip-address`, `qs`, `express-rate-limit`) to clear high-severity npm audit advisories (path traversal, host confusion). Refreshes the published Docker image with patched deps. ### Docs - Surface `COUCHDB_OBFUSCATE_PROPERTIES` in quickstart snippets so encrypted-vault users don't silently fail to sync when "Obfuscate Properties" is enabled in LiveSync (#4) | High | 6/3/2026 |
| v0.5.3 | ### Features - New `READ_ONLY=true` env var disables write tools (`write_note`, `edit_note`, `delete_note`, `move_note`) — useful when exposing the server to multiple AI clients (#1, #3) ### Fixes - Bump axios (1.13.6 → 1.16.0) and other transitive deps to clear high-severity npm audit advisories (SSRF, prototype pollution) | High | 5/5/2026 |
| 0.5.2 | Imported from npm (0.5.2) | Low | 4/21/2026 |
| v0.5.2 | ### Fixes - Fix HKDF decryption error after Obsidian "Overwrite remote" rebuild — MCP was caching a stale PBKDF2 salt, causing notes written by MCP to be unreadable by the LiveSync plugin - Clear encryption key cache before each write/delete to always use the current salt from CouchDB - Add `E2EEAlgorithm: "v2"` to generated Setup URIs | Medium | 3/30/2026 |
| v0.5.2 | ### Fixes - Fix HKDF decryption error after Obsidian "Overwrite remote" rebuild — MCP was caching a stale PBKDF2 salt, causing notes written by MCP to be unreadable by the LiveSync plugin - Clear encryption key cache before each write/delete to always use the current salt from CouchDB - Add `E2EEAlgorithm: "v2"` to generated Setup URIs | Medium | 3/30/2026 |
| v0.5.2 | ### Fixes - Fix HKDF decryption error after Obsidian "Overwrite remote" rebuild — MCP was caching a stale PBKDF2 salt, causing notes written by MCP to be unreadable by the LiveSync plugin - Clear encryption key cache before each write/delete to always use the current salt from CouchDB - Add `E2EEAlgorithm: "v2"` to generated Setup URIs | Medium | 3/30/2026 |
| v0.5.2 | ### Fixes - Fix HKDF decryption error after Obsidian "Overwrite remote" rebuild — MCP was caching a stale PBKDF2 salt, causing notes written by MCP to be unreadable by the LiveSync plugin - Clear encryption key cache before each write/delete to always use the current salt from CouchDB - Add `E2EEAlgorithm: "v2"` to generated Setup URIs | Medium | 3/30/2026 |
| v0.5.2 | ### Fixes - Fix HKDF decryption error after Obsidian "Overwrite remote" rebuild — MCP was caching a stale PBKDF2 salt, causing notes written by MCP to be unreadable by the LiveSync plugin - Clear encryption key cache before each write/delete to always use the current salt from CouchDB - Add `E2EEAlgorithm: "v2"` to generated Setup URIs | Medium | 3/30/2026 |
| v0.5.2 | ### Fixes - Fix HKDF decryption error after Obsidian "Overwrite remote" rebuild — MCP was caching a stale PBKDF2 salt, causing notes written by MCP to be unreadable by the LiveSync plugin - Clear encryption key cache before each write/delete to always use the current salt from CouchDB - Add `E2EEAlgorithm: "v2"` to generated Setup URIs | Medium | 3/30/2026 |
| v0.5.2 | ### Fixes - Fix HKDF decryption error after Obsidian "Overwrite remote" rebuild — MCP was caching a stale PBKDF2 salt, causing notes written by MCP to be unreadable by the LiveSync plugin - Clear encryption key cache before each write/delete to always use the current salt from CouchDB - Add `E2EEAlgorithm: "v2"` to generated Setup URIs | Medium | 3/30/2026 |
| v0.5.2 | ### Fixes - Fix HKDF decryption error after Obsidian "Overwrite remote" rebuild — MCP was caching a stale PBKDF2 salt, causing notes written by MCP to be unreadable by the LiveSync plugin - Clear encryption key cache before each write/delete to always use the current salt from CouchDB - Add `E2EEAlgorithm: "v2"` to generated Setup URIs | Medium | 3/30/2026 |
| v0.5.2 | ### Fixes - Fix HKDF decryption error after Obsidian "Overwrite remote" rebuild — MCP was caching a stale PBKDF2 salt, causing notes written by MCP to be unreadable by the LiveSync plugin - Clear encryption key cache before each write/delete to always use the current salt from CouchDB - Add `E2EEAlgorithm: "v2"` to generated Setup URIs | Low | 3/30/2026 |
| v0.5.2 | ### Fixes - Fix HKDF decryption error after Obsidian "Overwrite remote" rebuild — MCP was caching a stale PBKDF2 salt, causing notes written by MCP to be unreadable by the LiveSync plugin - Clear encryption key cache before each write/delete to always use the current salt from CouchDB - Add `E2EEAlgorithm: "v2"` to generated Setup URIs | Low | 3/30/2026 |
| v0.5.2 | ### Fixes - Fix HKDF decryption error after Obsidian "Overwrite remote" rebuild — MCP was caching a stale PBKDF2 salt, causing notes written by MCP to be unreadable by the LiveSync plugin - Clear encryption key cache before each write/delete to always use the current salt from CouchDB - Add `E2EEAlgorithm: "v2"` to generated Setup URIs | Low | 3/30/2026 |
| v0.5.2 | ### Fixes - Fix HKDF decryption error after Obsidian "Overwrite remote" rebuild — MCP was caching a stale PBKDF2 salt, causing notes written by MCP to be unreadable by the LiveSync plugin - Clear encryption key cache before each write/delete to always use the current salt from CouchDB - Add `E2EEAlgorithm: "v2"` to generated Setup URIs | Low | 3/30/2026 |
| v0.5.2 | ### Fixes - Fix HKDF decryption error after Obsidian "Overwrite remote" rebuild — MCP was caching a stale PBKDF2 salt, causing notes written by MCP to be unreadable by the LiveSync plugin - Clear encryption key cache before each write/delete to always use the current salt from CouchDB - Add `E2EEAlgorithm: "v2"` to generated Setup URIs | Low | 3/30/2026 |
| v0.5.2 | ### Fixes - Fix HKDF decryption error after Obsidian "Overwrite remote" rebuild — MCP was caching a stale PBKDF2 salt, causing notes written by MCP to be unreadable by the LiveSync plugin - Clear encryption key cache before each write/delete to always use the current salt from CouchDB - Add `E2EEAlgorithm: "v2"` to generated Setup URIs | Low | 3/30/2026 |
| v0.5.1 | ### Features - Setup script generates LiveSync Setup URIs (admin + livesync user) for one-paste Obsidian configuration - Correct LiveSync client settings (chunk size, sync mode, obfuscation) baked into URI — prevents config mismatches between devices ### Fixes - Add missing `[httpd] enable_cors = true` to CouchDB config (fixes mobile sync) - Add `max_age = 3600` to CORS config | Medium | 3/28/2026 |
| v0.5.0 | ### Breaking Changes - Remove `search_vault` tool and FlexSearch dependency — full-text search caused OOM on large encrypted vaults - `list_notes` gains `name` parameter (case-insensitive substring match on path) as replacement for finding notes ### Changes - Metadata index only: paths, mtimes, tags, links, backlinks (no full-text content indexing) - Dramatically reduced memory usage — works on 512MB containers with any vault size - Faster startup — no FlexSearch rebuild needed | Medium | 3/28/2026 |
| v0.4.10 | ### Fixes - Remove Node.js heap cap (256MB too small for large encrypted vaults with FlexSearch) | Medium | 3/28/2026 |
| v0.4.9 | ### Fixes - Start server before indexing — tools available immediately, search fills in progressively - Fixes health check timeout loop on Fly.io with large vaults | Medium | 3/28/2026 |
| v0.4.8 | ### Fixes - Stop persisting FlexSearch index (was 53MB, caused OOM on load). Only metadata persisted now. - FlexSearch rebuilt from vault on every cold start - Clear library chunk cache between catch-up batches - Cap Node.js heap to 256MB in mcp-with-db deploy - Remove stale entries from persisted metadata on filesystem restart | Medium | 3/28/2026 |
| v0.4.7 | ### Fixes - Clear library chunk cache between batches during catch-up (prevents unbounded memory growth) - Cap Node.js heap to 256MB in mcp-with-db deploy (leaves room for CouchDB in 512MB container) | Medium | 3/28/2026 |
| v0.4.6 | ### Fixes - Skip non-markdown attachments during catch-up by decrypting path before fetching chunks - Prevents loading large binary files (PDFs, images) into memory during initial index build | Medium | 3/28/2026 |
| v0.4.5 | ### Fixes - Fix OOM crash on first startup with large vaults — paginate `_changes` catch-up in batches of 50 - Save index checkpoint after each batch so crashes resume from last progress, not from zero | Medium | 3/28/2026 |
| v0.4.4 | ### Changes - Add `mcpName` field to package.json for MCP registry publishing | Medium | 3/27/2026 |
| v0.4.3 | ### Fixes - Coerce `limit` and `include_snippets` params from string to number/boolean (Anthropic proxy sends all values as strings) - Add tool call logging with args and execution time (`LOG_LEVEL=debug`) | Medium | 3/27/2026 |
| v0.4.2 | ### Features - New `COUCHDB_OBFUSCATE_PROPERTIES` env var for vaults with "Obfuscate Properties" enabled in LiveSync - Setup script asks about property obfuscation when passphrase is set ### Fixes - Fix reading/writing notes in vaults with property obfuscation enabled (path obfuscation regression in livesync-commonlib service refactor) - Suppress replicator service logs in production | Medium | 3/26/2026 |
| v0.4.1 | ### Fixes - Catch decryption errors in CouchDB watcher instead of crashing (wrong passphrase skips the doc) - Fix DirectFileManipulator initialization bugs in latest livesync-commonlib (addLog handler, settings, database service registration) - Print version at startup for easier debugging - Add global unhandled rejection handler as safety net - Add Docker volume to README examples for index persistence | Medium | 3/26/2026 |
| v0.4.0 | ### Features - New `edit_note` tool — append, prepend (after frontmatter), or replace exact text without rewriting the whole note - New `list_folders` tool — lists all folders with note counts so the agent can discover folder names - New `list_tags` tool — lists all tags with counts, sorted by frequency - `list_notes` and `search_vault` now support `tag` filter parameter - `get_note_metadata` now returns backlinks (notes that link to this one) for knowledge graph navigation - `list_notes` now i | Medium | 3/26/2026 |
| v0.3.0 | - Restructured deploy into `deploy/mcp-only` and `deploy/mcp-with-db` - Setup script asks which mode, vault name, and encryption passphrase - MCP-only gets persistent volume (fixes auth state loss and 2-machine split) - Single machine enforced on Fly.io (in-memory auth requires it) - Shared IPv4 allocated by default (free instead of $2/month dedicated) - README rewritten with decision table and three clear setup paths - Agent instructions show deep links with visible URLs | Medium | 3/25/2026 |
| v0.2.2 | ### Fixes - Add shebang to dist/main.js so `npx obsidian-sync-mcp` works - Fix npm bin path normalization | Medium | 3/25/2026 |
| v0.2.1 | ### Fixes - Add shebang to dist/main.js so `npx obsidian-sync-mcp` works | Medium | 3/25/2026 |
| v0.2.0 | ### Features - README rewrite: "Already have LiveSync?" as first-class path for 600k+ existing users - Standalone MCP-only Fly.io deploy documented (no CouchDB needed) - Multi-line YAML tag parsing (`tags:\n - foo\n - bar`) - Deep link moved before note content (prevents link from polluting written notes) ### Refactoring - Extracted VaultBackend interface to shared module with compile-time checks - Extracted tools to separate tools.ts (main.ts reduced from 335 to 166 lines) - Extracted extra | Medium | 3/25/2026 |
| v0.1.3 | Release v0.1.3 | Medium | 3/25/2026 |
| v0.1.2 | ### Fixes - Fly.io deployment: bind to 0.0.0.0 (was localhost-only, unreachable by Fly proxy) - Fly.io deployment: CouchDB readiness check accepts 401 (auth-required means ready) - Fly.io deployment: set COUCHDB_URL in entrypoint - Fly.io deployment: use CouchDB base image (fixes missing libmozjs on amd64) - Fly.io deployment: override ENTRYPOINT to avoid CouchDB entrypoint conflict - CSP fix: removed form-action 'self' that blocked OAuth redirects in Claude's browser - Persist data to Fly.io v | Medium | 3/24/2026 |
| v0.1.1 | Same as 0.1.0 with CI and publishing fixes. | Medium | 3/24/2026 |
Dependencies & License Audit
Loading dependencies...
Similar Packages
flutter-skillMCP Server for app automation - Give your AI Agent eyes and hands inside any app (Flutter, React, Web, Native)v0.9.37
automagik-genieSelf-evolving AI agent orchestration framework with Model Context Protocol supportv5.260830.16
minutes-sdkConversation memory SDK — query meeting transcripts, decisions, and action items from any AI agent or applicationv0.25.6
More from GitHub Actions
paperclipaiPaperclip CLI — orchestrate AI agent teams to run a business
@aaif/gooseGoose - an open-source AI agent
@n8n-as-code/skillsAI Agent skills library for n8nac (internal — use npx n8nac skills)
@zhin.js/agentZhin AI Agent — session, ZhinAgent, init; composes @zhin.js/core providers and tools
More in MCP Servers
difyProduction-ready platform for agentic workflow development.
tabularisA lightweight, cross-platform database client for developers. Supports MySQL, PostgreSQL and SQLite. Hackable with plugins. Built for speed, security, and aesthetics.
ai-agents-from-zero 🚀 2026 最系统的 AI Agent 速成指南|智能体实战教程 · 完整学习路径 + 实战项目 + 面试题库 · 对标大模型应用开发工程师岗位 · 覆盖LangChain / LangGraph / Coze / Dify / MCP / skills / LLM / RAG / 提示词 · 企业级部署与微调 · 从0到企业级落地 + 从学习到上线项目 + 面试准备一体化
studioOpen-source control plane for your AI agents. Connect tools, hire agents, track every token and dollar
