Skip to main content
Glama
tijevlam

unboundai-gtm-mcp-server

by tijevlam

MCP Server for Google Tag Manager

This is an MCP server that provides an interface to the Google Tag Manager API using Google Application Default Credentials (ADC).

Setup instructions

Setup involves the following steps:

  1. Install Node.js (v20 or later recommended)

  2. Enable Google Tag Manager API in your Google Cloud project

  3. Configure Google Application Default Credentials (ADC)

  4. Configure your MCP client (Claude Desktop, Gemini CLI, etc.)

Enable Google Tag Manager API

Follow the instructions to enable the Google Tag Manager API in your Google Cloud project:

Configure Google Application Default Credentials

Configure your Application Default Credentials (ADC). Make sure the credentials are for a user with access to your Google Tag Manager accounts.

Credentials must include the Google Tag Manager edit scope:

https://www.googleapis.com/auth/tagmanager.edit.containers

Check out Manage OAuth Clients for how to create an OAuth client.

Here are some sample gcloud commands you might find useful:

  • Set up ADC using user credentials and an OAuth desktop or web client after downloading the client JSON to YOUR_CLIENT_JSON_FILE.

    gcloud auth application-default login \
      --scopes https://www.googleapis.com/auth/tagmanager.edit.containers,https://www.googleapis.com/auth/cloud-platform \
      --client-id-file=YOUR_CLIENT_JSON_FILE
  • Set up ADC using service account impersonation.

    gcloud auth application-default login \
      --impersonate-service-account=SERVICE_ACCOUNT_EMAIL \
      --scopes=https://www.googleapis.com/auth/tagmanager.edit.containers,https://www.googleapis.com/auth/cloud-platform

When the gcloud auth application-default command completes, copy the PATH_TO_CREDENTIALS_JSON file location printed to the console in the following message. You'll need this for the next step!

Credentials saved to file: [PATH_TO_CREDENTIALS_JSON]

Configure Claude Desktop

  1. Open Claude Desktop and navigate to Settings -> Developer -> Edit Config. This opens the configuration file that controls which MCP servers Claude can access.

  2. Add the following configuration. Replace PATH_TO_CREDENTIALS_JSON with the path you copied in the previous step:

{
  "mcpServers": {
    "unboundai-gtm-mcp-server": {
      "command": "npx",
      "args": ["-y","@unboundai/gtm-mcp-server"],
      "env": {
        "GOOGLE_APPLICATION_CREDENTIALS": "PATH_TO_CREDENTIALS_JSON"
      }
    }
  }
}
  1. Restart Claude Desktop. The tools will become available for you to use.

Related MCP server: GTM MCP Server

Troubleshooting

MCP Server Name Length Limit

Some MCP clients (like Cursor AI) have a 60-character limit for the combined MCP server name + tool name length. If you use a longer server name in your configuration (e.g., unboundai-gtm-mcp-server-your-additional-long-name), some tools may be filtered out.

To avoid this issue:

  • Use shorter server names in your MCP configuration (e.g., unboundai-gtm-mcp-server)

Debugging Server Issues

If the MCP server crashes or encounters issues, you can enable comprehensive debug logging to diagnose the problem:

  1. Enable Debug Mode: Set the DEBUG environment variable to true or 1:

    {
      "mcpServers": {
        "unboundai-gtm-mcp-server": {
          "command": "npx",
          "args": ["-y", "@unboundai/gtm-mcp-server"],
          "env": {
            "GOOGLE_APPLICATION_CREDENTIALS": "PATH_TO_CREDENTIALS_JSON",
            "DEBUG": "true"
          }
        }
      }
    }
  2. Control Log Level: Alternatively, set the LOG_LEVEL environment variable to control logging verbosity:

    • DEBUG: Shows all debug messages (most verbose)

    • INFO: Shows informational messages and above (default)

    • WARN: Shows only warnings and errors

    • ERROR: Shows only error messages

    Example:

    {
      "mcpServers": {
        "unboundai-gtm-mcp-server": {
          "command": "npx",
          "args": ["-y", "@unboundai/gtm-mcp-server"],
          "env": {
            "GOOGLE_APPLICATION_CREDENTIALS": "PATH_TO_CREDENTIALS_JSON",
            "LOG_LEVEL": "DEBUG"
          }
        }
      }
    }
  3. Check MCP Client Logs: The debug output is written to stderr and will appear in your MCP client's logs. In Claude Desktop:

    • macOS: ~/Library/Logs/Claude/mcp*.log

    • Windows: %APPDATA%\Claude\logs\mcp*.log

Debug logging provides detailed information about:

  • Server initialization and startup

  • Environment configuration

  • Authentication with Google APIs

  • Tool registration

  • API calls and responses

  • Error details with stack traces

Note: Debug logging may produce verbose output. It's recommended to enable it only when troubleshooting issues.

Available Tools

18 tools
gtm_accountA

Performs all account-related operations: get, list, update. Use the 'action' parameter to select the operation.

ParametersJSON Schema
NameRequiredDescriptionDefault
actionYesThe account operation to perform. Must be one of: 'get', 'list', 'update'.
configNoConfiguration for 'update' action. All fields correspond to the GTM Account resource.
accountIdYesThe unique ID of the GTM Account.

TDQS

A3.6/5.0
Behavior2/5

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

No annotations are provided, so the description must disclose behavioral traits. It only mentions the operations (get, list, update) but lacks details on permissions, side effects, rate limits, or safety considerations for the update operation.

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 concise with two sentences, the first clearly stating the tool's scope. It is well front-loaded but could be slightly more structured.

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

Completeness3/5

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

Given the lack of output schema and the presence of nested objects, the description adequately outlines the main operations but does not explain return values, error cases, or prerequisites for each action.

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 coverage is 100% with descriptions for all parameters. The description adds value by explaining the action parameter's role and that config applies to the update action, which goes beyond the schema definitions.

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

Purpose5/5

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

The description clearly states it performs all account-related operations (get, list, update) and uses the action parameter. This differentiates it from sibling tools like gtm_container or gtm_tag.

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 provides a basic instruction to use the action parameter but does not give explicit guidance on when to use this tool vs alternatives or when not to use it.

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

gtm_built_in_variableC

Performs all built-in variable operations: create, list, remove, revert. The 'list' action returns up to itemsPerPage items per page.

ParametersJSON Schema
NameRequiredDescriptionDefault
pageNoPage number for pagination (starts from 1). Each page contains up to itemsPerPage items.
typeNoThe built-in variable type. Required for 'revert' and 'remove' actions.
typesNoArray of built-in variable types. Optional for 'list' action.
actionYesThe built-in variable operation to perform. Must be one of: 'create', 'list', 'remove', 'revert'.
accountIdYesThe unique ID of the GTM Account containing the built-in variable.
pageTokenNoA token for pagination. Optional for 'list' action.
containerIdYesThe unique ID of the GTM Container containing the built-in variable.
workspaceIdYesThe unique ID of the GTM Workspace containing the built-in variable.
itemsPerPageNoNumber of items to return per page (1-50). Default: 50. Use lower values if experiencing response issues.

TDQS

C2.9/5.0
Behavior2/5

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

Without annotations, the description carries full burden but only mentions pagination behavior for the 'list' action. It omits side effects, permissions, reversibility, or constraints for create/remove/revert actions, leaving a significant gap in transparency.

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

Conciseness5/5

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

Two sentences are efficient and front-loaded with key actions. No unnecessary words. The structure is clear and earns its place.

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

Completeness2/5

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

Given 9 parameters, 4 required, and no output schema, the description is too minimal. It does not explain return values, required parameter relationships (e.g., type needed for remove/revert), or pagination details beyond a brief mention. Completeness is inadequate.

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

Parameters3/5

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

Schema coverage is 100%, so the baseline is 3. The description adds minimal extra meaning beyond the schema (only noting that list returns up to itemsPerPage items). Parameter semantics are adequately covered by the schema.

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 performs all built-in variable operations (create, list, remove, revert), making the purpose specific and distinct from siblings like gtm_variable. However, it could better differentiate from sibling tools that might also manage variables.

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

Usage Guidelines2/5

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

No guidance is provided on when to use this tool versus alternatives among sibling tools (e.g., gtm_variable). The description lacks context for appropriate usage, leaving the agent to infer applicability.

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

gtm_clientB

Performs all client operations: create, get, list, update, remove, revert. The 'list' action returns up to itemsPerPage items per page.

ParametersJSON Schema
NameRequiredDescriptionDefault
pageNoPage number for pagination (starts from 1). Each page contains up to itemsPerPage items.
actionYesThe client operation to perform. Must be one of: 'create', 'get', 'list', 'update', 'remove', 'revert'.
clientIdNoThe unique ID of the GTM Client. Required for 'get', 'update', 'remove', and 'revert' actions.
accountIdYesThe unique ID of the GTM Account containing the client.
containerIdYesThe unique ID of the GTM Container containing the client.
fingerprintNoThe fingerprint for optimistic concurrency control. Required for 'update' and 'revert' actions.
workspaceIdYesThe unique ID of the GTM Workspace containing the client.
itemsPerPageNoNumber of items to return per page (1-50). Default: 50. Use lower values if experiencing response issues.
createOrUpdateConfigNoConfiguration for 'create' and 'update' actions. All fields correspond to the GTM Client resource, except IDs.

TDQS

B3.3/5.0
Behavior2/5

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

With no annotations provided, the description bears full responsibility for disclosing behavioral traits. It mentions pagination for list but does not describe destructive actions like 'remove' or 'revert', auth requirements, idempotency, or error behavior. This is insufficient for a tool with multiple write operations.

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 two sentences, front-loading the purpose with the action list. It is efficient and avoids waste, though it could briefly structure action-specific details for clarity.

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

Completeness2/5

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

Given the complexity (9 parameters, nested objects, multiple actions) and no output schema, the description lacks information about return values, error handling, and action-specific behavior. Users need more context to understand what each action returns or requires.

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

Parameters3/5

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

Schema description coverage is 100%, so the baseline is 3. The description adds context about 'list' returning up to itemsPerPage items, but otherwise does not provide meaning beyond the schema's parameter descriptions. It meets the minimum but does not compensate for any gaps.

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

Purpose5/5

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

The description clearly states 'performs all client operations' and lists the specific actions (create, get, list, update, remove, revert), making it distinct from sibling tools like gtm_tag or gtm_container. It uses a specific verb-resource combination and enumerates the operations.

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 for client management via the action list, but it does not explicitly state when to use this tool versus alternatives (e.g., gtm_tag for tags). No when-not-to-use or alternative guidance is given.

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

gtm_containerB

Performs all container-related operations: create, get, update, remove, list, combine, lookup, moveTagId, snippet. The 'list' action returns up to itemsPerPage items per page.

ParametersJSON Schema
NameRequiredDescriptionDefault
pageNoPage number for pagination (starts from 1). Each page contains up to itemsPerPage items.
actionYesThe container operation to perform. Must be one of: 'create', 'get', 'list', 'update', 'remove', 'combine', 'lookup', 'moveTagId', 'snippet'.
accountIdYesThe unique ID of the GTM Account containing the container.
containerIdNoThe unique ID of the GTM Container. Required for 'get', 'update', 'remove', 'combine', 'lookup', 'moveTagId', and 'snippet' actions.
fingerprintNoThe fingerprint for optimistic concurrency control. Required for 'update' action.
itemsPerPageNoNumber of items to return per page (1-50). Default: 50. Use lower values if experiencing response issues.
combineConfigNoConfiguration for 'combine' action. Specifies which containers to combine.
destinationIdNoThe destination ID linked to a GTM Container (e.g., AW-123456789). Required for the 'lookup' action.
moveTagIdConfigNoConfiguration for 'moveTagId' action. Specifies tag ID mapping for moving tags between containers.
createOrUpdateConfigNoConfiguration for 'create' and 'update' actions. All fields correspond to the GTM Container resource.

TDQS

B3.4/5.0
Behavior2/5

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

Without annotations, the description carries the burden of behavioral disclosure. It only mentions that the 'list' action returns paginated results. For a tool that includes destructive actions like 'remove', no side effects or authorization needs are described. Additional behavioral context is missing.

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 concise (one sentence plus a detail about list pagination). It is front-loaded and gets to the point quickly, but it could be slightly more informative without being wasteful.

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

Completeness3/5

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

Given the tool's complexity (10 parameters, multiple actions, no output schema), the description is incomplete. It explains pagination for 'list' but does not describe the other actions' behavior, outcomes, or when to use each action. The schema is rich, so the description compensates somewhat.

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

Parameters3/5

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

Schema coverage is 100%, so baseline is 3. The description adds minimal meaning beyond the schema, such as mentioning pagination for 'list'. It does not elaborate on parameter usage or constraints beyond what is already in the schema.

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

Purpose5/5

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

The description clearly states it performs all container-related operations and lists the specific actions (create, get, update, remove, etc.). This is a specific verb+resource combination that distinguishes it from sibling tools which operate on different resources like tags or accounts.

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 the tool is for container operations but does not explicitly state when to use this tool versus sibling tools or provide exclusion criteria. It lacks guidance on when not to use it or alternatives.

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

gtm_destinationC

Performs all destination operations: get, list, link, unlink. The 'list' action returns up to 50 items per page.

ParametersJSON Schema
NameRequiredDescriptionDefault
pageNoPage number for pagination (starts from 1). Each page contains up to itemsPerPage items.
actionYesThe destination operation to perform. Must be one of: 'get', 'list', 'link', 'unlink'.
accountIdYesThe unique ID of the GTM Account containing the destination.
containerIdYesThe unique ID of the GTM Container containing the destination.
itemsPerPageNoNumber of items to return per page (1-50). Default: 50. Use lower values if experiencing response issues.
destinationIdNoThe unique ID of the GTM Destination. Required for 'get', 'link', and 'unlink' actions.
allowUserPermissionFeatureUpdateNoIf true, allows user permission feature update during linking. Optional for 'link' action.

TDQS

C2.9/5.0
Behavior2/5

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

No annotations are provided, so the description must carry behavioral transparency. It only discloses pagination limits for the 'list' action. Missing details on destructive behavior, auth requirements, or error handling.

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

Conciseness5/5

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

Two sentences, zero waste. Front-loaded with the core action list.

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

Completeness2/5

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

With 7 parameters, no output schema, and no annotations, the description is too sparse. It doesn't explain return values, error states, or prerequisites for different actions.

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

Parameters3/5

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

Schema coverage is 100%, so the schema already documents parameters well. The description adds nothing beyond stating the 'list' action returns up to 50 items, which is already in the schema's default values.

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 states it performs all destination operations (get, list, link, unlink), making the tool's purpose clear. However, it does not explicitly distinguish from sibling tools like gtm_tag, leaving some ambiguity about scope.

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

Usage Guidelines2/5

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

The description lists the actions but provides no guidance on when to use this tool versus alternatives (e.g., gtm_tag for tags). No mention of prerequisites or context.

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

gtm_environmentC

Performs all environment operations: create, get, list, update, remove, reauthorize. The 'list' action returns up to 50 items per page.

ParametersJSON Schema
NameRequiredDescriptionDefault
pageNoPage number for pagination (starts from 1). Each page contains up to itemsPerPage items.
actionYesThe environment operation to perform. Must be one of: 'create', 'get', 'list', 'update', 'remove', 'reauthorize'.
accountIdYesThe unique ID of the GTM Account containing the environment.
containerIdYesThe unique ID of the GTM Container containing the environment.
fingerprintNoThe fingerprint for optimistic concurrency control. Required for 'update' action.
itemsPerPageNoNumber of items to return per page (1-50). Default: 50. Use lower values if experiencing response issues.
environmentIdNoThe unique ID of the GTM Environment. Required for 'get', 'update', 'remove', and 'reauthorize' actions.
createOrUpdateConfigNoConfiguration for 'create' and 'update' actions. All fields correspond to the GTM Environment resource, except IDs.

TDQS

C2.9/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full burden. It only discloses one behavioral detail: the 'list' action returns up to 50 items per page. It does not mention side effects (e.g., 'remove' is destructive), authorization requirements, or other nontrivial behaviors. This is insufficient for a tool with multiple actions.

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

Conciseness5/5

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

Two sentences with no wasted words. The first sentence efficiently lists the operations, and the second adds a specific behavioral detail. Ideal conciseness for a tool description.

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

Completeness2/5

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

Given the tool's complexity (6 actions, 8 parameters, a nested configuration object), the description is too brief. It does not explain the different actions' behaviors, the role of required parameters (accountId, containerId, action), or how to use the createOrUpdateConfig object. Without an output schema, the return values are not described, which is a gap.

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

Parameters3/5

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

The input schema has 100% coverage with descriptions for all parameters. The description adds only the note about 'list' returning up to 50 items per page, which relates to the itemsPerPage parameter but adds minimal new meaning. Baseline 3 is appropriate as the schema already explains the parameters.

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 that the tool performs all environment operations and lists them (create, get, list, update, remove, reauthorize). This differentiates it from sibling tools which are for other GTM resources (e.g., gtm_container, gtm_tag). However, the phrasing 'performs all environment operations' is slightly vague without the explicit list, but overall it is clear.

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

Usage Guidelines2/5

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

The description provides no guidance on when to use this tool versus alternatives. It does not explain which action to choose for specific scenarios (e.g., when to use create vs update) nor does it mention any prerequisites. The context of sibling tools implies this is for environments, but explicit usage direction is missing.

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

gtm_folderB

Performs all folder operations: create, get, list, update, remove, revert, entities, moveEntitiesToFolder. The 'list' action returns up to 50 items per page.

ParametersJSON Schema
NameRequiredDescriptionDefault
pageNoPage number for pagination (starts from 1). Each page contains up to itemsPerPage items.
tagIdNoThe tags to be moved to the folder. Required for 'moveEntitiesToFolder' action.
actionYesThe folder operation to perform. Must be one of: 'create', 'get', 'list', 'update', 'remove', 'revert', 'entities', 'moveEntitiesToFolder'.
folderIdNoThe unique ID of the GTM Folder. Required for 'get', 'update', 'remove', 'revert', 'entities', and 'moveEntitiesToFolder' actions.
accountIdYesThe unique ID of the GTM Account containing the folder.
triggerIdNoThe triggers to be moved to the folder. Required for 'moveEntitiesToFolder' action.
variableIdNoThe variables to be moved to the folder. Required for 'moveEntitiesToFolder' action.
containerIdYesThe unique ID of the GTM Container containing the folder.
fingerprintNoThe fingerprint for optimistic concurrency control. Required for 'update' and 'revert' actions.
workspaceIdYesThe unique ID of the GTM Workspace containing the folder.
itemsPerPageNoNumber of items to return per page (1-50). Default: 50. Use lower values if experiencing response issues.
createOrUpdateConfigNoConfiguration for 'create' and 'update' actions. All fields correspond to the GTM Folder resource, except IDs.

TDQS

B3.1/5.0
Behavior2/5

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

No annotations are provided, so the description must fully disclose behavioral traits. It mentions the list action returns up to 50 items per page, but fails to disclose side effects of actions like 'remove' (destructive), 'update' (mutability), or 'revert' (reversibility). Authentication and rate limits are not mentioned.

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 concise with two sentences and no fluff. However, it could be structured to separate group actions or clarify action-specific details.

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

Completeness2/5

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

Given 12 parameters, no output schema, and no annotations, the description is incomplete. It does not explain return values per action, prerequisites, or error conditions. For a multi-action tool, more contextual detail is needed.

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

Parameters3/5

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

Schema coverage is 100%, so baseline is 3. The description adds minimal value beyond the schema, only noting list pagination limits. It does not explain how parameters relate to each action (e.g., which action requires which fields).

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 handles all folder operations: create, get, list, update, remove, revert, entities, moveEntitiesToFolder. It distinguishes from sibling tools (which focus on other GTM resources) by specifying the resource type (folder). However, it does not explain what 'entities' or 'revert' actions entail.

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?

No explicit guidance on when to use this tool versus alternatives. While sibling tools handle different resources (e.g., gtm_tag, gtm_trigger), the description does not provide context-specific usage or exclusions. Usage is implied but not explicit.

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

gtm_gtag_configA

Performs all Google tag config operations: create, get, list, update, remove. The 'list' action returns up to itemsPerPage items per page.

ParametersJSON Schema
NameRequiredDescriptionDefault
pageNoPage number for pagination (starts from 1). Each page contains up to itemsPerPage items.
actionYesThe Google tag config operation to perform. Must be one of: 'create', 'get', 'list', 'update', 'remove'.
accountIdYesThe unique ID of the GTM Account containing the Google tag config.
containerIdYesThe unique ID of the GTM Container containing the Google tag config.
fingerprintNoThe fingerprint for optimistic concurrency control. Required for 'update' action.
workspaceIdYesThe unique ID of the GTM Workspace containing the Google tag config.
gtagConfigIdNoThe unique ID of the Google tag config. Required for 'get', 'update', and 'remove' actions.
itemsPerPageNoNumber of items to return per page (1-50). Default: 50. Use lower values if experiencing response issues.
createOrUpdateConfigNoConfiguration for 'create' and 'update' actions. All fields correspond to the Google tag config resource, except IDs.

TDQS

A3.6/5.0
Behavior2/5

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

No annotations are provided, so the description carries full burden. It only states the operations and pagination for list, but lacks disclosure of destructive behavior, idempotency, authorization needs, or side effects for actions like update or remove.

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

Conciseness5/5

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

The description is extremely concise with only two sentences. The first sentence introduces the tool's purpose, and the second adds a key pagination detail. Every word is necessary and front-loaded.

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

Completeness2/5

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

Given the complexity (9 parameters, nested objects, no output schema), the description is insufficient. It does not explain action-specific required parameters, the meaning of fields in createOrUpdateConfig, or how responses vary by action. The schema covers parameter descriptions, but operational context is missing.

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

Parameters3/5

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

Schema description coverage is 100%, so baseline is 3. The description adds minimal value beyond the schema, only reiterating that the tool performs operations and that list uses pagination. It does not clarify parameter interdependencies or action-specific requirements.

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

Purpose5/5

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

The description clearly states the tool performs all Google tag config operations: create, get, list, update, remove. It also specifies list pagination behavior, distinguishing it from siblings like gtm_tag or gtm_trigger which operate on different resources.

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

Usage Guidelines4/5

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

The description explicitly lists the supported actions, making it clear this tool is for Google tag config CRUD. However, it does not provide guidance on when to use alternatives or exclusions, such as when to use other GTM tools for related resources.

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

gtm_tagC

Performs all GTM tag operations: create, get, list, update, remove, revert. The 'list' action returns up to 20 items per page.

ParametersJSON Schema
NameRequiredDescriptionDefault
pageNoPage number for pagination (starts from 1). Each page contains up to itemsPerPage items.
tagIdNoThe unique ID of the GTM tag. Required for 'get', 'update', 'remove', and 'revert' actions.
actionYesThe GTM tag operation to perform. Must be one of: 'create', 'get', 'list', 'update', 'remove', 'revert'.
accountIdYesThe unique ID of the GTM Account containing the tag.
containerIdYesThe unique ID of the GTM Container containing the tag.
fingerprintNoThe fingerprint for optimistic concurrency control. Optional for 'update' action if included in createOrUpdateConfig. Required for 'revert' action.
workspaceIdYesThe unique ID of the GTM Workspace containing the tag.
itemsPerPageNoNumber of items to return per page (1-20). Default: 20. Use lower values if experiencing response issues.
createOrUpdateConfigNoConfiguration for 'create' and 'update' actions. All fields correspond to the GTM tag resource, except IDs.

TDQS

C2.9/5.0
Behavior2/5

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

No annotations are present, so the description must carry the full burden. It only mentions that the 'list' action returns up to 20 items per page, but fails to disclose that create/update/remove/revert are state-modifying, or any permission or concurrency controls.

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

Conciseness5/5

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

The description is two sentences long, front-loads the core purpose, and includes a key behavioral detail about pagination. Every phrase earns its place with zero wasted words.

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

Completeness2/5

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

Given the tool's complexity (9 parameters, nested objects, and multiple actions), the description is too brief. It omits information on required parameters per action, the structure of the createOrUpdateConfig object, and any constraints on action usage.

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

Parameters3/5

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

Schema description coverage is 100%, so the baseline is 3. The description adds no additional parameter context beyond what the schema already provides, but it does not need to compensate.

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 performs all GTM tag operations (create, get, list, update, remove, revert), specifying the verb and resource. However, it does not explicitly differentiate from sibling tools, but the name and list of operations make the purpose evident.

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

Usage Guidelines2/5

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

The description provides no guidance on when to use this tool versus alternatives, or any context about action-specific prerequisites. It simply lists operations without indicating when each should be used or excluded.

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

gtm_templateB

Performs all GTM custom template operations: create, get, list, update, remove, revert. The 'list' action returns up to itemsPerPage items per page.

ParametersJSON Schema
NameRequiredDescriptionDefault
pageNoPage number for pagination (starts from 1). Each page contains up to itemsPerPage items.
actionYesThe GTM custom template operation to perform. Must be one of: 'create', 'get', 'list', 'update', 'remove', 'revert'.
accountIdYesThe unique ID of the GTM Account containing the custom template.
templateIdNoThe unique ID of the GTM custom template. Required for 'get', 'update', 'remove', and 'revert' actions.
containerIdYesThe unique ID of the GTM Container containing the custom template.
fingerprintNoThe fingerprint for optimistic concurrency control. Required for 'update' and 'revert' actions.
workspaceIdYesThe unique ID of the GTM Workspace containing the custom template.
itemsPerPageNoNumber of items to return per page (1-20). Default: 20. Use lower values if experiencing response issues.
createOrUpdateConfigNoConfiguration for 'create' and 'update' actions. All fields correspond to the GTM custom template resource, except IDs.

TDQS

B3.1/5.0
Behavior2/5

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

With no annotations provided, the description carries full burden for behavioral disclosure. It only mentions that the 'list' action returns up to itemsPerPage items, but lacks information on destructive actions (like remove), authentication needs, rate limits, or error conditions. The description is minimal and does not cover critical behavioral traits.

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 a single sentence that is concise and front-loaded with the main action list. It avoids unnecessary words. However, it could be slightly more structured (e.g., separating actions or adding bullet points) for better readability, but overall it is efficient.

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

Completeness2/5

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

Given the complexity (9 parameters, nested objects, no output schema), the description is too brief. It does not explain return values, authentication, error handling, or provide examples. The agent would need to infer many details from the schema alone, which is insufficient for complete understanding of the tool's behavior and integration context.

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

Parameters3/5

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

Schema description coverage is 100%, so the schema already describes all parameters comprehensively. The description adds marginal value by restating the pagination behavior for the 'list' action, which is already present in the schema. Baseline 3 is appropriate as the description does not introduce new meaning beyond the schema.

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

Purpose5/5

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

The description clearly states that the tool performs all GTM custom template operations, listing each action (create, get, list, update, remove, revert). The specific verb+resource combination distinguishes it from sibling tools which address other GTM resources like containers or tags.

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

Usage Guidelines2/5

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

The description provides no guidance on when to use this tool versus alternatives. It does not mention when not to use it, prerequisites, or scenarios where sibling tools would be more appropriate. The list of sibling tools is provided externally but no differentiation is given.

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

gtm_transformationC

Performs all GTM transformation operations: create, get, list, update, remove, revert. The 'list' action returns up to itemsPerPage items per page.

ParametersJSON Schema
NameRequiredDescriptionDefault
pageNoPage number for pagination (starts from 1). Each page contains up to itemsPerPage items.
actionYesThe GTM transformation operation to perform. Must be one of: 'create', 'get', 'list', 'update', 'remove', 'revert'.
accountIdYesThe unique ID of the GTM Account containing the transformation.
containerIdYesThe unique ID of the GTM Container containing the transformation.
fingerprintNoThe fingerprint for optimistic concurrency control. Required for 'update' and 'revert' actions.
workspaceIdYesThe unique ID of the GTM Workspace containing the transformation.
itemsPerPageNoNumber of items to return per page (1-50). Default: 50. Use lower values if experiencing response issues.
transformationIdNoThe unique ID of the GTM transformation. Required for 'get', 'update', 'remove', and 'revert' actions.
createOrUpdateConfigNoConfiguration for 'create' and 'update' actions. All fields correspond to the GTM transformation resource, except IDs.

TDQS

C2.9/5.0
Behavior2/5

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

With no annotations, the description must fully disclose behavior. It only mentions pagination for the 'list' action but omits important traits like whether actions are idempotent, what 'remove' does (destructive?), and the side effects of 'revert'. This is insufficient for a tool with multiple actions.

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 a single sentence listing actions with a brief note on list pagination. It is efficient and front-loaded, but could be more informative given the tool's complexity. Still, it avoids unnecessary verbosity.

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

Completeness2/5

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

Considering 9 parameters, no annotations, and no output schema, the description is incomplete. It fails to explain what a transformation is, prerequisites, error scenarios, or return values for each action. The high parameter count and nested objects demand richer context.

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

Parameters3/5

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

Schema coverage is 100%, so baseline is 3. The description adds no parameter meaning beyond the schema; it only reiterates itemsPerPage behavior already documented. It does not enhance understanding of complex nested objects like createOrUpdateConfig.

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 states it performs 'all GTM transformation operations' and lists six actions, making the purpose clear. However, it could be more precise by specifying that it manages GTM transformation resources, distinguishing it from sibling tools which target other entities.

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

Usage Guidelines2/5

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

The description provides no guidance on when to use this tool versus alternatives or which action to choose for a task. Given multiple similar CRUD tools for other GTM entities, the lack of contextual advice reduces usability.

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

gtm_triggerA

Performs all GTM trigger operations: create, get, list, update, remove, revert. The 'list' action returns up to 20 items per page.

ParametersJSON Schema
NameRequiredDescriptionDefault
pageNoPage number for pagination (starts from 1). Each page contains up to itemsPerPage items.
actionYesThe GTM trigger operation to perform. Must be one of: 'create', 'get', 'list', 'update', 'remove', 'revert'.
accountIdYesThe unique ID of the GTM Account containing the trigger.
triggerIdNoThe unique ID of the GTM trigger. Required for 'get', 'update', 'remove', and 'revert' actions.
containerIdYesThe unique ID of the GTM Container containing the trigger.
fingerprintNoThe fingerprint for optimistic concurrency control. Required for 'update' and 'revert' actions.
workspaceIdYesThe unique ID of the GTM Workspace containing the trigger.
itemsPerPageNoNumber of items to return per page (1-20). Default: 20. Use lower values if experiencing response issues.
createOrUpdateConfigNoConfiguration for 'create' and 'update' actions. All fields correspond to the GTM trigger resource, except IDs.

TDQS

A3.7/5.0
Behavior3/5

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

Without annotations, the description carries full burden. It mentions that 'list' returns up to 20 items per page, which is helpful. However, it does not disclose behavioral traits like idempotency, destructive nature of 'remove', authentication requirements, or error handling.

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

Conciseness5/5

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

Two sentences: first clearly states purpose and second adds key detail about list action. No filler, front-loaded, every sentence earns its place.

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

Completeness3/5

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

Given the complexity (9 parameters, nested objects, 6 actions), the description lacks prerequisites, usage examples, and default behavior for actions. It covers pagination for list but leaves gaps for other actions. Adequate but incomplete.

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

Parameters3/5

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

The input schema has 100% coverage with detailed descriptions for each parameter. The tool description itself adds minimal semantic value beyond the schema, only noting the list action limit. Baseline of 3 is appropriate as schema does the heavy lifting.

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

Purpose5/5

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

Description clearly states it performs all GTM trigger operations (create, get, list, update, remove, revert) and specifies the resource (trigger). It distinguishes from sibling tools like gtm_tag or gtm_container by naming the specific resource type.

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?

No explicit guidance on when to use this tool versus alternatives. The sibling tools cover other GTM resources, so usage is implied but not stated. No indication of prerequisites or which action to choose for a given scenario.

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

gtm_user_permissionB

Performs all user permission operations: create, get, list, update, remove. The 'list' action returns up to 50 items per page.

ParametersJSON Schema
NameRequiredDescriptionDefault
pageNoPage number for pagination (starts from 1). Each page contains up to itemsPerPage items.
actionYesThe user permission operation to perform. Must be one of: 'create', 'get', 'list', 'update', 'remove'.
accountIdYesThe unique ID of the GTM Account containing the user permission.
itemsPerPageNoNumber of items to return per page (1-50). Default: 50. Use lower values if experiencing response issues.
userPermissionIdNoThe unique ID of the user permission. Required for 'get', 'update', and 'remove' actions.
createOrUpdateConfigNoConfiguration for 'create' and 'update' actions. All fields correspond to the GTM user permission resource.

TDQS

B3.3/5.0
Behavior3/5

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

With no annotations, the description carries full burden for behavioral disclosure. It mentions pagination for the 'list' action (up to 50 items per page), but fails to describe side effects for create/update/remove, required authentication, or error conditions.

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 very concise at two sentences with no fluff. However, the brevity sacrifices completeness; a slightly longer description with more context would be preferable.

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

Completeness2/5

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

Given the complexity of 6 parameters, nested objects, and no output schema, the description is insufficient. It does not explain what each action does, permissions needed, or expected return values, leaving the agent with significant gaps.

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

Parameters3/5

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

Schema coverage is 100%, so the baseline is 3. The description adds no extra meaning beyond the schema beyond noting that list returns 50 items per page; it doesn't clarify parameter relationships or usage of the nested createOrUpdateConfig object.

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

Purpose5/5

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

The description clearly states the tool performs all user permission operations (create, get, list, update, remove), specifying the exact resource and actions, which distinguishes it from sibling tools like gtm_container or gtm_tag that handle different resources.

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

Usage Guidelines2/5

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

The description provides no guidance on when to use this tool versus alternatives, nor does it indicate prerequisites or exclusions. It only lists the actions without context on appropriate usage scenarios.

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

gtm_variableB

Performs all GTM variable operations: create, get, list, update, remove, revert. The 'list' action returns up to 20 items per page.

ParametersJSON Schema
NameRequiredDescriptionDefault
pageNoPage number for pagination (starts from 1). Each page contains up to itemsPerPage items.
actionYesThe GTM variable operation to perform. Must be one of: 'create', 'get', 'list', 'update', 'remove', 'revert'.
accountIdYesThe unique ID of the GTM Account containing the variable.
variableIdNoThe unique ID of the GTM variable. Required for 'get', 'update', 'remove', and 'revert' actions.
containerIdYesThe unique ID of the GTM Container containing the variable.
fingerprintNoThe fingerprint for optimistic concurrency control. Optional for 'update' action if included in createOrUpdateConfig. Required for 'revert' action.
workspaceIdYesThe unique ID of the GTM Workspace containing the variable.
itemsPerPageNoNumber of items to return per page (1-20). Default: 20. Use lower values if experiencing response issues.
createOrUpdateConfigNoConfiguration for 'create' and 'update' actions. All fields correspond to the GTM variable resource, except IDs.

TDQS

B3.4/5.0
Behavior2/5

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

With no annotations, the description must disclose behavioral traits. It only mentions pagination for 'list' and states the actions. It does not describe mutation effects (e.g., whether remove is hard delete), authentication needs, rate limits, or concurrency control via fingerprint. This leaves significant behavioral gaps.

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

Conciseness5/5

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

The description is two sentences long, front-loading the core purpose and adding one key detail about pagination. No fluff or redundancy.

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

Completeness2/5

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

Given the complexity (9 parameters, nested objects, no output schema), the description is insufficient. It fails to describe return values, error conditions, required action-specific parameters, or how to use fingerprint for optimistic locking. The pagination info is minimal.

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

Parameters3/5

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

Schema description coverage is 100%, so the schema already documents all parameters. The description adds no additional semantic meaning beyond what is in the schema. Therefore, it meets the baseline score of 3.

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

Purpose5/5

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

The description explicitly states it performs all GTM variable operations (create, get, list, update, remove, revert) and specifies that list returns up to 20 items per page. This clearly distinguishes it from sibling tools like gtm_tag or gtm_trigger, which operate on different resources.

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 lists the supported actions but does not provide guidance on when to use this tool versus alternatives (e.g., gtm_built_in_variable for built-in variables). Usage context is implied by resource name, but no explicit when-to-use or when-not-to-use instructions are given.

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

gtm_versionA

Performs all container version operations: get, live, publish, remove, setLatest, undelete, update. For 'get' and 'live' actions, use 'resourceType' to paginate specific resource arrays (up to 20 items per page) to avoid response truncation.

ParametersJSON Schema
NameRequiredDescriptionDefault
pageNoPage number for pagination (starts from 1). Only used when resourceType is specified.
actionYesThe container version operation to perform. Must be one of: 'get', 'live', 'publish', 'remove', 'setLatest', 'undelete', 'update'.
accountIdYesThe unique ID of the GTM Account containing the container version.
containerIdYesThe unique ID of the GTM Container containing the version.
fingerprintNoThe fingerprint for optimistic concurrency control. Required for 'publish' and 'update' actions.
itemsPerPageNoNumber of items to return per page (1-20). Only used when resourceType is specified.
resourceTypeNoSpecific resource type to retrieve with pagination (only for 'get' and 'live' actions). If not specified, returns summary with sample items.
includeSummaryNoInclude counts and metadata for all resource types. Only used when resourceType is specified.
containerVersionIdNoThe unique ID of the GTM container version. Required for 'get', 'publish', 'remove', 'setLatest', 'undelete', and 'update' actions.
createOrUpdateConfigNoConfiguration for 'create' and 'update' actions. All fields correspond to the GTM container version resource, except IDs.

TDQS

A3.8/5.0
Behavior2/5

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

No annotations are provided, so the description carries full burden. It mentions pagination limits (20 items per page) but fails to disclose whether operations are destructive, require authentication, or have other side effects. For a tool with multiple mutation actions, this is a significant gap.

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

Conciseness5/5

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

The description is two sentences: the first lists operations, the second provides pagination advice. It is front-loaded with the purpose and contains no fluff. Every sentence earns its place.

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

Completeness2/5

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

Despite 10 parameters and no output schema, the description does not explain required parameters (accountId, containerId), what the tool returns, or prerequisites for each action. Pagination advice is useful but insufficient for a complex tool handling multiple operations.

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 coverage is 100%, so baseline is 3. The description adds value by explaining that pagination parameters (page, itemsPerPage) are only used when resourceType is specified, and that resourceType helps avoid response truncation. This enhances the schema descriptions.

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

Purpose5/5

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

The description clearly states the verb ('performs') and the resource ('container version operations'), and lists all seven specific operations. This distinguishes it from sibling tools like gtm_tag or gtm_trigger which handle different resources.

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

Usage Guidelines4/5

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

The description provides explicit guidance on when to use pagination: for 'get' and 'live' actions with 'resourceType'. However, it does not specify when not to use the tool or offer alternatives for other operations.

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

gtm_version_headerB

Performs all container version header operations: list, latest. The 'list' action returns up to 50 items per page.

ParametersJSON Schema
NameRequiredDescriptionDefault
pageNoPage number for pagination (starts from 1). Each page contains up to itemsPerPage items.
actionYesThe container version header operation to perform. Must be one of: 'list', 'latest'.
accountIdYesThe unique ID of the GTM Account containing the container.
containerIdYesThe unique ID of the GTM Container.
itemsPerPageNoNumber of items to return per page (1-50). Default: 50. Use lower values if experiencing response issues.
includeDeletedNoWhether to also retrieve deleted (archived) versions. Required for 'list' action.

TDQS

B3.1/5.0
Behavior2/5

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

With no annotations, the description must disclose behavioral traits. It only mentions that 'list' returns up to 50 items per page, but does not disclose potential side effects, authorization needs, or whether operations are read-only. The 'latest' action behavior is completely undescribed.

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

Conciseness5/5

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

The description is extremely concise with two sentences covering the core operations and a key behavior. Every word earns its place; no extraneous information.

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

Completeness3/5

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

Given the lack of an output schema, the description should hint at the return value format or include details about the 'latest' action. It is adequate for a simple tool but leaves significant gaps in understanding the full behavior, especially for the 'latest' action and pagination details.

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

Parameters3/5

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

Schema coverage is 100% and each parameter is well-described in the schema. The description adds minimal value beyond the schema, only referencing the pagination limit. A baseline of 3 is appropriate as the description does not introduce confusion but also does not enhance understanding.

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 performs container version header operations for 'list' and 'latest' actions. It identifies the resource and verb specifically, which helps distinguish it from other sibling tools like gtm_version, though it does not explicitly differentiate them.

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

Usage Guidelines2/5

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

The description provides no guidance on when to use this tool over alternatives, nor does it mention prerequisites, context, or when not to use it. The lack of usage hints limits the agent's ability to select the correct tool confidently.

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

gtm_workspaceB

Performs various workspace operations including create, get, list, update, remove, createVersion, getStatus, sync, quickPreview, and resolveConflict actions. The 'list' action returns up to 50 items per page.

ParametersJSON Schema
NameRequiredDescriptionDefault
pageNoPage number for pagination (starts from 1). Each page contains up to itemsPerPage items.
actionYesThe workspace operation to perform. Must be one of: 'create', 'get', 'list', 'update', 'remove', 'createVersion', 'getStatus', 'sync', 'quickPreview', 'resolveConflict'.
entityNoThe resolved entity for 'resolveConflict' action.
accountIdYesThe unique ID of the GTM Account containing the workspace.
containerIdYesThe unique ID of the GTM Container containing the workspace.
fingerprintNoFingerprint for optimistic concurrency control. Required for 'update' and 'resolveConflict' actions.
workspaceIdNoThe unique ID of the GTM Workspace. Required for all actions except 'create' and 'list'.
changeStatusNoThe status of the change for the entity in the workspace for 'resolveConflict' action. Possible values: 'added', 'modified', 'deleted', 'unmodified'.
itemsPerPageNoNumber of items to return per page (1-50). Default: 50. Use lower values if experiencing response issues.
createOrUpdateConfigNoConfiguration for 'create' and 'update' actions. All fields correspond to the GTM workspace resource, except IDs.

TDQS

B3/5.0
Behavior2/5

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

No annotations provided. The description only discloses that the 'list' action returns up to 50 items per page. It omits other behavioral traits like idempotency, permissions, or side effects of actions like 'remove' or 'resolveConflict'.

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

Conciseness3/5

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

The description is short but reads as a run-on sentence listing all actions. It could be more structured with bullet points or sections for clarity.

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

Completeness2/5

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

The tool has 10 parameters, many nested objects, and multiple actions, but the description is extremely brief. It lacks explanations for what each action does and does not hint at return values (no output schema). Incomplete for such complexity.

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

Parameters3/5

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

Schema coverage is 100%, so the baseline is 3. The description adds minimal value beyond the schema, only reiterating the pagination limit already in the 'itemsPerPage' parameter.

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

Purpose5/5

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

The description lists specific actions (create, get, list, update, remove, createVersion, getStatus, sync, quickPreview, resolveConflict) and mentions the list action's page limit, clearly stating what the tool does and distinguishing it from sibling GTM entity tools.

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

Usage Guidelines2/5

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

No explicit guidance on when to use this tool versus other GTM tools (e.g., gtm_tag for tags, gtm_trigger for triggers). The description only lists actions without context on selection criteria.

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

gtm_zoneB

Performs various zone operations including create, get, list, update, remove, and revert actions. The 'list' action returns up to 20 items per page.

ParametersJSON Schema
NameRequiredDescriptionDefault
pageNoPage number for pagination (starts from 1). Each page contains up to itemsPerPage items.
actionYesThe zone operation to perform. Must be one of: 'create', 'get', 'list', 'update', 'remove', 'revert'.
zoneIdNoThe unique ID of the GTM Zone. Required for all actions except 'create' and 'list'.
accountIdYesThe unique ID of the GTM Account containing the zone.
containerIdYesThe unique ID of the GTM Container containing the zone.
fingerprintNoFingerprint for optimistic concurrency control. Required for 'update' and 'revert' actions.
workspaceIdYesThe unique ID of the GTM Workspace containing the zone.
itemsPerPageNoNumber of items to return per page (1-20). Default: 20. Use lower values if experiencing response issues.
createOrUpdateConfigNoConfiguration for 'create' and 'update' actions. All fields correspond to the GTM zone resource, except IDs.

TDQS

B3.3/5.0
Behavior2/5

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

No annotations are provided. The description mentions pagination behavior ('list' returns up to 20 items per page), but does not disclose destructive nature of 'remove' or 'update' actions, authentication needs, or rate limits. For a tool with mutating operations, this is insufficient.

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 two sentences with no unnecessary words. It front-loads the purpose and adds a key behavioral note. Slightly more structure or clarity on action-specific behavior could improve it, but it is efficient.

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

Completeness2/5

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

Given the tool's complexity (9 parameters, nested objects, multiple mutating actions, no output schema), the description is too minimal. It does not explain return values, error cases, or how the createOrUpdateConfig parameter works. Many important contextual details are missing.

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

Parameters3/5

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

Schema description coverage is 100% (all 9 parameters have descriptions). The description adds one behavioral detail (list action pagination) but otherwise does not add meaning beyond the schema. Baseline 3 is appropriate.

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

Purpose5/5

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

The description clearly states the tool performs various zone operations and lists the specific actions (create, get, list, update, remove, revert), distinguishing it from sibling tools like gtm_container or gtm_tag. The verb 'performs' combined with the resource 'zone operations' is specific.

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 the tool is for managing zones, but does not explicitly state when to use it versus alternatives (e.g., for containers use gtm_container). No when-not-to-use or alternative recommendations are provided.

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

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

  1. 18 tool updatesv3.1.7
    • First observedgtm_account
    • First observedgtm_built_in_variable
    • First observedgtm_client
    • First observedgtm_container
    • First observedgtm_destination
    • First observedgtm_environment
    • First observedgtm_folder
    • First observedgtm_gtag_config
    • First observedgtm_tag
    • First observedgtm_template
    • First observedgtm_transformation
    • First observedgtm_trigger
    • First observedgtm_user_permission
    • First observedgtm_variable
    • First observedgtm_version
    • First observedgtm_version_header
    • First observedgtm_workspace
    • First observedgtm_zone

TDQS

A3.7/5.0

Scored across 18 tools

Disambiguation5/5

Each tool is named after a distinct GTM resource, and there is no overlap in the resource types they operate on. Examples include gtm_container, gtm_tag, and gtm_account, which clearly separate concerns.

Naming Consistency5/5

All tools follow a consistent pattern of 'gtm_' followed by the resource name (e.g., gtm_workspace, gtm_trigger). No mixing of naming conventions or verb styles.

Tool Count5/5

With 18 tools covering the main GTM entities (containers, tags, triggers, workspaces, etc.), the count is well-scoped for a comprehensive management server. Each tool earns its place.

Completeness5/5

The toolset covers all major GTM resource types, including containers, accounts, workspaces, tags, triggers, variables, environments, folders, and more. Only niche or rarely used entities are absent, making the surface complete for typical GTM management.

Maintenance

ActivityInactive
ResponsivenessNo issues

Related MCP Connectors

Related MCP Servers

  • 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.
    16 npm
    14
    MIT
  • F
    license
    Not graded
    quality
    B
    maintenance
    A remote MCP server for Google Tag Manager that enables AI assistants to manage GTM accounts, containers, tags, triggers, variables, and more via OAuth or service account authentication.
    1
    -
  • A
    license
    A
    quality
    B
    maintenance
    An MCP server for the Google Tag Manager API v2 that enables AI assistants to query GTM accounts, containers, tags, triggers, variables, and unpublished changes.
    24
    2
    Apache 2.0