Восьмой релиз: инструменты научились честно рассказывать о себе, появился маркетплейс плагинов Claude Code с навыками, тесты дошли до собранных артефактов, а GA4 закрыл разрыв с возможностями Analytics API.
Установка в один клик
Claude Code — маркетплейс плагинов, один источник = один плагин:
claude plugin marketplace add antohins/seo-tools-mcp
claude plugin install ga4@seo-tools-mcpДоступны xmlstock, xmlriver, wordstat, gsc, ga4, ywm, metrika, aparser и бандл seo-tools (все восемь сразу). Ключи спрашиваются диалогом при установке; помеченные секретными уходят в системное хранилище, а не в settings.json.
Claude Desktop — .mcpb ниже, двойным кликом.
Что нового
Аннотации инструментов
Все 101 инструмент теперь машиночитаемо объявляют, что делают: readOnlyHint, openWorldHint и человекочитаемый title. Клиенты перестают спрашивать подтверждение на безопасные вызовы.
Важная деталь: read-only заявлен не всем. Его нет у 18 инструментов, которые пишут в конфиг (set_credentials, OAuth-потоки), и у 20, каждый вызов которых тратит платный ресурс — запросы к XMLStock/XMLRiver и задачи A-Parser, жгущие прокси-трафик. Иначе клиент счёл бы их безобидными и перестал спрашивать перед прогоном по пулу из сотен ключей. У платных ещё idempotentHint: false: повтор стоит ещё раз.
Маркетплейс плагинов и навыки
Девять плагинов, у каждого свои навыки — процедурные инструкции по своему источнику: как не сжечь баланс на снятии позиций, почему широкая частотность Вордстата завышает трафик в разы, отчего GA4 молча отдаёт нули, чем усреднённая позиция GSC отличается от снятой из выдачи, как читать Вебмастер вместе с Метрикой. В контексте — ~110 токенов на навык, тело подгружается при срабатывании.
Бандл ставит всё сразу, но это ~100 инструментов в каждой сессии: если работаешь с двумя источниками, ставь два плагина.
GA4: воронки, аннотации, карточка свойства, квота
ga4_funnel— сколько пользователей дошло до каждого шага и где отвалились, с разбивкой по измерению.ga4_annotations— пометки на датах, включая созданные самой GA4: обычно это и есть ответ на «почему тут скачок».ga4_property_details— таймзона отчётов, валюта, уровень сервиса и потоки данных с их Measurement IDG-XXXXXXX.includeQuotaво всех отчётах — сколько «токенов» Data API съел запрос и сколько осталось.
Две ловушки воронок забраны внутрь: шаги используют схему Exploration API (pagePath там отвергается), а при разбивке GA4 подмешивает к каждому шагу строку-итог, неотличимую от обычного значения — сумма по шагу удваивалась бы. Всё проверено на живом свойстве.
Тесты по протоколу
pnpm test:e2e поднимает все восемь собранных серверов как stdio-процессы и опрашивает настоящим MCP-клиентом: рукопожатие, точный список инструментов, title и аннотации. Раньше 563 теста били по исходникам, а в npm уезжает dist — этот разрыв уже приводил к бандлам, которые не стартовали.
Исправления
- Неподставленный плейсхолдер хоста (
${user_config.KEY}) больше не принимается за ключ: непустая строка шаблона проходила бы за настоящий и давалаreadyпри неработающей авторизации. ga4_property_detailsбольше не выдаёт сбой запроса потоков за «у свойства нет Measurement ID».ga4_annotationsотвергает ключевые слова дат локально — за ним Admin API, который понимает толькоYYYY-MM-DD.ga4_funnelне утверждает полноту там, где API её не сообщает.- Гейты
version:checkиplugins:checkв CI: версия дублируется в 42 местах, каталогplugins/целиком генерируется из спеки.
Полный список — CHANGELOG.md.
Файлы
.mcpb — самодостаточные бандлы для Claude Desktop (~0.2 МБ, зависимости внутри). Скачать нужный и открыть двойным кликом.