Skip to main content
Glama
gustavomkt

mcp-tagmanager

by gustavomkt

Google Tag Manager MCP

Выделенный MCP-коннектор для Tag Manager, построенный по тому же принципу, что и "Gustavo google ads- mcp": каждое действие явно запрашивает аккаунт / контейнер / рабочую область (или версию) — ничего неявного, — а действия, влияющие на продакшн (поставить тег на паузу, опубликовать версию), требуют confirm=true. Это заменяет прежний подход "открой Chrome и читай с экрана", который был самой хрупкой вкладкой панели, поскольку зависел от веб-интерфейса, а не от типизированного API.

Стоимость: Tag Manager API бесплатен (без комиссии Google при обычном использовании). Он разворачивается как второй бесплатный веб-сервис на Render, так же, как и "Gustavo google ads- mcp" — тот же план, та же стоимость (ноль), что у вас уже есть сегодня.

Как организованы учётные данные (стандартизированный шаблон)

Этот сервер НЕ использует файл token.json в продакшене — он использует переменные окружения, как и остальные ваши коннекторы на Render:

  • GOOGLE_ADS_CLIENT_ID / GOOGLE_ADS_CLIENT_SECRET — переиспользуются, это тот же OAuth-клиент, который уже использует "Gustavo google ads- mcp". Создавать новый клиент для каждого инструмента не нужно.

  • GTM_REFRESH_TOKEN — единственное новое значение, специфичное для Tag Manager.

Если когда-нибудь вы захотите отдельный OAuth-клиент только для Tag Manager, можно задать GTM_CLIENT_ID / GTM_CLIENT_SECRET, и они будут иметь приоритет над клиентами Google Ads.

Related MCP server: Samarth GTM MCP Server

1. Загрузите код на GitHub

  1. Репозиторий уже создан: github.com/gustavomkt/mcp-tagmanager (публичный).

  2. Загрузите все файлы из этой папки кроме client_secret.json, token.json и .flow_state.json (они нужны только для локального тестирования; их никогда нельзя загружать — .gitignore уже их исключает).

2. Разверните на Render

  1. Render → New → Web Service → подключите репозиторий mcp-tagmanager.

  2. Runtime: Docker (определит Dockerfile автоматически).

  3. Plan: Free.

  4. Environment Variables (добавьте их сами в панели управления Render — это учётные данные, так что я не буду их за вас заполнять):

    • GOOGLE_ADS_CLIENT_ID = то же значение, что уже есть в сервисе Google Ads.

    • GOOGLE_ADS_CLIENT_SECRET = то же значение, что уже есть в сервисе Google Ads.

    • GTM_REFRESH_TOKEN = refresh-токен, который мы уже сгенерировали для Tag Manager (я отправил его вам отдельно в чате).

  5. Create Web Service. Когда сборка завершится, скопируйте публичный URL (что-то вроде https://mcp-tagmanager.onrender.com).

3. Подключите его в Claude

Добавьте его как новый удалённый MCP-коннектор, указав URL Render из предыдущего шага (с /mcp в конце, напр. https://mcp-tagmanager.onrender.com/mcp — это стандартная конечная точка streamable-http). После подключения сообщите мне, и я обновлю вкладку Tag Manager на панели управления, чтобы она использовала эти реальные инструменты вместо инструкций на основе браузера.

Альтернатива: локальный запуск с файлом (без Render)

Если вы когда-нибудь захотите запустить его на своём ноутбуке вместо Render:

pip install -r requirements.txt
python auth_setup.py   # una vez, abre tu navegador
python server.py       # sin PORT definido, corre por stdio

server.py сначала ищет GTM_REFRESH_TOKEN + client_id/secret в переменных окружения; если их нет, возвращается к token.json.

Доступные инструменты

Чтение (ничего не меняют):

  • list_accounts()

  • list_containers(account_id)

  • list_workspaces(account_id, container_id)

  • list_tags(account_id, container_id, workspace_id)

  • get_tag(account_id, container_id, workspace_id, tag_id)

  • list_triggers(account_id, container_id, workspace_id)

  • list_variables(account_id, container_id, workspace_id)

  • audit_workspace(account_id, container_id, workspace_id) — теги без триггеров, триггеры без тегов, возможные дубликаты и настроен ли Consent Mode. Это надёжная версия того, что раньше мы просили Claude в Chrome "считать с экрана и угадать".

  • list_versions(account_id, container_id)

Запись (требуют confirm=true):

  • pause_tag(...) / resume_tag(...) — приостанавливает или возобновляет тег в рабочей области. Не публикует контейнер.

  • create_version(...) — создаёт версию из рабочей области. Не публикует.

  • publish_version(account_id, container_id, version_id, confirm=true) — публикует версию (отправляет в продакшн). Используйте также для отката: передайте version_id более ранней версии из list_versions.

Примечания по стабильности

  • Каждый вызов Google API обёрнут в обработку ошибок, которая возвращает понятное сообщение ({"ok": false, "error": "..."}) вместо того, чтобы обрывать MCP-соединение без объяснения причин — именно такой тихий сбой был причиной того, почему другие коннекторы "падали" без предупреждения.

  • Токен автоматически обновляется при каждом вызове с помощью refresh-токена; если однажды он будет отозван (смена пароля, ручной отзыв в myaccount.google.com), об ошибке будет явно сказано, и потребуется только сгенерировать новый GTM_REFRESH_TOKEN.

  • Поскольку это бесплатный веб-сервис Render, он "засыпает" после некоторого времени бездействия, и первый вызов после этого занимает ~50 секунд — так же, как и "Gustavo google ads- mcp" сегодня. Это наиболее вероятная причина, по которой коннекторы кажутся "упавшими": это не ошибка, а холодный старт бесплатного плана. Если вы когда-нибудь захотите устранить эту задержку, единственный способ — платный план на Render; решать вам, я не буду менять это без вашего запроса.

Related MCP Connectors

Related MCP Servers

  • A
    license
    A
    quality
    D
    maintenance
    MCP server for Google Tag Manager API, enabling users to manage containers, tags, and triggers through natural language using Google Application Default Credentials.
    18
    17 npm
    Apache 2.0
  • A
    license
    B
    quality
    A
    maintenance
    Production-grade MCP server for the Google Tag Manager API v2 with read-only GA4 (Admin + Data API) tooling. 107 tools covering the full GTM surface, including server-side containers. Ships read-only: writes, publishes, and deletes are each gated behind separate opt-in flags, every mutation requires per-call confirmation, and a dry-run mode simulates changes. Includes container audits
    100
    121 npm
    2
    MIT
  • A
    license
    A
    quality
    B
    maintenance
    MCP server for Google Tag Manager and GA4, enabling tag management, consent auditing, workspace versioning, and analytics reporting through natural language.
    11
    72 npm
    2
    MIT
  • A
    license
    Not graded
    quality
    B
    maintenance
    MCP server for Google Tag Manager API v2, enabling programmatic management of accounts, containers, workspaces, tags, triggers, variables, and version workflows.
    57 npm
    15
    MIT