mcp-google-tagmanager

Servidor MCP para la API v2 de Google Tag Manager: cuentas, contenedores, espacios de trabajo, etiquetas, disparadores, variables, versiones y publicación. Para Claude, Cursor, Codex y otros clientes de IA.

Documentación

A1 Google Tag Manager MCP

Español | Русский

npm Glama CI License: MIT

A1 Google Tag Manager MCP permite que una aplicación de IA inspeccione y gestione contenedores de Google Tag Manager en lenguaje natural. Ve qué se activa en una página, trabaja con etiquetas, activadores y variables en un espacio de trabajo de borrador, y luego compila y publica deliberadamente una versión cuando estés listo.

Se conecta a la API de Google Tag Manager v2 a través de tu cuenta de Google. La diferencia con pedirle a una IA que adivine una configuración de GTM es que trabaja con el contenedor, el espacio de trabajo y la versión reales que elijas.

  • 25 herramientas. 10 operaciones solo leen datos de GTM; 4 crean borradores o cambian variables integradas; 5 pueden alterar, eliminar, compilar o publicar configuración en vivo.
  • Se conecta desde la conversación. Di "conectar Google Tag Manager": el servidor te guía a través del cliente OAuth, captura la redirección de Google en 127.0.0.1 con PKCE y guarda los tokens él mismo — sin archivos de configuración, sin reinicios.
  • Borrador primero. Las etiquetas, activadores y variables se crean en un espacio de trabajo. Publicar es una operación separada y explícitamente destructiva.
  • Consciente de cuotas. GTM permite 0.25 solicitudes por segundo por proyecto; el servidor espacia las solicitudes al menos 4.2 segundos en lugar de saturar la API.
  • Tu acceso a Google. El servidor usa tus credenciales OAuth y solicita solo los alcances de Tag Manager necesarios para leer, editar, versionar y publicar.

Comienza con una pregunta de solo lectura:

¿Qué etiquetas en mis contenedores se activan con el activador de vista de página?

Conectar el servidor · Explorar casos de uso · Abrir documentación técnica


Véalo funcionar en un minuto

Tú: Lista mis contenedores de GTM y muestra qué etiquetas se activan en la vista de página.

Asistente: Lista los contenedores, sus espacios de trabajo, activadores relevantes y las etiquetas adjuntas. No cambia nada.

Tú: En el Espacio de Trabajo Predeterminado de GTM-ABC123, prepara una etiqueta de configuración GA4 para el ID de medición G-XXXXXXX en todas las páginas.

Asistente: Muestra el espacio de trabajo, la etiqueta propuesta y la configuración del activador, luego pide confirmación antes de crear el borrador.

Tú: Confirma el borrador.

Asistente: Crea la etiqueta en el espacio de trabajo. No publica el contenedor; compilar y publicar una versión sigue siendo un paso separado.

Contenido

Inicio rápido

Necesitas Node.js 20+ y una cuenta de Google. No se requieren credenciales al momento de la instalación — el servidor se conecta desde la conversación.

  1. Agrega el servidor a tu aplicación de IA.
  2. Di "conectar Google Tag Manager": el asistente te guía a través de crear el cliente OAuth y aprobar el acceso sin editar archivos de configuración.
  3. Comienza con la pregunta de solo lectura anterior.
Codex

En la aplicación:

  1. Abre Configuración → Servidores MCP.
  2. Selecciona Agregar servidor.
  3. Elige STDIO, luego ingresa npx -y mcp-google-tagmanager@latest y las tres variables de entorno a continuación.
VariableValor
GOOGLE_TAGMANAGER_CLIENT_IDTu ID de cliente OAuth de Google
GOOGLE_TAGMANAGER_CLIENT_SECRETTu secreto de cliente OAuth de Google
GOOGLE_TAGMANAGER_REFRESH_TOKENTu token de actualización OAuth de Google
  1. Selecciona Guardar, luego Reiniciar.

Desde la línea de comandos:

codex mcp add google-tagmanager \
  -- npx -y mcp-google-tagmanager@latest
codex mcp list

Documentación MCP de Codex

Claude Code
claude mcp add \
  --transport stdio \
  --scope user \
  google-tagmanager \
  -- npx -y mcp-google-tagmanager@latest
claude mcp list

Documentación MCP de Claude Code

Claude Desktop

La ruta oficial actual es Configuración → Extensiones. Para una extensión de escritorio personalizada, abre Configuración avanzada → Desarrollador de extensiones → Instalar extensión…, selecciona un archivo .mcpb y sigue las indicaciones.

Este repositorio actualmente publica un paquete npm stdio y no contiene un paquete .mcpb. Para compilaciones de Claude Desktop que aún admiten configuración local, usa la siguiente configuración JSON stdio como alternativa:

{
  "mcpServers": {
    "google-tagmanager": {
      "command": "npx",
      "args": ["-y", "mcp-google-tagmanager@latest"]
    }
  }
}

En esas compilaciones, guárdalo en ~/Library/Application Support/Claude/claude_desktop_config.json en macOS o %APPDATA%\Claude\claude_desktop_config.json en Windows.

Documentación MCP de Claude Desktop

Cursor

Agrega un servidor a nivel de usuario en ~/.cursor/mcp.json en macOS/Linux o %USERPROFILE%\.cursor\mcp.json en Windows:

{
  "mcpServers": {
    "google-tagmanager": {
      "type": "stdio",
      "command": "npx",
      "args": ["-y", "mcp-google-tagmanager@latest"]
    }
  }
}

Documentación MCP de Cursor

VS Code

Ejecuta MCP: Abrir configuración de usuario desde la Paleta de comandos y agrega:

{
  "servers": {
    "google-tagmanager": {
      "type": "stdio",
      "command": "npx",
      "args": ["-y", "mcp-google-tagmanager@latest"]
    }
  }
}

Verifícalo con MCP: Listar servidores.

Documentación MCP de VS Code

Qué puedes pedirle que haga

Comprender la configuración actual

  • Lista las cuentas y contenedores de GTM a los que puedo acceder.
  • ¿Qué etiquetas se activan en la vista de página en este espacio de trabajo?
  • Muestra la configuración del activador y las variables para esta etiqueta.
  • ¿Qué variables integradas están habilitadas?

Preparar cambios de seguimiento en un borrador

  • Crea un espacio de trabajo para el cambio de seguimiento de checkout.
  • Prepara una etiqueta GA4 y un activador para un evento específico.
  • Habilita las variables de clic necesarias para este activador.
  • Actualiza esta etiqueta después de mostrarme la configuración de reemplazo completa.

Publicar una versión deliberadamente

  • Compila este espacio de trabajo en una versión llamada April release.
  • Muestra los errores del compilador, si los hay.
  • Publica la versión 42 después de que confirme la versión y sus cambios.

Cómo se conectan los cambios de GTM

GTM tiene una ruta de publicación clara:

  1. Una cuenta contiene uno o más contenedores.
  2. Un contenedor tiene espacios de trabajo para cambios de borrador.
  3. Las etiquetas, activadores y variables pertenecen a un espacio de trabajo.
  4. Compilar un espacio de trabajo crea una versión de contenedor y elimina el espacio de trabajo fuente. GTM proporciona un espacio de trabajo de reemplazo.
  5. Publicar hace que una versión de contenedor seleccionada esté en vivo.

Este servidor puede inspeccionar cada paso. No trata un borrador como una publicación: la creación de versiones y la publicación son operaciones separadas.

Qué puede cambiar

OperaciónQué sucedeLímite de confirmación
Listar cuentas, contenedores, espacios de trabajo, etiquetas, activadores, variables y versionesLee la configuración de GTMSin cambios
Crear un contenedor o espacio de trabajoAgrega un nuevo objeto GTMCambia GTM
Crear una etiqueta, activador o variableAgrega un objeto de borrador a un espacio de trabajoCambia un espacio de trabajo de borrador
Habilitar o deshabilitar variables integradasCambia la configuración del espacio de trabajoCambia un espacio de trabajo de borrador
Actualizar una etiqueta, activador o variableReemplaza el recurso completo, protegido por su huella digitalPotencialmente destructivo
Eliminar una etiqueta, activador o variableElimina el objeto seleccionadoDestructivo
Compilar un espacio de trabajoCrea una versión y elimina el espacio de trabajo fuenteDestructivo
Publicar una versiónHace que una versión seleccionada esté en vivoDestructivo
Solicitud API sin procesarPuede llamar métodos de API sin una herramienta dedicadaPotencialmente destructivo

El cliente de IA decide cómo pide confirmación. El servidor marca operaciones de solo lectura, escritura y destructivas para que el cliente pueda distinguir la inspección de un cambio real.

Obtener acceso

Google Tag Manager requiere OAuth 2.0; una clave de API no es suficiente. Hay dos formas de entrar, y la primera no necesita archivos de configuración.

Conectar desde el chat (recomendado)

Di "conectar Google Tag Manager" y el asistente ejecuta el flujo contigo:

  1. setup_instructions imprime la lista de verificación: crea o selecciona un proyecto de Google Cloud, habilita la API de Tag Manager, configura la pantalla de consentimiento y crea un cliente OAuth de aplicación de escritorio.
  2. Descarga el JSON de ese cliente ("Descargar JSON") y dale al asistente su ruta — set_client lo almacena solo para el propietario. El secreto nunca pasa por la conversación.
  3. start_login devuelve un enlace de consentimiento de Google. Ábrelo en esta máquina y aprueba; el código regresa a un listener de un solo uso en 127.0.0.1 (PKCE), nunca a través del chat.
  4. finish_login intercambia el código y guarda los tokens en ~/.config/mcp-google-tagmanager/credentials.json (modo 0600) y los verifica con una llamada real a la API de Tag Manager — así, una API que aún está desactivada se detecta allí mismo.

Los tokens se releen en cada llamada, por lo que la conexión funciona de inmediato — sin reiniciar la aplicación de IA. auth_status muestra qué está conectado, logout revoca y elimina.

Variables de entorno (CI, instalaciones desatendidas)

  1. Crea o selecciona un proyecto de Google Cloud y habilita la API de Tag Manager. Un proyecto sin esa API habilitada no recibe cuota.

  2. Configura la pantalla de consentimiento OAuth y crea un cliente OAuth. Un cliente de aplicación de escritorio es adecuado para uso local.

  3. Autoriza tu cuenta de Google y obtén un token de actualización. El Playground de OAuth 2.0 puede hacer esto si habilitas Usar tus propias credenciales OAuth.

  4. Solicita estos alcances juntos:

    https://www.googleapis.com/auth/tagmanager.readonly
    https://www.googleapis.com/auth/tagmanager.edit.containers
    https://www.googleapis.com/auth/tagmanager.edit.containerversions
    https://www.googleapis.com/auth/tagmanager.publish
    

Los alcances son separados: leer, editar, compilar versiones y publicar cada uno necesita su permiso correspondiente. Trata el secreto del cliente y el token de actualización como contraseñas.

Configuración

Cada variable es opcional — sin ninguna de ellas, el servidor se conecta desde el chat.

VariableRequeridaDescripción
GOOGLE_TAGMANAGER_CLIENT_IDNo*ID de cliente OAuth.
GOOGLE_TAGMANAGER_CLIENT_SECRETNo*Secreto de cliente OAuth.
GOOGLE_TAGMANAGER_REFRESH_TOKENNo*Token de actualización OAuth.
GOOGLE_TAGMANAGER_ACCESS_TOKENNo*Alternativa de corta duración al trío OAuth.
GOOGLE_TAGMANAGER_OAUTH_PORTNoPuerto de loopback fijo para el inicio de sesión en el chat; útil con reenvío de puertos SSH.
GOOGLE_TAGMANAGER_API_BASENoAnulación de la URL base de la API de Tag Manager.
GOOGLE_TAGMANAGER_TIMEOUT_MSNoTiempo de espera por solicitud; predeterminado 60000 ms.
GOOGLE_TAGMANAGER_MAX_RETRIESNoReintentos máximos en fallos temporales; predeterminado 3.
GOOGLE_TAGMANAGER_MIN_INTERVAL_MSNoEspaciado mínimo entre solicitudes; predeterminado 4200 ms.

* Proporciona el trío OAuth o un token de acceso. Los tokens de acceso expiran en aproximadamente una hora y no se actualizan automáticamente.

Datos y telemetría

El servidor se ejecuta localmente y envía solicitudes a la API de GTM y solicitudes de actualización OAuth a Google. Su telemetría anónima contiene un ID de instalación aleatorio, versión del paquete, cliente de IA y versiones de Node.js/sistema operativo, y nombres de herramientas. No envía tokens OAuth, datos de GTM, argumentos de herramientas o indicaciones.

Desactiva la telemetría para los servidores MCP de A1 con:

ASKADS_TELEMETRY=0

Límites y trabajo en segundo plano

  • GTM tiene límite de velocidad. La API permite 0.25 solicitudes por segundo por proyecto, por lo que el servidor serializa las llamadas al menos 4.2 segundos de diferencia. Las auditorías amplias pueden llevar tiempo.
  • Los límites temporales se reintentan con cuidado. 429 y las respuestas de cuota de Google 403 usan retroceso exponencial y Retry-After. Las lecturas se reintentan después de fallos de red y 5xx; las escrituras no se reproducen después de un fallo incierto.
  • No hay monitoreo en segundo plano. El servidor solo se ejecuta cuando tu aplicación de IA lo llama. Si la aplicación admite tareas programadas, puede inspeccionar periódicamente un contenedor o su versión en vivo.
  • Un espacio de trabajo desaparece al compilarse. Antes de llamar a create_version, guarda todo lo que necesites del espacio de trabajo e inspecciona la ruta del espacio de trabajo de reemplazo devuelta.

Documentación técnica

Soporte

¿Encontraste un error o necesitas un escenario? Crea un issue o escribe en Telegram.


Две Моны дают пять

¡Llegaste al final!