Проверка позиций сайта в Claude Code и Codex через MCP

· MCP · позиции

Классический съём позиций выглядит так: открыть сервис, загрузить запросы, подождать, выгрузить CSV, открыть таблицу. Пять действий ради одной цифры. Если вы и так полдня проводите в Claude Code или Codex, эти действия можно выкинуть. Подключаете наш MCP-сервер и пишете прямо в чате: «на какой позиции mysite.ru по запросу „купить ноутбук“ в Москве». Агент сам дёрнет поиск и ответит номером.

Что здесь вообще происходит

MCP — это протокол, по которому ИИ-агенты подключаются к внешним инструментам. Наш сервер живёт по адресу https://jsonseo.ru/mcp и отдаёт агенту тот же поиск, что и обычный API: Яндекс, Google, Bing. Ключ тот же, баланс общий, страница выдачи стоит те же 0.01 ₽. Отдельной подписки «для ИИ» не существует: если есть аккаунт, всё уже готово.

Подключение в Claude Code

Одна команда в терминале:

claude mcp add --transport http jsonseo https://jsonseo.ru/mcp --header "Authorization: Bearer ВАШ_API_КЛЮЧ"

Ключ лежит в личном кабинете. После перезапуска Claude Code увидит инструменты сервера и начнёт вызывать их сам, когда вопрос касается выдачи. Никаких конфигов руками править не нужно.

Подключение в Codex

Тут ключ передаётся через переменную окружения, чтобы не светить его в конфиге:

export JSONSEO_API_KEY=ВАШ_API_КЛЮЧ
codex mcp add jsonseo --url https://jsonseo.ru/mcp --bearer-token-env-var JSONSEO_API_KEY

Дальше всё то же самое: вы спрашиваете про позиции, а Codex ходит в поиск за вас.

Какие инструменты получает агент

Инструмент Что возвращает
yandex_search, google_search, bing_search Выдачу целиком: позиции, заголовки, сниппеты, URL
Те же, с compact=true Только позицию, домен и URL по каждому результату
yandex_position, google_position, bing_position Один номер: позицию домена в выдаче
yandex_regions, google_regions Код региона по названию города. Бесплатно

Как выглядит диалог

Примерно так. Вы пишете:

Проверь, на каких позициях jsonseo.ru в Яндексе по запросам
«api выдачи яндекса», «парсинг выдачи google» и «xml выдача».
Регион: Москва.

Агент трижды вызывает yandex_position с lr=213 и через несколько секунд отвечает списком: по первому запросу такая-то позиция, по второму такая-то, по третьему домена в выдаче нет. Ни выгрузок, ни таблиц, ни переключения окон. Если попросить, тут же объяснит, по какому из запросов стоит смотреть конкурентов, и сам их посмотрит.

Работает это не только с Яндексом: у агента есть google_search и bing_search с теми же возможностями, так что позиции в трёх поисковиках сравниваются одним промптом.

Зачем столько вариантов одного и того же

Из-за токенов. Выдача Яндекса на пару страниц со сниппетами — это заметный кусок JSON, и агент честно прочитает его весь, потратив контекст на текст, который вам не нужен. Если задача звучит как «на каком месте сайт», правильный выбор yandex_position или google_position: в ответе одно число, контекст почти не тратится. Нужен обзор конкурентов в топе? Берите compact=true. А полный ответ со сниппетами имеет смысл, когда вы просите агента проанализировать, чем тексты конкурентов отличаются от вашего.

Модели обычно сами выбирают экономный вариант, но подсказать в промпте не вредно.

Регионы

Позиция без региона мало что значит, про это у нас есть отдельный разбор. Хорошая новость: коды городов агенту зубрить не нужно. Он вызывает yandex_regions или google_regions, находит, что Москва в Яндексе — это lr=213, а в Google 1011969, и подставляет код в следующий запрос. Оба справочника бесплатные, с баланса за них не списывается ничего.

Куда девается ключ

Заметьте: в обоих вариантах подключения ключ не попадает в текст диалога. Claude Code шлёт его заголовком Authorization: Bearer при каждом обращении к серверу, Codex читает из переменной окружения JSONSEO_API_KEY. Модель ключа не видит и в истории чата он не всплывёт. Если ключ всё-таки засветился где-то ещё, перевыпустите его в кабинете: старый перестанет работать, а настройку MCP достаточно обновить одной командой.

Что это даёт на практике

Промпты вида «проверь позиции jsonseo.ru по этим двадцати запросам в Москве и Питере, сведи в таблицу и отметь, где мы ниже десятого места» перестают быть фантастикой. Агент прогонит запросы через yandex_position, сам разрулит коды регионов и отдаст готовую сводку. Можно пойти дальше и попросить сохранить результат в файл проекта, чтобы через неделю сравнить динамику.

Считается это по обычному тарифу: 10 ₽ за 1000 страниц выдачи. Проверка позиции по одному запросу в одном регионе обойдётся от одной копейки. При регистрации на баланс падают 10 ₽, так что первую тысячу проверок вы сделаете бесплатно и успеете понять, прижился ли такой формат работы.

Полный список инструментов с параметрами смотрите в документации по MCP. Если агентский сценарий не ваш и нужен обычный HTTP, начните со статьи про парсинг выдачи через JSON API.


Читайте дальше