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

Собственный MCP-сервер превращает ИИ-агента из «болталки с памятью на один сеанс» в инструмент, который ищет по всему вашему коду и переписке локально, без облака и без передачи данных на сторону.
Русскоязычный разработчик под ником поделился рабочим рецептом: он написал MCP протокол для локального семантического поиска и подключил его к агенту в среде Windsurf/Cascade. Результат: агент находит нужные паттерны, конфиги и куски кода по смыслу запроса, а не по точному совпадению строк. Весь сервер собирается в один бинарник и не требует облачных зависимостей.
Зачем это нужно автору и разработчику?
Если вы переиспользуете одни и те же паттерны, конфиги или фрагменты кода в разных проектах, искать их вручную или grep-ом по десяткам папок неудобно. MCP протокол с семантическим поиском решает это: агент принимает запрос на естественном языке и возвращает релевантные блоки кода или фрагменты прошлых диалогов.
Всё хранится локально: данные не уходят в облако, а значит, подходит тем, кто работает с закрытым кодом или просто не хочет зависеть от внешних API.
Что понадобится?
- Windsurf/Cascade или другая среда, поддерживающая MCP-серверы
- Ollama (локальный фреймворк для запуска моделей, включая эмбеддинг-модели) или платное API для эмбеддингов (embedding, преобразование текста в числовой вектор для поиска по смыслу)
- Компилятор для сборки бинарника (Go, Rust или другой язык, в зависимости от реализации)
- Локальная директория с вашими проектами
- 30 минут на настройку, плюс время на первую индексацию (зависит от объёма кода)
Пошаговая инструкция
-
Выберите директорию для индексации. Укажите корневую папку, где лежат ваши проекты. Сервер будет рекурсивно обходить файлы внутри неё.
-
Разбейте код на смысловые блоки. Парсер должен нарезать файлы не построчно, а по структурным единицам: функции, классы, структуры, конфиги. Чем точнее нарезка, тем релевантнее результаты поиска.
-
Настройте эмбеддинг-модель. Для локальной работы подключите модель через Ollama. Пример запуска Ollama с моделью эмбеддингов:
ollama pull nomic-embed-text
ollama serve
Если нужна скорость выше или объём данных большой, можно использовать платное API (например, OpenAI Embeddings), но тогда данные пойдут через облако.
-
Запустите индексацию. Сервер берёт каждый блок кода, прогоняет через эмбеддинг-модель и сохраняет векторы локально. Индексация идёт в фоне. При первом запуске на большой кодовой базе процесс может занять ощутимое время: десятки минут для сотен файлов.
-
Подключите MCP-сервер к агенту. В настройках Windsurf/Cascade укажите путь к бинарнику вашего MCP-сервера. После подключения агент получит доступ к инструменту семантического поиска.
-
Проверьте поиск. Задайте агенту вопрос на естественном языке, например: «Найди все места, где я парсю 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-сервер экономит часы рутинного поиска в неделю.
Я вижу в этом подходе главную ценность не в самом семантическом поиске, он существовал и раньше, а в том, что MCP-сервер подключается к агенту как инструмент. Агент сам решает, когда обратиться к вашему коду, и сам формулирует запрос. Это отличает MCP от обычного grep или поиска по IDE: вы не ищете, вы спрашиваете. По моим наблюдениям, Ollama на Mac с M-чипом индексирует средний проект (200 файлов) за 5 минут, на машинах без GPU будет дольше. Честная оговорка: если ваша кодовая база меньше десятка файлов, обычный поиск по IDE справится не хуже. MCP протокол даёт выигрыш на масштабе: несколько проектов, сотни файлов, накопленные диалоги с агентом.
Попробуйте нейросети для контента на dzen.guru
Мы тестируем ИИ-инструменты и делимся рабочими сценариями для авторов и маркетологов
Перейти на dzen.guruЛокальный MCP-сервер с семантическим поиском собирается за вечер, работает без облака и превращает ИИ-агента из собеседника в полноценного напарника, который помнит весь ваш код.

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

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

95% ИИ-пилотов не окупаются: платформы генеративного ИИ решают проблему «зоопарка»
Компании по всему миру тестируют генеративный ИИ, но 95% пилотных проектов так и не выходят на окупаемость, и главная причина не в технологиях, а в архитектуре…

LLM költségek в продакшене: как JobPath сократил счёт с $2000 до $29 в месяц
Пост-обработка вакансий в продакшене обходится командам дорого, и реальный кейс JobPath показывает, как перейти с дорогой модели на дешёвую без потери…
Комментарии