Як підключити Claude Desktop до Obsidian — шлях через 4 MCP-сервери
Реальна історія пошуку стабільного способу автоматизувати роботу з Obsidian-сховищем через Claude. Що зламалось, що спрацювало, і чому VaultForge виявився єдиним робочим варіантом.
Уявіть: у вас 400+ нотаток в Obsidian, накопичених за роки. Все розкидано по корені сховища, концепти змішані з технічними замітками, є дублі (ideas.md і тека ideas/ з 13 файлами всередині), немає системи. Хочеться навести лад — побудувати нормальну архітектуру тек, додати MOC-файли, розставити теги. Руками це робити довго і нудно. Логічна думка: підключити Claude до Obsidian через MCP, нехай AI зробить рефакторинг. Виявилось — це шлях через мінне поле. Ось що довелось пройти, щоб дістатись до робочого рішення.
Що таке MCP і чому це не так просто
MCP (Model Context Protocol) — відкритий протокол від Anthropic, який дозволяє Claude підключатись до зовнішніх інструментів і даних. Принцип простий: запускається локальний сервер, який експонує "інструменти" (tools), а Claude їх викликає під час розмови.
Для Obsidian теоретично є купа MCP-серверів. На практиці — у кожного свої проблеми.
Головна проблема Obsidian-екосистеми: Obsidian — закритий додаток без офіційного MCP. Спільнота заповнила прогалину, але кожна імплементація йде своїм шляхом, і "офіційного благословення" немає в жодного.
Спроба 1: MarkusPfundstein/mcp-obsidian
Перший інструмент, який знаходиться при пошуку. 3400 зірок на GitHub, в усіх туторіалах. Здається безпечним вибором.
Як працює: Python-сервер на основі плагіна Local REST API в Obsidian. Сервер ходить до плагіна через HTTPS, плагін робить операції через Obsidian API.
Що пішло не так
- Не оновлювався 17 місяців
- 85 відкритих issues
- Немає
move/rename— тільки read, write, append, delete - Local REST API має документований data-loss bug: POST endpoint може мовчки переписати файл при append
Для рефакторингу це не годиться — нам потрібно переміщати файли і зберігати лінки. Йдемо далі.
Спроба 2: aaronsb/obsidian-mcp-plugin
Знайшов варіант, який працює як нативний плагін Obsidian. Це означає прямий доступ до внутрішнього API Obsidian — backlinks, Dataview, граф зв'язків. Move через нативний API оновлює всі вікі-лінки автоматично, бо Obsidian сам це обробляє.
Складнощі встановлення
- Плагін не в офіційному каталозі Obsidian (PR висить з помилками валідації)
- Встановлювати треба через BRAT (Beta Reviewers Auto-update Tool)
- Claude Desktop не приймає Bearer token напряму через UI — змусило вмикати HTTPS у плагіні
- Self-signed сертифікат для localhost створює проблеми з довірою
Через всі ці обхідні шляхи нарешті підключив. Базовий тест — vault.move справді переписує [[wikilinks]], працює як треба.
Що пішло не так у бою
Коли почав робити масовий рефакторинг (drag-and-drop десятків тек в Obsidian + одночасні MCP-операції), сервер завис на 4+ хвилини. Чому: плагін працює всередині Obsidian. Коли Obsidian переіндексовує тисячі файлів після масової зміни структури, плагін блокується разом з ним.
Висновок: залежність від відкритого Obsidian і його індексу — фатальна для bulk-операцій.
Спроба 3: @bitbonsai/mcpvault
Логічно — потрібен сервер, який не залежить від Obsidian. Працює прямо з файлами на диску. @bitbonsai/mcpvault — рекомендований у багатьох оглядах. Direct filesystem access, простий setup (npx @bitbonsai/mcpvault@latest /path/to/vault), 14 інструментів. Obsidian взагалі не потрібно тримати відкритим.
Перш ніж встановлювати, перевірив один критичний момент — чи оновлюються вікі-лінки при move. Знайшов відгук користувача:
Filesystem connector не знає, що він в Obsidian — бачить теку <code>.md</code> файлів і все. Не знає, що імена файлів несуть навантаження, що кожен <code>[[wikilink]]</code> зламається в момент rename або move. Auto-update links спрацьовує тільки коли rename відбувається зсередини програми. Я дізнався це після того, як попросив Claude почистити імена файлів і повернувся до dashboard з половиною зламаних лінків.
Підтвердилось у документації самого mcpvault: PR #101 (wiki link resolution) в review, не помержений. Тобто move через mcpvault зламає половину vault. Не годиться.
Спроба 4: VaultForge (фінал)
blacksmithers/vaultforge — спеціально побудований для AI-агентів, які роблять рефакторинг.
Архітектурно правильно
- Direct filesystem — не залежить від Obsidian
- Власний wikilink engine — реалізована логіка резолвингу
[[wikilinks]], що оновлює всі форми (stem, повний шлях, alias, embed) - Dry run за замовчуванням на всіх руйнівних операціях — спочатку показує що зміниться, потім підтверджуєш
- 27 інструментів проти 8–14 у конкурентів: batch_rename, update_links, backlinks (impact analysis), prune_empty_dirs, frontmatter, smart_search (BM25), vault_themes (TF-IDF clustering)
- MIT ліцензія, TypeScript, zero sub-dependencies
- Інсталяція за 30 секунд через
.mcpb(one-click extension для Claude Desktop)
Тест безпеки на ізольованих файлах
Створив 4 тестові файли з перехресними лінками — stem-лінки, лінки з alias, лінки з повним шляхом. Переміщую один файл у підтеку:
delta.md → subfolder/delta-renamed.mdVaultForge показав dry run: "1 файл буде перейменовано, 3 лінки буде оновлено". Виконав на справжньому.
| Link type | Before | After |
|---|---|---|
| Stem | [[delta]] | [[delta-renamed]] |
| Alias | [[delta|D]] | [[delta-renamed|D]] |
| Full path + alias | [[_vf-test/delta|D]] | [[_vf-test/subfolder/delta-renamed|D]] |
Перевірив після — всі три типи лінків оновились коректно. Це саме те, чого бракувало всім попереднім інструментам.
Як встановити VaultForge — фінальна інструкція
Якщо у вас macOS і Claude Desktop:
Крок 1
Завантажте .mcpb файл:
curl -fsSL https://github.com/blacksmithers/vaultforge/releases/latest/download/vaultforge.mcpb \
-o /tmp/vaultforge.mcpb && open /tmp/vaultforge.mcpbКрок 2
Claude Desktop відкриє діалог встановлення розширення. Введіть абсолютний шлях до vault — без backslashes, з нормальними пробілами:
/Users/yourname/Library/Mobile Documents/iCloud~md~obsidian/Documents/MyVaultКрок 3
Натисніть Save. Claude Desktop сам додасть розширення в конфіг. Перезапуск не потрібен — .mcpb extensions підхоплюються автоматично.
Крок 4
Перевірте: в новому чаті спитайте: "Який статус мого Obsidian vault?" — має повернутись щось на кшталт totalFiles: 416, totalDirs: 135, ...
Що я зрозумів про MCP-екосистему Obsidian
По-перше, "найпопулярніший" не означає "робочий". MarkusPfundstein/mcp-obsidian має 3400 зірок і його ставлять за замовчуванням, але він застарів і не має ключових операцій.
По-друге, нативний плагін має приховану ціну. Aaronsb plugin виглядав ідеально — graph, Dataview, нативні move. Але залежність від відкритого Obsidian і його індексу робить його непридатним для серйозних масових операцій.
По-третє, direct filesystem без link-engine — пастка. Mcpvault швидкий і простий, але "просто переміщення файлів" руйнує структуру vault. Лінки — це нав'язана семантика, яку filesystem не знає. Без власної реалізації wikilink-логіки інструмент перетворюється на міну.
По-четверте, перевіряйте на ізольованих даних. Перш ніж довіряти інструменту масовий рефакторинг — створіть тестову папку з 4–5 файлами з перехресними лінками і перегляньте, що відбувається. 5 хвилин тесту економлять години відновлення з backup.
По-п'яте, тримайте git-бекап vault. Найважливіше з усього. Один git init всередині vault і періодичні коміти — це страхування від будь-яких помилок AI-агента або інструменту. Якщо щось зламається — git reset --hard повертає все назад.
Висновок
Шлях зайняв кілька годин і три невдалі спроби. Фінальна архітектура виглядає так:
- VaultForge — основний робочий інструмент. Direct filesystem + власний wikilink engine + 27 інструментів = стабільний рефакторинг будь-якого масштабу.
- Git — версіонування vault. Безкоштовний відкат для будь-якої помилки.
Тепер можна робити те, заради чого все затівалось: попросити Claude розкласти 400 нотаток по нормальній архітектурі за PARA, об'єднати дублі, додати frontmatter, побудувати MOC-карти. Кожна операція безпечна, лінки зберігаються, dry run показує що буде до того, як щось зміниться.
Якщо ви теж дивитесь на свій захаращений Obsidian і хочете AI-помічника — починайте одразу з VaultForge. Не повторюйте мій маршрут через мертві проєкти, beta-плагіни і filesystem-сервери без link-логіки.