Игорь Градов
Игорь Градов
· Обновлено 20 июня 2026 г.6 мин
ai

Obsidian + LLM без копипаста: открытый MCP-сервер связал заметки с нейросетью за 15 минут

Русский разработчик собрал открытый MCP-сервер, который позволяет любому LLM-клиенту напрямую читать, искать и редактировать заметки в хранилище Obsidian, и опубликовал пошаговую инструкцию на Хабре.

Почему это важно

До сих пор работа с личной базой знаний и нейросетью выглядела как ручной конвейер: открыл заметку, скопировал фрагмент, вставил в чат, перенёс ответ обратно. MCP-сервер убирает этот конвейер: модель сама видит структуру ваших файлов и достаёт нужный контекст без переключения окон.

Зачем это нужно и откуда взялось?

Автор проекта хранит в Obsidian рабочие заметки, черновики статей, техническую документацию и планы проектов. При работе в Cursor или ChatGPT вся эта база для модели не существовала: приходилось вручную вспоминать, где лежит файл, копировать фрагмент и вставлять в LLM-клиент. Несколько раз в день.

Вместо очередного плагина внутри Obsidian он написал внешний MCP-сервер. MCP (Model Context Protocol, протокол контекста модели) позволяет LLM-клиенту подключать внешние инструменты по единому стандарту: один сервер, любые клиенты. Сервер работает напрямую с файловой системой, потому что хранилище Obsidian это обычная папка с Markdown-файлами. Сам Obsidian при этом не обязан быть запущен.

Репозиторий проекта открыт: github.com/tenqz/obsidian-agent.

Что понадобится

  • Obsidian с локальным хранилищем (vault) на вашем компьютере
  • Docker и Docker Compose для запуска сервера в контейнере
  • LLM-клиент с поддержкой MCP: Cursor, Claude Desktop, ChatGPT с MCP-плагином или любой совместимый
  • Python 3 (если хотите запускать без Docker)
  • Примерное время на настройку: 15 минут при установленном Docker, до 30 минут с нуля

Шесть инструментов, которые получает модель

Сервер предоставляет LLM-клиенту ровно шесть команд:

  • vault_ls показать содержимое папки
  • vault_read прочитать конкретный Markdown-файл
  • vault_write создать или перезаписать заметку
  • vault_glob найти файлы по шаблону имени (glob-паттерн, маска вроде *.md или projects/**/*.md)
  • vault_tree получить дерево всего хранилища
  • vault_search полнотекстовый поиск по всем Markdown-файлам

Набор сознательно минимальный. Как поясняет автор, если дать модели двадцать похожих методов, она начинает выбирать непредсказуемо. Шесть понятных операций дают стабильное поведение.

Пошаговая инструкция

  1. Клонируйте репозиторий проекта:
git clone https://github.com/tenqz/obsidian-agent.git
cd obsidian-agent
  1. Укажите путь к вашему vault в файле docker-compose.yml. Замените путь к папке на свой:
volumes:
  - /путь/к/вашему/obsidian-vault:/vault:ro

Флаг :ro означает «только чтение». Если хотите, чтобы модель могла создавать и редактировать заметки, уберите :ro.

  1. Выберите режим подключения. Их два:
  2. stdio для локальных клиентов (Cursor, Claude Desktop). Клиент сам запускает контейнер и общается через стандартный ввод-вывод. Отдельный порт открывать не нужно.
  3. SSE (Server-Sent Events, потоковые события от сервера) для сетевого доступа. Подходит для ChatGPT MCP или удалённого подключения. Сервер слушает на указанном порту.

  4. Запустите контейнер:

docker compose up -d
  1. Подключите MCP-сервер в вашем LLM-клиенте. В настройках клиента добавьте новый MCP-инструмент и укажите параметры подключения (адрес и порт для SSE или команду запуска для stdio). Конкретные поля зависят от клиента.

  2. Проверьте связь: задайте модели вопрос, который требует содержимого ваших заметок, например: «Покажи структуру моего vault» или «Найди всё, что я писал про архитектуру проекта X».

Как это применить

Вот пример реального сценария. Вместо старого способа (открыть Obsidian, найти папку «Проекты», скопировать фрагмент, вставить в чат) вы пишете прямо в LLM-клиенте:

Посмотри мои заметки в папке projects, найди всё, что я писал про архитектуру бэкенда, и собери короткое резюме на один экран.

Модель сама вызывает vault_ls, затем vault_search, читает нужные файлы через vault_read и возвращает сводку. Вы не переключали окно, не искали файл вручную и не копировали ничего.

Другой сценарий: «Создай заметку в папке drafts с планом статьи про MCP-серверы на основе моих заметок из папки ideas». Модель читает идеи, компилирует план и записывает через vault_write.

Частые ошибки

Монтирование не той папки. Путь в docker-compose.yml должен вести именно к корню vault (там, где лежат ваши .md-файлы), а не к папке с самим приложением Obsidian. Проверьте, что внутри контейнера по пути /vault видны ваши заметки.

Режим «только чтение» при попытке записи. Если оставили флаг :ro в настройках тома, команды vault_write будут падать с ошибкой. Убедитесь, что режим соответствует вашим задачам.

Слишком большое хранилище без фильтра. Если в vault тысячи файлов, полнотекстовый поиск может работать медленно и тратить много токенов (единиц текста, за которые платит клиент). Начинайте запросы с конкретной папки или шаблона, а не с корня хранилища.

Сервер не видит изменений. Файловая система монтируется при запуске контейнера. Если вы переместили vault в другую папку после запуска, перезапустите контейнер.

Ожидание «магии Obsidian». Сервер работает с файлами, а не с внутренним состоянием приложения. Открытые вкладки, граф связей, плагины Obsidian ему недоступны. Это не баг, а осознанное решение: vault доступен, даже если Obsidian не запущен.

Что с этого прямо сейчас, по ролям?

Автору Дзена. Если вы ведёте базу идей, заготовок и черновиков в Obsidian, теперь можно просить нейросеть найти релевантные наброски, собрать план из разрозненных заметок и даже создать черновик, не выходя из LLM-клиента. Связка Obsidian и LLM (obsidian llm) через MCP превращает папку с файлами в личного ассистента с памятью.

Маркетологу. Контент-планы, брифы, результаты исследований, всё это можно хранить в одном vault и дёргать контекст прямо во время работы с нейросетью. Больше не нужно держать десять вкладок, чтобы собрать фактуру.

Предпринимателю в РФ и СНГ. Проект открытый, работает локально, данные не покидают ваш компьютер. Это важно, если в заметках коммерческая информация. Из доступных в РФ LLM-клиентов с поддержкой MCP пока удобнее всего Cursor. Для моделей без MCP-поддержки придётся ждать обновлений или использовать промежуточные обёртки.

Мнение редакции dzen.guru

Мне нравится сам подход: не пытаться встроить ИИ внутрь Obsidian очередным плагином, а сделать наоборот, дать любой нейросети доступ к вашим файлам. Это принципиально гибче, потому что завтра появится новый клиент, и он тоже будет работать.

По моим наблюдениям, главная проблема связки obsidian llm не техническая, а организационная. Если ваши заметки хаотичны, модель тоже будет путаться. Прежде чем подключать MCP, стоит навести минимальный порядок: разложить файлы по папкам с понятными именами и убрать мусорные черновики.

Честная оговорка: сервер пока не поддерживает работу с метаданными Obsidian (теги в YAML-шапке, обратные ссылки через граф). Для простого поиска и чтения этого достаточно, но если ваш рабочий процесс построен вокруг графа связей, часть контекста модель не увидит.

Курс по нейросетям для авторов

Учим подключать ИИ к реальным рабочим задачам, от генерации контента до автоматизации рутины

Узнать подробности

Проект решает конкретную боль: ваша личная база знаний наконец становится видимой для нейросети, а не лежит мёртвым грузом в соседнем окне. Если вы давно хотели, чтобы ИИ работал с вашим контекстом, а не с абстрактным «средним интернетом», пятнадцать минут на настройку Docker-контейнера того стоят.

Поделиться:TelegramVK
Игорь Градов
Игорь Градов

Основатель dzen.guru. Эксперт по монетизации и продвижению на Дзен. Автор курса «Старт на Дзен 2026».

Комментарии

Читайте также

Graph RAG позволил моделям с 2 млрд параметров решить задачу, которую без графа не решила ни одна
ai

Graph RAG позволил моделям с 2 млрд параметров решить задачу, которую без графа не решила ни одна

Graph RAG (граф знаний для поиска по документам, дополняющий генерацию) позволяет даже компактным моделям с 2-8 миллиардами параметров решать сложные…

8 мин
LLM-конвейер молча теряет записи: три бага, которые не видны в сводке
ai

LLM-конвейер молча теряет записи: три бага, которые не видны в сводке

Конвейеры на базе больших языковых моделей (LLM, от англ. Large Language Model) часто теряют записи так, что итоговые проверки показывают успех, а пользователь…

7 мин
ai

Профи.ру встроил LLM поверх Elasticsearch: 150 000 запросов в час без замены движка

Дмитрий, лид отдела семантики в Профи.ру, рассказал, как команда встроила языковую модель в поиск услуг поверх Elasticsearch, не выбрасывая классический…

6 мин