Obsidian Hybrid Search MCP-сервер: семантический поиск для AI-агентов | AiManual
AiManual Logo Ai / Manual.
29 Май 2026 Инструмент

Obsidian Hybrid Search: когда ваша база знаний говорит на одном языке с AI-агентами

Обзор Obsidian Hybrid Search — MCP-сервера и CLI, объединяющего лексический и семантический поиск по заметкам. Примеры, сравнение с аналогами, настройка для Cla

Представьте: ваш AI-агент копается в тысячах заметок Obsidian, чтобы найти тот самый черновик идеи из прошлого года. Он не просто ищет по ключевым словам — он понимает смысл, находит связанные концепции, вытаскивает контекст. И делает это локально, за миллисекунды, без отправки данных в облако. Звучит как магия? Нет, это Obsidian Hybrid Search — открытый MCP-сервер и CLI, который превращает вашу базу знаний в семантическую поисковую машину для AI-агентов.

Я перепробовал кучу способов подключить Obsidian к AI: плагин Smart Connections, самописные скрипты, даже пытался скормить весь vault в контекст LLM (спойлер: не влезло). Всё упиралось в одно: либо скорость, либо точность, либо конфиденциальность. Obsidian Hybrid Search решает все три проблемы разом, скрещивая старый добрый BM25 (лексический поиск) с векторными эмбеддингами (семантический поиск) через единый MCP-интерфейс.

⚠️ Важно: инструмент работает полностью локально. Ваши заметки не покидают компьютер. Никаких облачных API для эмбеддингов — всё через локальную модель (по умолчанию all-MiniLM-L6-v2 от SentenceTransformers).

Что под капотом? Гибридный поиск без компромиссов

Obsidian Hybrid Search — это не просто очередной плагин. Это три вещи в одном флаконе:

  • MCP-сервер — реализует Model Context Protocol и позволяет любому MCP-совместимому агенту (Claude Code, Cursor, Codex CLI, Goose, Cline) выполнять поиск по вашему хранилищу Obsidian как по родной базе данных.
  • CLI-инструмент — для индексации, поиска из терминала и интеграции в скрипты. Можно использовать без AI-агентов, просто как мощный поисковик по Markdown.
  • Гибридный реранкер — на лету комбинирует результаты BM25 и косинусного расстояния эмбеддингов, выдавая взвешенный список. Коэффициенты настраиваются.
Компонент Назначение
Индексатор Сканирует vault, парсит Markdown-файлы, строит инвертированный индекс и файл эмбеддингов (FAISS или NumPy).
MCP-сервер Предоставляет инструменты search_notes, hybrid_search, get_note_content.
CLI Команды ohs index, ohs search, ohs serve для ручного управления.

С точки зрения архитектуры это напоминает подход, который мы разбирали в статье MCP-Manticore, только вместо SQL-движка — локальная папка с .md файлами. И если MCP-Manticore заточен на полнотекстовый поиск по структурированным данным, то Obsidian Hybrid Search понимает ваш личный «второй мозг» во всей его неструктурированной красе.

Почему не просто поиск Obsidian?

Встроенный поиск Obsidian — отличный для человека, но убогий для AI-агента. Он строковый, без понимания синонимов и концепций. Попросите Claude «найти заметки о распределённых системах», а у вас в vault нет точного словосочетания — получите пустые руки.

Плагины вроде Smart Connections (локальный семантический поиск) работают, но они замкнуты в интерфейсе Obsidian. Вы не сможете из Cursor или Codex CLI отправить запрос в свой мозг. Именно здесь MCP-протокол делает революцию: ваш AI-агент получает тот же level доступа, как если бы вы сами Ctrl+Shift+F в Obsidian.

1 Сравнение с альтернативами

Инструмент Тип поиска MCP-интеграция Локально Скорость (первый запрос)
Obsidian Hybrid Search Гибридный (BM25 + векторный) ✅ Да (MCP-сервер) ~80 мс (с предзагруженными эмбеддингами)
Smart Connections (плагин) Векторный (OpenAI / локальный) ❌ Нет (только GUI Obsidian) ✅ (локальная модель) ~200 мс
Omnisearch (плагин) Лексический (только BM25) ❌ Нет ~50 мс
Самописный RAG на LlamaIndex Любой ✅ (через кастомный MCP) ✅/❌ ~500 мс (с индексацией)

Как видно, главный козырь Obsidian Hybrid Search — это готовый MCP-сервер, который понимает Model Context Protocol «из коробки». Вам не нужно писать адаптер, как в случае с LlamaIndex. Просто запустил ohs serve — и любой MCP-агент уже видит ваш vault.

Ставим за 2 минуты

Установка через npm (или pip, зависит от версии):

# Через npm (рекомендуется)
npm install -g @obsidian-hybrid-search/cli

# Или через pip, если предпочитаете Python-экосистему
pip install obsidian-hybrid-search

Затем проиндексируйте свой vault (путь к Obsidian vault):

ohs index --vault /path/to/your/vault

По умолчанию индексация занимает несколько секунд на 1000 заметок. После этого можно запустить MCP-сервер:

ohs serve

Сервер будет слушать на порту 3000 по умолчанию. Теперь любой MCP-агент (Claude Code, Cursor, Codex CLI) может подключиться к нему.

Живой пример: Claude Code ищет ваши старые идеи

Допустим, я хочу, чтобы Claude Code нашел заметки, связанные с «нейросеть для генерации музыки», которые я писал полгода назад. При этом точные слова «нейросеть генерация музыка» могут и не встречаться — в заметках могло быть «AI music generation» или «превращаю мелодии через transformer».

Запускаем Claude Code и даём ему MCP-инструмент:

# В Claude Code прописываем конфиг MCP:
# ~/.claude/config.json или через .mcp файл
{
  "mcpServers": {
    "obsidian-hybrid": {
      "type": "obsidian-hybrid-search",
      "url": "http://localhost:3000"
    }
  }
}

Теперь Claude может выполнять поиск через инструмент hybrid_search. Я пишу промпт:

«Найди в моих заметках всё, что связано с генерацией музыки нейросетями. Покажи 5 релевантных заметок с краткими выдержками».

Claude вызывает hybrid_search с query="AI music generation deep learning transformer", и Obsidian Hybrid Search возвращает список заметок, ранжированных по гибридной релевантности. Агент читает содержимое через get_note_content и выдаёт ответ. Всё локально, без утечки данных.

💡 Если вы используете Codex CLI, как мы описывали в гиде по Codex CLI, интеграция происходит аналогично: добавьте MCP-сервер в codex.config.json.

Кому это реально нужно?

  • Владельцы больших vault (от 500 заметок). Когда поиск «по Ctrl+F» перестаёт спасать, а вы помните только «там была статья про то, как...» — семантический поиск вывозит.
  • Разработчики AI-агентов. Если вы строите агента на MCP (Claude Code, Cursor, самописного через MCP и саб-агентов) и хотите дать ему доступ к вашей личной базе знаний, это самый быстрый и безопасный способ.
  • Пользователи, которые заботятся о конфиденциальности. Все эмбеддинги вычисляются на вашем железе. Даже если вы используете MCP-агент в облаке (через Cursor), сам поиск остаётся локальным — агент только шлёт текст запроса.
  • Все, кто устал от «пустых рук» LLM. Вместо того чтобы тратить время на формулировку идеальных промптов, вы даёте агенту доступ к своим архивным заметкам, и он сам находит контекст. Это особенно полезно, если вы параллельно используете подход суб-агентов, как в статье Owlex — один из агентов может быть выделен под поиск по знаниям.
⚠️
Не делайте так: не пытайтесь скормить весь vault агенту одним куском. Ограничение контекста LLM — 128k токенов (Claude 4 Opus на 29.05.2026) или около 400 страниц текста. Для vault в десятки тысяч страниц это бесполезно. Гибридный поиск решает проблему, находя только релевантные куски.

Подводные камни: что может пойти не так

Как и любой инструмент, этот не идеален. Мои наблюдения после недели использования:

  • Первая индексация требует скачивания модели SentenceTransformers (~90 МБ). Если вы на медленном интернете, готовьтесь подождать.
  • Память: при большом vault (>10k файлов) процесс может съедать до 2 ГБ RAM из-за хранения эмбеддингов в памяти. Но это только если вы оставили сервер включенным. Для CLI-режима память освобождается.
  • Не все языки одинаково хороши: модель по умолчанию обучена на английском. Для русского текста рекомендую заменить на intfloat/multilingual-e5-small или sentence-transformers/paraphrase-multilingual-MiniLM-L12-v2. Это легко делается через флаг --model при индексации.

Если выстроить процесс грамотно, как мы советовали в статье про сжатие латентности поиска, эти издержки становятся незначительными на фоне выигрыша в точности.

Совет напоследок: не ищите слова, ищите смысл

Obsidian Hybrid Search — это не просто утилита. Это способ сказать своему AI-агенту: «Вот моя база знаний, разбирайся». Если вы до сих пор использовали для RAG внешние поисковики вроде Tavily или Bing (о чём мы писали в статье про самодельный поиск), то для личных заметок такой подход избыточен и небезопасен. Obsidian Hybrid Search остаётся за вашим файрволом.

Попробуйте. Настройте MCP-интеграцию с Claude Code или Cursor, и вы увидите, как агент перестанет «высасывать из пальца» ответы и начнёт опираться на ваши собственные наработки. А когда натренируетесь на поиске, можно расширить систему до полноценного агентного пайплайна, как в статье про локальные агентные AI.

Подписаться на канал