MCP Exa: поиск, который понимает смысл
Как подключить Exa MCP к Claude Code и почему это must-have инструмент для вайбкодера
Что это
Exa — поисковик для AI-агентов. Не для тебя — для агента. Ты подключаешь MCP-сервер один раз, и дальше агент сам решает когда ему нужно загуглить: натыкается на ошибку, встречает незнакомый API, нужна свежая документация — он идёт и ищет. Без твоего участия.
Разница с обычным поиском: Google ищет по ключевым словам, Exa ищет по смыслу. Агент формулирует длинный семантический запрос на естественном языке — и получает чистый контент, готовый к обработке.
Зачем вайбкодеру
Без Exa агент работает вслепую. Спрашиваешь про настройку Hugo — а он отвечает из памяти, обрезанной на дате обучения (у Claude Opus 4.6 это май 2025). Всё, что появилось после — агент не знает. Exa закрывает этот разрыв: агент идёт и смотрит актуальную документацию прямо сейчас.
Три инструмента в одном MCP-сервере:
┌─────────────────────┐
│ Exa MCP │
├─────────────────────┤
│ web_search_exa │──▶ Веб-поиск по смыслу
│ get_code_context │──▶ Код, доки, Stack Overflow
│ company_research │──▶ Информация о компаниях
└─────────────────────┘
Агент сам выбирает нужный инструмент под задачу:
web_search_exa — основной. Агент использует его для статей, документации, best practices. Формулирует длинные запросы на естественном языке — целыми предложениями.
get_code_context_exa — для кода. Агент переключается на него, когда нужны примеры с GitHub, Stack Overflow, из официальных доков.
company_research_exa — для бизнес-информации. Новости компании, продукты, позиционирование на рынке.
Чем Exa отличается от обычного поиска
Google заточен под короткие запросы из 2-3 слов от живых людей. Exa — под длинные семантические вопросы от AI-агентов. Это разные задачи, разные архитектуры.
| Google/WebSearch | Exa | |
|---|---|---|
| Запрос | Ключевые слова | Полное предложение |
| Результат | Ссылки + сниппеты | Чистый текст для LLM |
| Реклама | Да | Нет |
| Скорость | ~500ms | ~150ms (Instant mode) |
| Оптимизация | Для людей | Для AI-агентов |
Под капотом Exa использует нейросетевой поиск — embeddings вместо keyword matching. На практике это значит: запрос “как сортировать страницы Hugo по дате последнего обновления” найдёт релевантные результаты, даже если на странице нет точной фразы “сортировать страницы Hugo”.
В бенчмарке SimpleQA от OpenAI Exa входит в топ поисковых API по точности для AI-задач, наравне с Linkup и другими специализированными поисковиками.
Как подключить
Вариант 1: Hosted MCP (рекомендуется)
Самый простой способ — hosted сервер от Exa. Не нужен API-ключ, не нужен npm.
claude mcp add --transport http exa https://mcp.exa.ai/mcp
Одна команда. Перезапускаешь Claude Code — Exa работает.
Вариант 2: Локальный через npm
Если нужен контроль или кастомизация:
- Получи API-ключ на dashboard.exa.ai
- Добавь в
~/.claude.json:
{
"mcpServers": {
"exa": {
"command": "npx",
"args": ["-y", "exa-mcp-server"],
"env": {
"EXA_API_KEY": "your-api-key"
}
}
}
}
- Перезапусти Claude Code полностью.
Проверка
claude mcp list
В списке должен появиться exa с тремя инструментами.
Как я использую
Чаще всего — никак. Подключил один раз, и агент сам пользуется Exa когда ему нужно. Встретил ошибку при деплое — сам пошёл искать. Нужна актуальная документация — сам нашёл. Я вижу это в логе сессии: агент вызывает web_search_exa или get_code_context_exa, получает результаты и продолжает работу.
Но иногда я хочу явно запустить research. Для этого у меня есть промпт на быстрой кнопке:
проведи комплексное исследование на предмет лучших практик для этой проблемы используя exa mcp сегодня Feb 13, 2026
Жму кнопку — агент берёт контекст текущей сессии и сам формирует запросы. Указание даты важно: без неё агент может вернуть устаревшие результаты. “Сегодня Feb 13, 2026” — подсказка искать актуальное.
Что агент делает сам: примеры из логов
Поиск по документации Hugo. Я настраивал сортировку страниц по дате обновления на context.lat. Агент сам полез в Exa — сначала через web_search_exa за best practices:
"Hugo static site lastmod sort by last modified date best practices 2025 2026"
Потом сам переключился на get_code_context_exa за конкретными примерами кода:
"Hugo sort pages by lastmod date show recently updated content homepage"
Я не просил его искать. Он увидел задачу, понял что нужна свежая информация, и сам выбрал инструменты.
Troubleshooting деплоя. enableGitInfo не работал на Vercel из-за shallow clone. Агент натолкнулся на ошибку и сам сформировал запрос:
"Vercel Hugo enableGitInfo shallow clone git history deploy"
Связка из нескольких технологий в одном запросе — агент сам догадался объединить. Нашёл решение и применил.
Бизнес-исследование. Я думал над стратегией для онлайн-курса — как работать с returning students. Нажал кнопку research, и агент через Exa нашёл стратегии и pricing модели:
"online course alumni access to updated materials best practices pricing strategy"
Тот же Exa, но совсем другая задача. Агент сам понял что искать — от технических доков до бизнес-стратегий.
Что агент делает под капотом
Всё это происходит автоматически — агент сам выбирает паттерн под задачу. Но полезно понимать логику, чтобы знать чего ожидать.
Добавляет год к запросам
"Hugo lastmod enableGitInfo 2026"
Без года Exa может вернуть статью 2023 года с устаревшим API. Агент обычно добавляет год сам, но промпт с датой на быстрой кнопке подстраховывает.
Комбинирует технологии в одном запросе
"Vercel Hugo enableGitInfo shallow clone"
Когда проблема на стыке двух инструментов — агент объединяет их в один запрос. Exa понимает контекст связки.
Переключается между инструментами
web_search_exa → статьи, best practices, сравнения
get_code_context → примеры кода, конфиги, API-доки
company_research → бизнес-информация о компании
Агент сам решает, какой инструмент использовать. Нужна документация — web_search_exa. Нужен код — get_code_context_exa. Часто использует оба последовательно: сначала понять подход, потом найти код.
Регулирует объём
Параметр numResults для веб-поиска:
- 3 — узкий технический вопрос с точным ответом
- 5 — стандартный поиск документации
- 8 — широкий research, когда нужна картина целиком
Параметр tokensNum для поиска кода:
- 3000 — конкретная функция или конфиг
- 5000 — стандартный размер для примеров
- 8000 — комплексная документация с контекстом
Агент подбирает эти числа сам, исходя из задачи.
Как помочь агенту искать лучше
Агент делает всё сам, но ты можешь направить его.
Подсказывай дату
Агент обычно добавляет год сам. Но промпт на быстрой кнопке с “сегодня Feb 13, 2026” — страховка. Без даты может прилететь статья 2023 года с устаревшим API.
Давай контекст задачи
Чем больше агент понимает про задачу, тем точнее сформирует запрос. Exa понимает семантику — длинные вопросы работают лучше коротких ключевых слов.
Используй субагентов для тяжёлого research
Один поиск Exa может вернуть 15-20KB текста — это ощутимый кусок контекстного окна. Когда нужно комплексное исследование, агент запускает поиск через Task-субагента. Субагент получает результаты, обрабатывает, и возвращает только выжимку:
Агент (основной контекст)
│
├──▶ Task-субагент: поиск через Exa
│ └──▶ возвращает выжимку
│
└──▶ продолжает работу с чистым контекстом
Промпт на быстрой кнопке как раз это и делает — запускает комплексный research в субагенте, сохраняя основной контекст чистым.
Ограничения
- Некоторые категории (company, people) ограничивают фильтры по домену и дате
- Hosted вариант не требует ключа, но имеет rate limits — при интенсивном research можно упереться
- Результаты сильно зависят от формулировки — пробуй несколько вариаций одного запроса
- Для узкоспециальных библиотек и инструментов с маленьким комьюнити поиск будет слабым — Exa лучше работает по популярным технологиям
Частые вопросы
Нужен ли API-ключ?
Для hosted варианта (https://mcp.exa.ai/mcp) — нет. Для npm-пакета — да, ключ берётся на dashboard.exa.ai.
Exa бесплатный?
Hosted MCP-сервер (mcp.exa.ai) работает без API-ключа. Для npm-варианта нужен аккаунт на dashboard.exa.ai — есть бесплатный tier с лимитами и платные планы для интенсивного использования.
Можно подключить к Cursor или VS Code?
Да. Для Cursor — конфиг в ~/.cursor/mcp.json. Для VS Code — в .vscode/mcp.json в корне проекта. Формат JSON тот же, что и для Claude Code.
Чем Exa лучше встроенного WebSearch?
WebSearch в Claude Code — обёртка над стандартным поисковиком. Exa — нейросетевой поиск, заточенный под AI. На практике разница заметна: Exa лучше понимает длинные семантические запросы и возвращает чистый контент без рекламы и SEO-мусора. Плюс у Exa есть отдельный инструмент для поиска кода — WebSearch такого не умеет.