Skip to content

v1.8.0 — аннотации, плагины Claude Code, навыки, воронки GA4

Latest

Choose a tag to compare

@antohins antohins released this 25 Aug 14:17
· 3 commits to main since this release

Восьмой релиз: инструменты научились честно рассказывать о себе, появился маркетплейс плагинов 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 ID G-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 МБ, зависимости внутри). Скачать нужный и открыть двойным кликом.