Игорь Градов
Игорь Градов
5 мин
ai

Свой MCP-протокол за 30 минут: локальный семантический поиск по всей кодовой базе

Протокол MCP (Model Context Protocol) позволяет ИИ-агенту обращаться к вашим локальным данным, коду и истории диалогов, но готовые реализации заточены под чужие сценарии, а собственный MCP-сервер для семантического поиска по своей кодовой базе до сих пор остаётся задачей, которую каждый решает с нуля.

Свой MCP-протокол за 30 минут: локальный семантический поиск по всей кодовой базе
Почему это важно

Собственный MCP-сервер превращает ИИ-агента из «болталки с памятью на один сеанс» в инструмент, который ищет по всему вашему коду и переписке локально, без облака и без передачи данных на сторону.

Русскоязычный разработчик под ником поделился рабочим рецептом: он написал MCP протокол для локального семантического поиска и подключил его к агенту в среде Windsurf/Cascade. Результат: агент находит нужные паттерны, конфиги и куски кода по смыслу запроса, а не по точному совпадению строк. Весь сервер собирается в один бинарник и не требует облачных зависимостей.

Зачем это нужно автору и разработчику?

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

Всё хранится локально: данные не уходят в облако, а значит, подходит тем, кто работает с закрытым кодом или просто не хочет зависеть от внешних API.

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

  • Windsurf/Cascade или другая среда, поддерживающая MCP-серверы
  • Ollama (локальный фреймворк для запуска моделей, включая эмбеддинг-модели) или платное API для эмбеддингов (embedding, преобразование текста в числовой вектор для поиска по смыслу)
  • Компилятор для сборки бинарника (Go, Rust или другой язык, в зависимости от реализации)
  • Локальная директория с вашими проектами
  • 30 минут на настройку, плюс время на первую индексацию (зависит от объёма кода)

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

  1. Выберите директорию для индексации. Укажите корневую папку, где лежат ваши проекты. Сервер будет рекурсивно обходить файлы внутри неё.

  2. Разбейте код на смысловые блоки. Парсер должен нарезать файлы не построчно, а по структурным единицам: функции, классы, структуры, конфиги. Чем точнее нарезка, тем релевантнее результаты поиска.

  3. Настройте эмбеддинг-модель. Для локальной работы подключите модель через Ollama. Пример запуска Ollama с моделью эмбеддингов:

ollama pull nomic-embed-text
ollama serve

Если нужна скорость выше или объём данных большой, можно использовать платное API (например, OpenAI Embeddings), но тогда данные пойдут через облако.

  1. Запустите индексацию. Сервер берёт каждый блок кода, прогоняет через эмбеддинг-модель и сохраняет векторы локально. Индексация идёт в фоне. При первом запуске на большой кодовой базе процесс может занять ощутимое время: десятки минут для сотен файлов.

  2. Подключите MCP-сервер к агенту. В настройках Windsurf/Cascade укажите путь к бинарнику вашего MCP-сервера. После подключения агент получит доступ к инструменту семантического поиска.

  3. Проверьте поиск. Задайте агенту вопрос на естественном языке, например: «Найди все места, где я парсю JSON-конфиг» или «Покажи, как я обрабатывал ошибки в прошлом проекте». Агент обратится к MCP-серверу, получит релевантные блоки и покажет результат.

Второй MCP: браузер без Node.js

Автор также описал второй MCP-сервер, который управляет браузером Chrome через CDP (Chrome DevTools Protocol, протокол для программного управления браузером). Он работает как Playwright (популярный инструмент для автоматизации браузера), но без зависимостей от Node.js и расширений.

Возможности: навигация по страницам, клики, заполнение форм, снятие скриншотов, инспекция сетевых запросов и консоли, исполнение JS-скриптов. Всё собрано в один бинарник.

Для запуска достаточно:

  • Chrome с включённым CDP
  • Бинарник MCP-сервера
chrome --remote-debugging-port=9222

После этого агент через MCP получает полный контроль над браузером.

Как это выглядит на практике

Вы подключили MCP-сервер к Windsurf/Cascade. В чате с агентом пишете: «Найди, где я использовал паттерн retry с exponential backoff». Агент обращается к MCP-серверу, тот ищет по эмбеддингам среди всех ваших проектов и возвращает три блока кода из разных репозиториев, отсортированные по релевантности. Вы копируете нужный фрагмент в текущий проект. Вся операция заняла секунды, а не 15 минут ручного поиска по папкам.

Частые ошибки
  • Пропустить первую индексацию. Она занимает время, и если вы прервёте процесс, поиск будет неполным. Дождитесь завершения.
  • Слишком крупные блоки при нарезке. Если парсер отдаёт целые файлы вместо функций и классов, эмбеддинги теряют точность, и поиск возвращает нерелевантные результаты.
  • Забыть про обновление индекса. Добавили новый проект или изменили старый код, а индекс остался прежним. Настройте переиндексацию при изменениях или запускайте её вручную.
  • Использовать облачное API для закрытого кода. Если данные конфиденциальны, оставайтесь на локальной модели через Ollama. Платное API удобнее, но отправляет код на внешний сервер.

Что делать с этим прямо сейчас?

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

Автору Дзена и копирайтеру: MCP протокол пока инструмент для разработчиков, но принцип «агент ищет по вашим данным» скоро появится в привычных редакторах. Следите за тем, как среды вроде Cursor и Windsurf добавляют поддержку MCP, и вы сможете подключить поиск по своим черновикам и заметкам.

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

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

Я вижу в этом подходе главную ценность не в самом семантическом поиске, он существовал и раньше, а в том, что MCP-сервер подключается к агенту как инструмент. Агент сам решает, когда обратиться к вашему коду, и сам формулирует запрос. Это отличает MCP от обычного grep или поиска по IDE: вы не ищете, вы спрашиваете. По моим наблюдениям, Ollama на Mac с M-чипом индексирует средний проект (200 файлов) за 5 минут, на машинах без GPU будет дольше. Честная оговорка: если ваша кодовая база меньше десятка файлов, обычный поиск по IDE справится не хуже. MCP протокол даёт выигрыш на масштабе: несколько проектов, сотни файлов, накопленные диалоги с агентом.

Попробуйте нейросети для контента на dzen.guru

Мы тестируем ИИ-инструменты и делимся рабочими сценариями для авторов и маркетологов

Перейти на dzen.guru

Локальный MCP-сервер с семантическим поиском собирается за вечер, работает без облака и превращает ИИ-агента из собеседника в полноценного напарника, который помнит весь ваш код.

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

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

Комментарии

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

Бот QuotaRadar отслеживает сброс API лимитов Codex и Claude Code через Telegram
ai

Бот QuotaRadar отслеживает сброс API лимитов Codex и Claude Code через Telegram

Почему это важно Русскоязычные разработчики, работающие с Codex и Claude Code, теперь могут узнавать о сбросе API лимитов через Telegram, а не вручную…

4 мин
95% ИИ-пилотов не окупаются: платформы генеративного ИИ решают проблему «зоопарка»
ai

95% ИИ-пилотов не окупаются: платформы генеративного ИИ решают проблему «зоопарка»

Компании по всему миру тестируют генеративный ИИ, но 95% пилотных проектов так и не выходят на окупаемость, и главная причина не в технологиях, а в архитектуре…

5 мин
LLM költségek в продакшене: как JobPath сократил счёт с $2000 до $29 в месяц
ai

LLM költségek в продакшене: как JobPath сократил счёт с $2000 до $29 в месяц

Пост-обработка вакансий в продакшене обходится командам дорого, и реальный кейс JobPath показывает, как перейти с дорогой модели на дешёвую без потери…

6 мин