Obsidian Vault MCP Server
Obsidian + Claude через Cloudflare
Получите доступ к своему Obsidian vault из Claude (веб, десктоп, Code) с помощью MCP-сервера на Cloudflare Workers + Containers.
Никаких NAS, Docker Compose или туннелей. Только инфраструктура Cloudflare с использованием Agents SDK для полноценного MCP-сервера.
Архитектура
Obsidian (phone, desktop)
│
│ Obsidian Sync (your existing subscription)
▼
Cloudflare Container (Node.js 22)
runs `ob sync --continuous`
serves vault files over HTTP API
▲
│ container fetch (native)
│
Cloudflare Worker (MCP server via Agents SDK)
tools: list, read, search, write, append, delete
auth via bearer token (or OAuth / Cloudflare Access)
▲
│ MCP over Streamable HTTP
│
Claude (web, desktop, Code)Контейнер является единственным источником истины. Он запускает obsidian-headless для синхронизации с Obsidian Sync и предоставляет HTTP API для файловых операций. Worker проксирует все вызовы инструментов MCP к API контейнера.
Related MCP server: obsidian-mcp
Инструменты MCP
Инструмент | Описание |
| Список всех markdown-заметок с путями, размерами и датами |
| Чтение полного содержимого заметки по пути |
| Полнотекстовый поиск по всем заметкам с фрагментами |
| Создание или перезапись заметки |
| Добавление текста в существующую заметку (или создание новой) |
| Удаление заметки |
| Создание папки (включая промежуточные директории) |
| Удаление папки (пустой или рекурсивно) |
| Список вложенных папок по указанному пути |
Предварительные требования
Аккаунт Cloudflare с платным тарифом Workers ($5/мес)
Активная подписка Obsidian Sync
Node.js 22+ на вашей рабочей станции
CLI
wrangler:npm install -g wrangler
Настройка
0. Вход в Wrangler
wrangler loginВсе необходимые области доступа (scopes) предоставляются по умолчанию.
1. Генерация токена аутентификации Obsidian
Разовый шаг на вашей рабочей станции:
npm install -g obsidian-headless
ob login
# Enter email, password, MFA code if enabled
ob sync-list-remote
# Note your vault name2. Настройка окружения
Скопируйте пример файла окружения и заполните свои значения:
cp .dev.vars.example .dev.varsОтредактируйте .dev.vars, указав свои учетные данные Obsidian и опциональный токен аутентификации MCP. Этот файл используется wrangler dev для локальной разработки и скриптом настройки для отправки секретов в Cloudflare. Он уже добавлен в .gitignore.
3. Развертывание
Запустите скрипт настройки, чтобы отправить все секреты и выполнить развертывание:
./scripts/setup.shИли выполните шаги по отдельности:
./scripts/setup.sh secrets # Push secrets to Cloudflare
./scripts/setup.sh validate # Check prerequisites
./scripts/setup.sh deploy # Validate + install deps + deploy + restart container
./scripts/setup.sh status # Check sync container health
./scripts/setup.sh restart # Restart sync container
./scripts/setup.sh container-logs # View sync container logsВаш MCP-сервер доступен по адресу:
https://obsidian-mcp.<your-subdomain>.workers.dev/mcp
4. Подключение Claude
Claude.ai (веб)
Настройки → Коннекторы → Добавить пользовательский коннектор:
URL:
https://obsidian-mcp.<your-subdomain>.workers.dev/mcp?token=YOUR_MCP_AUTH_TOKENОставьте поля OAuth пустыми — токен в URL обрабатывает аутентификацию
Claude Code
claude mcp add \
--transport http \
--scope user \
obsidian-vault \
https://obsidian-mcp.<your-subdomain>.workers.dev/mcpClaude Desktop
Добавьте в claude_desktop_config.json:
{
"mcpServers": {
"obsidian-vault": {
"url": "https://obsidian-mcp.<your-subdomain>.workers.dev/mcp"
}
}
}Как передаются данные
Вы редактируете заметку на телефоне:
Obsidian Sync отправляет изменения
ob sync --continuousв контейнере подтягивает их в/vaultПри следующем чтении или поиске Claude, Worker проксирует запрос к HTTP API контейнера, который считывает данные напрямую из
/vault
Claude создает заметку:
Worker получает вызов MCP
write_noteWorker проксирует его к HTTP API контейнера
Контейнер записывает файл в
/vaultob syncобнаруживает новый файл и отправляет его через Obsidian SyncОн появляется на вашем телефоне и компьютере
Разработка
# Local dev (MCP server only, no container)
npm run dev
# Deploy
npm run deployСтоимость
Сервис | Использование | Стоимость |
Платный тариф Workers | Уже оплачен | $5/мес (покрывает всё) |
Контейнер | 1 экземпляр, в основном простаивает | Включено в тариф Workers |
Итого дополнительно | $0 |
Структура проекта
obsidian-mcp/
├── src/
│ └── index.ts # MCP server (Agents SDK, proxies to container)
├── sync-container/
│ ├── Dockerfile # Headless sync container image
│ ├── entrypoint.sh # Auth, sync startup
│ └── server.js # HTTP API for vault file operations
├── scripts/
│ └── setup.sh # Push secrets, deploy
├── .dev.vars.example # Template for env vars / secrets
├── wrangler.jsonc # Worker + Container config
└── package.jsonДальнейшие шаги
Это упражнения для укрепления настройки под ваши нужды:
Усиление аутентификации
Включенная аутентификация (секрет MCP_AUTH_TOKEN) поддерживает как заголовки Authorization: Bearer, так и параметры запроса ?token=. Использование токена в URL удобно для коннекторов Claude.ai, где пользовательские заголовки не всегда доступны.
Для общих или публичных развертываний рассмотрите более надежные варианты:
Cloudflare Access: Установите Zero Trust Access перед Worker для SSO на основе идентификации с журналами аудита без изменения кода
OAuth: Интегрируйте
workers-oauth-providerдля потоков OAuth GitHub/Google
Аутентификация контейнера
Проверьте, поддерживает ли obsidian-headless аутентификацию через --token или переменные окружения для ob login, чтобы избежать интерактивных запросов. Если нет, сохраняйте сессию аутентификации после разового интерактивного входа и восстанавливайте её при запуске контейнера.
Устойчивость к перезапуску контейнера
Файл состояния sqlite ob находится на эфемерном диске контейнера. Перезапуск инициирует полную повторную синхронизацию. Чтобы исправить это: добавьте перехват SIGTERM в entrypoint.sh, который сохраняет файл состояния, и восстанавливайте его при запуске.
Производительность поиска
Поиск методом перебора считывает каждый файл .md при каждом запросе — это нормально для менее чем 500 файлов. Для больших хранилищ создайте поисковый индекс в D1 или Workers KV.
Вложения
В настоящее время фильтрует только .md. Расширьте функционал для поддержки изображений, PDF и других вложений хранилища с помощью дополнительных инструментов.
Устранение неполадок
Docker должен быть запущен — Контейнер синхронизации требует Docker. Запустите docker info для проверки. Подкоманда validate проверяет это автоматически.
Два пароля — OBSIDIAN_PASSWORD — это ваш пароль от аккаунта Obsidian (используется для входа на obsidian.md). VAULT_PASSWORD — это отдельный пароль сквозного шифрования (E2EE), установленный в Obsidian → Sync → Encryption. Оставьте VAULT_PASSWORD пустым, если ваше хранилище не использует E2EE.
Развертывание не перезапускает контейнеры — wrangler deploy не перезапускает запущенные контейнеры. Скрипт настройки делает это автоматически. При ручном развертывании перезапустите с помощью ./scripts/setup.sh restart.
Логи контейнера не отображаются в wrangler tail — Стандартный вывод контейнера не передается через wrangler tail. Используйте ./scripts/setup.sh container-logs вместо этого.
Справочник компонентов
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
Loading tool schema changelog…
Related MCP Connectors
Hosted MCP server for Obsidian Sync vaults: read, search, edit notes. Not affiliated with Obsidian.
Notes and memory assistant: one Markdown vault that Claude, ChatGPT and any MCP client can share.
Remote streamable-HTTP MCP server running on a single Cloudflare Worker. Your assistant gets live Airbnb, Amazon, Booking.com, Google Flights, Maps and Reddit data, social search on X, Instagram and TikTok, the Meta Ad Library, and image/video generation without any keys. Connect your own accounts to let it send WhatsApp or Telegram messages, work an IMAP inbox, manage Meta Ads campaigns and publish to X and LinkedIn. OAuth 2.1 with PKCE; stored credentials are AES-256-GCM encrypted.
Search, read, and write your Apple Notes from ChatGPT/Claude via a local Mac agent + MCP relay.
Related MCP Servers
- AlicenseAqualityDmaintenanceThis MCP server enables Claude to interact with an Obsidian vault for persistent, structured memory, providing tools for note creation, semantic search, graph traversal, and session memory.1826 npm15MIT
- AlicenseNot gradedqualityDmaintenanceBidirectional MCP server that connects Claude with an Obsidian vault, enabling note management, full-text search, graph traversal, and daily notes operations.3,713 npmMIT
- AlicenseNot gradedqualityCmaintenanceRemote MCP server for Obsidian vaults, enabling secure access to markdown notes from Claude clients without the Obsidian desktop app. Provides tools for searching, reading, listing recent notes, resolving daily notes, and creating/appending notes via HTTPS.10 npmMIT
- AlicenseNot gradedqualityDmaintenanceEnables MCP-capable assistants to securely search, read, create, edit, move, and delete notes in a private Obsidian vault via Cloudflare, using official Obsidian Sync and OAuth-protected tools.421 npmAGPL 3.0