Skip to main content
Glama
konkomaji

Google Marketing MCP

by konkomaji

gtm_create_entity

Create any Google Tag Manager entity (tags, triggers, variables, folders) by specifying type, parameters, and trigger IDs, with a confirm step to save.

Instructions

Create an entity of any type.

Args: entity_type: tags, triggers, variables, folders, templates, clients, transformations, zones, gtag_config. name: display name in the GTM UI. type: the GTM type string, e.g. 'gaawe' for a GA4 event tag, 'googtag' for a Google tag, 'awct' for an Ads conversion, 'linkClick' for a trigger, 'jsm' for a custom JavaScript variable. Not needed for folders. parameters: plain dict, converted to the API's typed shape. Reference other variables with double braces, e.g. {"pageUrl": "{{Page URL}}"}. firing_trigger_ids: trigger ids that fire a tag. blocking_trigger_ids: trigger ids that block a tag. extra: any additional top-level fields to merge into the request body, for fields this signature does not name (monitoringMetadata, consentSettings, scheduleStartMs, and so on). confirm: set true to actually create.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
nameYes
typeNo
extraNo
confirmNo
account_idNo
parametersNo
entity_typeYes
container_idNo
workspace_idNo
firing_trigger_idsNo
blocking_trigger_idsNo

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
resultYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.0

TDQS

A3.8/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The description discloses a critical behavioral trait: the 'confirm' parameter must be set to true to actually create the entity, implying a dry-run or preview mode by default. It also explains how parameters are converted to the API's typed shape and how to reference other variables with double braces. Since no annotations are provided, the description carries the full burden, and it does a good job of surfacing the confirmation requirement and the flexible 'extra' merge behavior.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is well-structured with a clear one-line summary followed by a bulleted Args list. Each parameter gets a concise explanation with examples where helpful. It is slightly long but every sentence adds value, and the front-loaded summary makes the tool's purpose immediately clear.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's complexity (11 parameters, 0% schema coverage, no annotations), the description covers most of what an agent needs: entity types, type string examples, parameter conversion behavior, trigger ID usage, the confirm flag, and the extra escape hatch. It doesn't explain the three context IDs (account_id, container_id, workspace_id) or the return value, but the output schema exists and the context IDs are self-explanatory. The main gap is not explicitly routing to specialized siblings.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the description must compensate, and it does. It explains the meaning of entity_type, name, type (with concrete examples like 'gaawe' and 'googtag'), parameters (with an example), firing_trigger_ids, blocking_trigger_ids, extra, and confirm. It does not explain account_id, container_id, and workspace_id, but those are likely context IDs whose purpose is inferable from their names.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool creates an entity of any type and enumerates the supported entity types (tags, triggers, variables, folders, templates, clients, transformations, zones, gtag_config). It uses a specific verb ('Create') and resource ('entity'), and the list of entity types helps distinguish it from sibling tools like gtm_create_trigger or gtm_create_ga4_event_tag, though it doesn't explicitly name those siblings.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies usage by listing entity types and explaining when certain parameters are needed (e.g., 'Not needed for folders'), but it does not explicitly state when to use this generic tool versus the more specific sibling creation tools like gtm_create_trigger or gtm_create_ga4_event_tag. It also doesn't mention prerequisites like needing an existing workspace or container.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Deploy Server

Other Tools