mcp-google-tagmanager

Servidor MCP para a API v2 do Google Tag Manager — contas, contêineres, espaços de trabalho, tags, gatilhos, variáveis, versões e publicação. Para Claude, Cursor, Codex e outros clientes de IA.

Documentação

A1 Google Tag Manager MCP

Inglês | Русский

npm Glama CI License: MIT

A1 Google Tag Manager MCP permite que um aplicativo de IA inspecione e gerencie contêineres do Google Tag Manager em linguagem natural. Veja o que é disparado em uma página, trabalhe com tags, gatilhos e variáveis em um espaço de trabalho de rascunho e, em seguida, compile e publique deliberadamente uma versão quando estiver pronto.

Ele se conecta à API v2 do Google Tag Manager por meio da sua conta Google. A diferença de pedir a uma IA para adivinhar uma configuração do GTM é que ele trabalha com o contêiner, o espaço de trabalho e a versão reais que você escolher.

  • 25 ferramentas. 10 operações apenas leem dados do GTM; 4 criam rascunhos ou alteram variáveis integradas; 5 podem alterar, excluir, compilar ou publicar configuração ativa.
  • Conecta-se a partir da conversa. Diga "conectar Google Tag Manager": o servidor orienta você pelo cliente OAuth, captura o redirecionamento do Google em 127.0.0.1 com PKCE e mantém os tokens ele mesmo — sem arquivos de configuração, sem reinicialização.
  • Rascunho primeiro. Tags, gatilhos e variáveis são criados em um espaço de trabalho. Publicar é uma operação separada e explicitamente destrutiva.
  • Ciente de cotas. O GTM permite 0,25 solicitações por segundo por projeto; o servidor espaça as solicitações em pelo menos 4,2 segundos em vez de sobrecarregar a API.
  • Seu acesso ao Google. O servidor usa suas credenciais OAuth e solicita apenas os escopos do Tag Manager necessários para leitura, edição, versionamento e publicação.

Comece com uma pergunta somente leitura:

Quais tags nos meus contêineres são disparadas no gatilho de visualização de página?

Conectar o servidor · Explorar casos de uso · Abrir documentação técnica


Veja funcionando em um minuto

Você: Liste meus contêineres do GTM e mostre quais tags são disparadas na visualização de página.

Assistente: Lista os contêineres, seus espaços de trabalho, gatilhos relevantes e as tags associadas a eles. Nada muda.

Você: No Espaço de Trabalho Padrão de GTM-ABC123, prepare uma tag de configuração GA4 para o ID de medição G-XXXXXXX em todas as páginas.

Assistente: Mostra o espaço de trabalho, a tag proposta e a configuração do gatilho e, em seguida, pede confirmação antes de criar o rascunho.

Você: Confirme o rascunho.

Assistente: Cria a tag no espaço de trabalho. Ele não publica o contêiner; compilar e publicar uma versão continua sendo uma etapa separada.

Conteúdo

Início rápido

Você precisa do Node.js 20+ e de uma conta Google. As credenciais não são necessárias no momento da instalação — o servidor se conecta a partir da conversa.

  1. Adicione o servidor ao seu aplicativo de IA.
  2. Diga "conectar Google Tag Manager": o assistente orienta você na criação do cliente OAuth e aprovação do acesso sem editar arquivos de configuração.
  3. Comece com a pergunta somente leitura acima.
Codex

No aplicativo:

  1. Abra Configurações → Servidores MCP.
  2. Selecione Adicionar servidor.
  3. Escolha STDIO e insira npx -y mcp-google-tagmanager@latest e as três variáveis de ambiente abaixo.
VariávelValor
GOOGLE_TAGMANAGER_CLIENT_IDSeu ID de cliente OAuth do Google
GOOGLE_TAGMANAGER_CLIENT_SECRETSeu segredo de cliente OAuth do Google
GOOGLE_TAGMANAGER_REFRESH_TOKENSeu token de atualização OAuth do Google
  1. Selecione Salvar e depois Reiniciar.

Pela linha de comando:

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

Documentação MCP do Codex

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

Documentação MCP do Claude Code

Claude Desktop

O caminho oficial atual é Configurações → Extensões. Para uma extensão personalizada do desktop, abra Configurações avançadas → Desenvolvedor de extensões → Instalar extensão…, selecione um arquivo .mcpb e siga as instruções.

Este repositório atualmente publica um pacote npm stdio e não contém um pacote .mcpb. Para versões do Claude Desktop que ainda suportam configuração local, use a seguinte configuração JSON stdio como alternativa:

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

Nessas versões, salve-o em ~/Library/Application Support/Claude/claude_desktop_config.json no macOS ou %APPDATA%\Claude\claude_desktop_config.json no Windows.

Documentação MCP do Claude Desktop

Cursor

Adicione um servidor de nível de usuário a ~/.cursor/mcp.json no macOS/Linux ou %USERPROFILE%\.cursor\mcp.json no Windows:

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

Documentação MCP do Cursor

VS Code

Execute MCP: Abrir Configuração do Usuário na Paleta de Comandos e adicione:

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

Verifique com MCP: Listar Servidores.

Documentação MCP do VS Code

O que você pode pedir para ele fazer

Entender a configuração atual

  • Liste as contas e contêineres do GTM que posso acessar.
  • Quais tags são disparadas na visualização de página neste espaço de trabalho?
  • Mostre a configuração do gatilho e da variável para esta tag.
  • Quais variáveis integradas estão habilitadas?

Preparar alterações de rastreamento em um rascunho

  • Crie um espaço de trabalho para a alteração de rastreamento do checkout.
  • Prepare uma tag GA4 e um gatilho para um evento específico.
  • Habilite as variáveis de clique necessárias para este gatilho.
  • Atualize esta tag depois de me mostrar a configuração de substituição completa.

Liberar uma versão deliberadamente

  • Compile este espaço de trabalho em uma versão chamada April release.
  • Mostre os erros do compilador, se houver.
  • Publique a versão 42 depois que eu confirmar a versão e suas alterações.

Como as alterações do GTM são conectadas

O GTM tem um caminho de liberação claro:

  1. Uma conta contém um ou mais contêineres.
  2. Um contêiner tem espaços de trabalho para alterações de rascunho.
  3. Tags, gatilhos e variáveis pertencem a um espaço de trabalho.
  4. Compilar um espaço de trabalho cria uma versão do contêiner e remove o espaço de trabalho de origem. O GTM fornece um espaço de trabalho substituto.
  5. Publicar torna uma versão selecionada do contêiner ativa.

Este servidor pode inspecionar cada etapa. Ele não trata um rascunho como uma liberação: a criação de versão e a publicação são operações separadas.

O que pode mudar

OperaçãoO que aconteceLimite de confirmação
Listar contas, contêineres, espaços de trabalho, tags, gatilhos, variáveis e versõesLê a configuração do GTMSem alteração
Criar um contêiner ou espaço de trabalhoAdiciona um novo objeto GTMAltera o GTM
Criar uma tag, gatilho ou variávelAdiciona um objeto de rascunho a um espaço de trabalhoAltera um espaço de trabalho de rascunho
Habilitar ou desabilitar variáveis integradasAltera a configuração do espaço de trabalhoAltera um espaço de trabalho de rascunho
Atualizar uma tag, gatilho ou variávelSubstitui o recurso completo, protegido por sua impressão digitalPotencialmente destrutivo
Excluir uma tag, gatilho ou variávelRemove o objeto selecionadoDestrutivo
Compilar um espaço de trabalhoCria uma versão e exclui o espaço de trabalho de origemDestrutivo
Publicar uma versãoTorna uma versão selecionada ativaDestrutivo
Solicitação de API brutaPode chamar métodos da API sem uma ferramenta dedicadaPotencialmente destrutivo

O cliente de IA decide como pede confirmação. O servidor marca operações somente leitura, de escrita e destrutivas para que o cliente possa distinguir inspeção de uma alteração real.

Obtendo acesso

O Google Tag Manager exige OAuth 2.0; uma chave de API não é suficiente. Há duas formas de entrar, e a primeira não precisa de arquivos de configuração.

Conectar pelo chat (recomendado)

Diga "conectar Google Tag Manager" e o assistente executa o fluxo com você:

  1. setup_instructions imprime a lista de verificação: criar ou selecionar um projeto do Google Cloud, habilitar a API Tag Manager, configurar a tela de consentimento e criar um cliente OAuth de aplicativo para desktop.
  2. Baixe o JSON desse cliente ("Baixar JSON") e dê ao assistente o caminho — set_client o armazena com acesso apenas do proprietário. O segredo nunca passa pela conversa.
  3. start_login retorna um link de consentimento do Google. Abra-o nesta máquina e aprove; o código volta para um ouvinte de uso único em 127.0.0.1 (PKCE), nunca pelo chat.
  4. finish_login troca o código e salva os tokens em ~/.config/mcp-google-tagmanager/credentials.json (modo 0600) e os verifica com uma chamada real à API Tag Manager — assim, uma API que ainda está desativada é detectada ali mesmo.

Os tokens são relidos a cada chamada, então a conexão funciona imediatamente — sem reiniciar o aplicativo de IA. auth_status mostra o que está conectado, logout revoga e exclui.

Variáveis de ambiente (CI, instalações não assistidas)

  1. Crie ou selecione um projeto do Google Cloud e habilite a API Tag Manager. Um projeto sem essa API habilitada não recebe cota.

  2. Configure a tela de consentimento OAuth e crie um cliente OAuth. Um cliente de aplicativo para desktop é adequado para uso local.

  3. Autorize sua conta Google e obtenha um token de atualização. O Playground OAuth 2.0 pode fazer isso se você habilitar Usar suas próprias credenciais OAuth.

  4. Solicite estes escopos 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
    

Os escopos são separados: leitura, edição, compilação de versões e publicação exigem cada um sua permissão correspondente. Trate o segredo do cliente e o token de atualização como senhas.

Configuração

Toda variável é opcional — sem nenhuma delas, o servidor se conecta pelo chat.

VariávelObrigatóriaDescrição
GOOGLE_TAGMANAGER_CLIENT_IDNão*ID do cliente OAuth.
GOOGLE_TAGMANAGER_CLIENT_SECRETNão*Segredo do cliente OAuth.
GOOGLE_TAGMANAGER_REFRESH_TOKENNão*Token de atualização OAuth.
GOOGLE_TAGMANAGER_ACCESS_TOKENNão*Alternativa de curta duração ao trio OAuth.
GOOGLE_TAGMANAGER_OAUTH_PORTNãoPorta de loopback fixa para o login no chat; útil com encaminhamento de porta SSH.
GOOGLE_TAGMANAGER_API_BASENãoSubstituição da URL base da API Tag Manager.
GOOGLE_TAGMANAGER_TIMEOUT_MSNãoTempo limite por solicitação; padrão 60000 ms.
GOOGLE_TAGMANAGER_MAX_RETRIESNãoMáximo de tentativas em falhas temporárias; padrão 3.
GOOGLE_TAGMANAGER_MIN_INTERVAL_MSNãoEspaçamento mínimo entre solicitações; padrão 4200 ms.

* Forneça o trio OAuth ou um token de acesso. Os tokens de acesso expiram em cerca de uma hora e não são atualizados automaticamente.

Dados e telemetria

O servidor é executado localmente e envia solicitações à API GTM e solicitações de atualização OAuth ao Google. Sua telemetria anônima contém um ID de instalação aleatório, versão do pacote, cliente de IA e versões do Node.js/sistema operacional, e nomes de ferramentas. Ela não envia tokens OAuth, dados do GTM, argumentos de ferramentas ou prompts.

Desative a telemetria para servidores MCP A1 com:

ASKADS_TELEMETRY=0

Limites e trabalho em segundo plano

  • O GTM tem limite de taxa. A API permite 0,25 solicitações por segundo por projeto, então o servidor serializa chamadas com pelo menos 4,2 segundos de intervalo. Auditorias amplas podem, portanto, levar tempo.
  • Limites temporários são tratados com cuidado. 429 e respostas de cota do Google 403 usam backoff exponencial e Retry-After. Leituras são repetidas após falhas de rede e 5xx; escritas não são reproduzidas após uma falha incerta.
  • Não há monitoramento em segundo plano. O servidor é executado apenas quando seu aplicativo de IA o chama. Se o aplicativo suportar tarefas agendadas, ele pode inspecionar periodicamente um contêiner ou sua versão ativa.
  • Um espaço de trabalho desaparece quando compilado. Antes de chamar create_version, salve tudo o que precisar do espaço de trabalho e inspecione o caminho do espaço de trabalho substituto retornado.

Documentação técnica

Suporte

Encontrou um bug ou precisa de um cenário? Crie uma issue ou escreva no Telegram.


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

Você chegou ao final!