Skip to main content
Glama
google-data-mcp

google-data-mcp

by seliem-attia

GTM: Validate workspace

gtm_validate_workspace
Read-only

Checks every tag, trigger, and variable in a GTM workspace, verifying Custom HTML/JS follows ES5 strict rules and all {{Variables}} exist. Reports each problem with name, ID, line, and column.

Instructions

Checks all tags, triggers and variables in the workspace: JavaScript in Custom HTML/Custom JS (ES5 strict, incl. functions in blocks) and whether every {{Variable}} exists. Returns name, ID, line and column per problem.

Input Schema

NameRequiredDescriptionDefault
accountIdYesGTM accountId (from gtm_list_accounts)
containerIdYesGTM containerId, numeric
workspaceIdYesWorkspace ID (from gtm_list_workspaces / gtm_create_workspace)

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.6.1

TDQS

A3.9/5.0
Behavior4/5

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

Annotations already declare readOnlyHint=true and openWorldHint=true, so safety is covered; the description adds genuinely non-obvious behavior — that it parses JavaScript under ES5 strict mode including functions inside blocks, and that it verifies every {{Variable}} reference exists. It also discloses the return shape (name, ID, line and column per problem), which no output schema provides. It stops short of stating limits such as whether the check is static-only or how many problems are returned.

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, both front-loaded: the first states the check and its scope, the second states the return format. The parenthetical '(ES5 strict, incl. functions in blocks)' and the '{{Variable}}' notation are dense but each carries real information, and there is no filler or restatement of the name or title.

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?

For a read-only, three-parameter, workspace-scoped validation tool with no output schema, the description covers what is validated, against which language rules, and what each problem record contains — enough for an agent to call it and interpret results. The remaining gap is routing guidance relative to the other GTM workspace tools (status, preview, sync), which matters given how many siblings exist.

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?

All three parameters (accountId, containerId, workspaceId) are fully documented in the schema at 100% coverage, including provenance hints pointing to gtm_list_accounts and gtm_list_workspaces, so the baseline is 3. The description adds no parameter-level information but correctly adds nothing misleading, and the workspace-scoped framing reinforces that all three IDs must refer to the same hierarchy.

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 uses a specific verb ('Checks') on a specific resource set ('all tags, triggers and variables in the workspace') and further narrows the scope to JavaScript validity (ES5 strict, functions in blocks) and {{Variable}} resolution. That is far more precise than the title and distinguishes it from listing/status siblings such as gtm_workspace_status or gtm_list_entities, though those siblings are never named.

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?

Usage is only implied: an agent can infer this is a pre-publish sanity check on a workspace, but the description never states when to run it versus gtm_workspace_status, gtm_quick_preview or gtm_sync_workspace, nor any prerequisites other than the required IDs. No explicit when/when-not guidance or alternatives are given.

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