Skip to main content
Glama
rgellis

Google Tag Manager MCP Server

by rgellis

Google Tag Manager MCP Server

An MCP server covering the entire Google Tag Manager API v2 — all 106 published methods, plus task-shaped tools on top for the workflows people actually run against a container.

Overview

This project provides a Model Context Protocol server that wraps the Google Tag Manager API v2, letting LLMs read and write accounts, containers, workspaces, tags, triggers, variables, versions and permissions through a standardised interface.

Tag Manager ships no official SDK in any language, so this is built on the generic google-api-python-client with complete static types supplied by google-api-python-client-stubs. See Why there is no Tag Manager SDK.

Related MCP server: Google Tag Manager MCP Server

Features

  • Complete API Coverage: all 106 published API methods, enforced by a test rather than claimed

  • Full Type Safety: strict pyright with 0 errors

  • 100% Test Coverage: 383 tests, 100% statement and branch coverage, floor enforced in config

  • Task-Shaped Tools: 6 convenience tools on top of the raw API

  • ID-Based Addressing: tools take account/container/workspace IDs; relative paths are assembled and validated for you

  • MCP Compliant: FastMCP 4, stdio transport

  • Async Throughout: the synchronous Google client is dispatched off the event loop

  • Read-Only Mode: an opt-in switch that refuses every mutating call

Installation

git clone https://github.com/rgellis/google-tag-manager-mcp.git
cd google-tag-manager-mcp

# Install dependencies using uv
uv sync

Requires Python 3.12+.

1. Enable the API

The Tag Manager API must be enabled on the Google Cloud project that owns your OAuth client:

gcloud services enable tagmanager.googleapis.com --project=<project>

2. Create an OAuth client

In the Google Cloud console, create an OAuth 2.0 client of type Desktop app (or Web application with http://localhost as an authorised redirect URI). Note the client ID and secret.

3. Mint a refresh token

GOOGLE_CLIENT_ID="..." GOOGLE_CLIENT_SECRET="..." \
  uv run scripts/get_refresh_token.py

# or, if this server will only ever read:
GOOGLE_CLIENT_ID="..." GOOGLE_CLIENT_SECRET="..." \
  uv run scripts/get_refresh_token.py --read-only

Sign in as an account with access to the Tag Manager containers you need. The script prints the refresh token.

Scope the token to this server alone rather than reusing one minted for other Google APIs — re-consenting a shared token to add the Tag Manager scopes rotates a secret everything else using it depends on.

4. Set credentials

export GOOGLE_CLIENT_ID="your_client_id"
export GOOGLE_CLIENT_SECRET="your_client_secret"
export GOOGLE_TAG_MANAGER_REFRESH_TOKEN="token_from_step_3"

# optional: request only the readonly scope and refuse all mutations
export TAG_MANAGER_READ_ONLY=false

If those three are not all set, the client falls back to Application Default Credentials, which covers a service account via GOOGLE_APPLICATION_CREDENTIALS as well as local gcloud auth.

5. Verify

uv run main.py --groups accounts

Then call check_client_status, which reports whether credentials resolve, the scopes in use, and whether read-only mode is active — without spending API quota.

Usage

uv run main.py                          # all 112 tools, over stdio
uv run main.py --groups web             # the web-container subset
uv run main.py --groups tags,triggers   # a specific subset

Groups: accounts, user-permissions, containers, destinations, environments, versions, workspaces, tags, triggers, variables, built-in-variables, folders, templates, clients, transformations, zones, gtag-config, insights.

--groups matters more here than on a small API. An MCP client pays for every tool description in its context on every request, and 112 of them is a lot to carry when the task is "read the tags in this container". web is a useful default for web containers: accounts, containers, workspaces, versions, tags, triggers, variables, built-in variables, folders and the task-shaped tools, leaving out the server-side (clients, transformations) and 360-only (zones) resources.

With an MCP client

{
  "mcpServers": {
    "tag-manager": {
      "command": "uv",
      "args": ["run", "--directory", "/path/to/google-tag-manager-mcp", "main.py", "--groups", "web"],
      "env": {
        "GOOGLE_CLIENT_ID": "...",
        "GOOGLE_CLIENT_SECRET": "...",
        "GOOGLE_TAG_MANAGER_REFRESH_TOKEN": "..."
      }
    }
  }
}

Identifiers

Every Tag Manager resource is addressed by a relative path such as accounts/6000000000/containers/7000000/workspaces/3/tags/42, and the API validates each one against a regex — a path of the wrong shape is rejected before any permission check, so a malformed ID surfaces as a confusing 400 or 404 rather than "you got the shape wrong".

Tools therefore take the individual IDs and assemble the path for you:

get_tag(account_id="6000000000", container_id="7000000",
        workspace_id="3", tag_id="42")

The API's own collection/id spelling is accepted too (account_id="accounts/6000000000"), since that is what you have to hand when copying an ID out of a previous response. A longer path is rejected rather than silently truncated — guessing which segment was meant is how you end up writing to the wrong container.

Starting from a GTM-XXXXXXX off a website with no account ID? Call lookup_container, the one read that needs no account.

The Tag Manager model, in four sentences

An account holds containers; a container is what a site loads. Edits happen in a workspace, which is a draft branch — nothing in one affects the live site. Turning a workspace into a version freezes its entities and consumes the workspace. Publishing a version is what reaches production, and it does so immediately, for every visitor.

publish_workspace performs the last two steps and defaults publish to false, so creating a version is never silently a release.

Feature Parity Table

Implementation status of Google Tag Manager API v2 methods (discovery revision 20260916). All 106 methods are implemented; the table groups them by resource.

Tools

Category

API Methods

Implemented

Test Coverage

Notes

list_accounts, get_account, update_account

Accounts

accounts.* (3)

✅ Yes

✅ Yes

Start here for account IDs

list_user_permissions, get_user_permission, create_user_permission, update_user_permission, delete_user_permission

User Permissions

accounts.user_permissions.* (5)

✅ Yes

✅ Yes

Update takes no fingerprint

list_containers, get_container, lookup_container, get_container_snippet, create_container, update_container, delete_container, combine_containers, move_tag_id

Containers

accounts.containers.* (9)

✅ Yes

✅ Yes

lookup_container needs no account ID

list_destinations, get_destination, link_destination

Destinations

...destinations.* (3)

✅ Yes

✅ Yes

Linking moves, it does not copy

list_environments, get_environment, create_environment, update_environment, delete_environment, reauthorize_environment

Environments

...environments.* (6)

✅ Yes

✅ Yes

Reauthorize rotates the preview code

list_version_headers, get_latest_version_header

Version Headers

...version_headers.* (2)

✅ Yes

✅ Yes

Cheap history, no entity payload

get_version, get_live_version, update_version, delete_version, undelete_version, publish_version, set_latest_version

Versions

...versions.* (7)

✅ Yes

✅ Yes

⚠️ publish_version hits production

list_workspaces, get_workspace, get_workspace_status, create_workspace, update_workspace, delete_workspace, sync_workspace, resolve_workspace_conflict, quick_preview_workspace, create_version, bulk_update_workspace

Workspaces

...workspaces.* (11)

✅ Yes

✅ Yes

create_version consumes the workspace

list_tags, get_tag, create_tag, update_tag, delete_tag, revert_tag

Tags

...tags.* (6)

✅ Yes

✅ Yes

Update replaces, it does not merge

list_triggers, get_trigger, create_trigger, update_trigger, delete_trigger, revert_trigger

Triggers

...triggers.* (6)

✅ Yes

✅ Yes

Referenced by tag firingTriggerId

list_variables, get_variable, create_variable, update_variable, delete_variable, revert_variable

Variables

...variables.* (6)

✅ Yes

✅ Yes

User-defined variables only

list_built_in_variables, create_built_in_variable, delete_built_in_variable, revert_built_in_variable

Built-In Variables

...built_in_variables.* (4)

✅ Yes

✅ Yes

Addressed by type, not ID; three distinct paths

list_folders, get_folder, get_folder_entities, create_folder, update_folder, delete_folder, revert_folder, move_entities_to_folder

Folders

...folders.* (8)

✅ Yes

✅ Yes

get_folder_entities is a POST that reads

list_templates, get_template, create_template, update_template, delete_template, revert_template, import_template_from_gallery

Templates

...templates.* (7)

✅ Yes

✅ Yes

Gallery import needs explicit permission ack

list_clients, get_client, create_client, update_client, delete_client, revert_client

Clients

...clients.* (6)

✅ Yes

✅ Yes

Server containers only

list_transformations, get_transformation, create_transformation, update_transformation, delete_transformation, revert_transformation

Transformations

...transformations.* (6)

✅ Yes

✅ Yes

Server containers only

list_zones, get_zone, create_zone, update_zone, delete_zone, revert_zone

Zones

...zones.* (6)

✅ Yes

✅ Yes

Tag Manager 360 only

list_gtag_configs, get_gtag_config, create_gtag_config, update_gtag_config, delete_gtag_config

Google Tag Config

...gtag_config.* (5)

✅ Yes

✅ Yes

The only entity with no revert method

list_workspace_entities, find_entities_by_name, summarize_container, list_all_containers, publish_workspace

Task-Shaped

(compose several methods)

✅ Yes

✅ Yes

See below

check_client_status

Diagnostics

(no API call)

✅ Yes

✅ Yes

Credential state; spends no quota

Task-shaped tools

Nothing here maps one-to-one onto an API method. Each exists because the raw API makes a common task take several round trips that have to be sequenced correctly.

Tool

Composes

Why

list_workspace_entities

tags.list, triggers.list, variables.list, folders.list, each paged to exhaustion

Reading a container's setup is four paginated calls

find_entities_by_name

the same four, filtered by name

The API has no search; turns "the purchase tag" into an ID

summarize_container

containers.get, workspaces.list, versions.live

"What is this container and what is it running"

list_all_containers

accounts.list, then containers.list per account

"What do I have access to", in one call

publish_workspace

workspaces.create_version, then versions.publish

The release flow, with publish defaulting to false

Summary Statistics

  • API Methods Implemented: 106 out of 106 Tag Manager API v2 methods (100%)

  • Total Tools: 112 (106 API methods + 6 convenience tools)

  • Tools with Tests: 112 (100% tool coverage, enforced end to end)

  • Line & Branch Coverage: 100% across src (1,471 statements, 94 branches), enforced by fail_under = 100

  • Test Count: 383

  • Type Safety: pyright strict, 0 errors

Implementation Highlights

  1. Complete API Surface: every published method across all 18 resources

  2. Coverage Enforced, Not Claimed: tests/test_api_coverage.py diffs the implementation against the vendored discovery document in both directions

  3. End-to-End Tool Tests: every one of the 112 tools is invoked through a real MCP client, and test_every_registered_tool_is_exercised fails if a tool is added without one

  4. Paths Built, Not Pasted: relative paths are assembled from IDs in one place and validated, so a malformed identifier fails with a clear message instead of a 404

  5. Publishing Is Explicit: publish_workspace will not release unless asked, and never publishes a version that failed to compile

Key Features

  • Typed Discovery Client: complete static types from google-api-python-client-stubs

  • Off-Loop Execution: the synchronous Google client is dispatched via asyncio.to_thread, so it never blocks the MCP event loop

  • Uniform Error Translation: one execute() helper turns HttpError into a readable message, with per-status hints — a 400 usually means a stale fingerprint, a 404 usually means the wrong ID

  • Lazy Client Initialisation: credentials resolve on first use, so the server starts even when misconfigured and check_client_status can say why

  • Read-Only Mode: TAG_MANAGER_READ_ONLY=true requests the readonly scope and refuses every mutation

Scopes

Tag Manager splits write access six ways, so a token covering the whole API has to carry all of them. TAG_MANAGER_READ_ONLY=true requests only the first.

Scope

Needed for

tagmanager.readonly

Every read

tagmanager.edit.containers

Editing containers and workspace entities

tagmanager.edit.containerversions

Creating, editing and deleting versions

tagmanager.delete.containers

Deleting containers and workspaces

tagmanager.manage.accounts

Updating account settings

tagmanager.manage.users

User permissions

tagmanager.publish

Publishing versions, reauthorizing environments

A 403 from a call whose read equivalent works usually means the token is missing one of these, not that the user lacks permission.

API quirks worth knowing

These are published behaviours, implemented as published and documented in src/coverage.py under QUIRKS rather than worked around:

  • built_in_variables is addressed by type rather than ID, takes a list of types on create and delete but a single type on revert, and uses three different paths across its four methods.

  • folders.entities is a POST that reads. It is not gated by read-only mode.

  • environments.reauthorize and folders.move_entities_to_folder require a request body they make no use of; an empty object is sent when you supply none.

  • gtag_config is the only workspace entity with no revert method.

  • Fingerprints are Tag Manager's optimistic concurrency control. Every entity carries one, and passing it to an update rejects the write if the entity changed since you read it. A 400 mentioning a fingerprint means re-read and retry, not malformed input.

Why there is no Tag Manager SDK

Tag Manager is a discovery-document API. Google ships no dedicated client library for it in any language — no equivalent of google-ads or google-analytics-data. It is one of ~300 APIs served by the generic google-api-python-client, whose resources are built dynamically at runtime and are entirely untyped.

Other languages fare better, because their generic clients generate code at build time into per-API packages: Go has google.golang.org/api/tagmanager/v2, Java has google-api-services-tagmanager, .NET has Google.Apis.TagManager.v2, and Node's googleapis ships Schema$* TypeScript interfaces. Python is the outlier — its client parses the discovery document at runtime, so there is nothing to type-check.

That would normally rule out strict type checking. The way out is google-api-python-client-stubs, which covers tagmanager/v2 completely, with a build() overload keyed on the literal service name. It is a dev-only dependency — stubs never ship at runtime, so if it goes stale the cost is type-checking, not functionality.

Three consequences to know before editing:

  • src/client.py imports TagManagerResource under if TYPE_CHECKING:. The googleapiclient._apis package does not exist at runtime; that guard must stay.

  • FastMCP resolves tool annotations at runtime, so tool signatures use Dict[str, Any] while the service layer beneath stays precisely typed. Annotating a tool with a stub type raises NameError at registration.

  • The stubs are not always right. They type built_in_variables' type parameter as a single Literal where the discovery document marks it repeated. The discovery document is authoritative at runtime, so lists are sent.

Testing

# Run tests
uv run pytest

# Run tests with coverage (must stay at 100%)
.venv/bin/python -m pytest --cov --cov-report=term-missing

# Run type checking
uv run pyright

# Run code formatting
uv run ruff format .

# Everything at once
./scripts/typecheck.sh

Coverage is invoked as .venv/bin/python -m pytest rather than uv run pytest for one reason, documented in pyproject.toml: constructing a FastMCP instance inside a coverage-instrumented module trips a type check in cryptography's Rust bindings, so main.py is excluded from the measured source set and covered end-to-end by tests/test_api_coverage.py and tests/test_tools.py instead.

Development without a local toolchain

uv and Python 3.12 are not required on the workstation. The whole toolchain runs in Docker:

docker run --rm -v "$PWD":/app -w /app python:3.12-slim \
  bash -c 'apt-get update -qq && apt-get install -y -qq libatomic1 \
           && pip install -q uv && uv sync --extra dev && ./scripts/typecheck.sh'

libatomic1 is needed by the Node binary pyright downloads; without it pyright fails with a shared-library error rather than a type error.

Test layout

File

Covers

test_tools.py

Every one of the 112 tools invoked through a real MCP client, end to end

test_api_coverage.py

The API coverage contract, both directions, plus group selection

test_workspace_entities.py

The six resources sharing the CRUD+revert shape, parametrised

test_special_entities.py

Templates, folders, gtag config and built-in variables

test_accounts_service.py

Accounts and user permissions

test_containers_service.py

Containers and destinations

test_environments_service.py

Environments

test_versions_service.py

Versions and version headers

test_workspaces_service.py

Workspaces, sync, conflicts, version creation

test_insights_service.py

Pagination, name search, container summary, the release flow

test_client.py

Credential resolution, scopes, read-only gate, lifecycle

test_base.py

Error translation, status hints, off-loop dispatch

test_paths.py

Relative path construction and identifier validation

test_utils.py

Logging, dotenv, env flags, optional-parameter handling

When Google revises the API

uv run scripts/refresh_discovery.py
uv run pytest tests/test_api_coverage.py

refresh_discovery.py prints exactly which methods were added or removed. A new method fails test_every_api_method_is_declared until it is implemented and mapped in src/coverage.py. A removed one fails test_no_declared_method_has_been_removed. That failure is the intended alarm — do not weaken the test.

Repository layout

src/client.py            credentials, typed discovery client, read-only gate
src/coverage.py          API method -> tool mapping; the coverage contract
src/paths.py             relative path construction and identifier validation
src/services/            one module per API resource
src/services/base.py     off-loop dispatch and error translation
src/services/insights_service.py   the task-shaped tools
refs/                    vendored discovery document
scripts/                 token minting, discovery refresh, checks
tests/                   383 tests, 100% coverage
main.py                  stdio MCP server

Contributing

Contributions are welcome. Please ensure:

  1. All code has proper type annotations

  2. Tests are added for new functionality — coverage must stay at 100%

  3. Code passes uv run pyright with no errors

  4. Code is formatted with uv run ruff format

  5. Any new API method is mapped in src/coverage.py

License

MIT — see LICENSE.

Disclaimer

This is an unofficial integration and is not affiliated with or endorsed by Google. Tag Manager API quotas apply. Publishing a container version takes effect on the live site immediately — TAG_MANAGER_READ_ONLY=true exists for a reason.

Available Tools

112 tools
bulk_update_workspaceBulk Update WorkspaceA

Apply many entity changes to a workspace in a single call.

Use this when creating entities that reference each other -- a tag and the trigger that fires it, say -- since one call keeps them consistent.

ParametersJSON Schema
NameRequiredDescriptionDefault
account_idYesNumeric Tag Manager account ID.
container_idYesNumeric container ID.
workspace_idYesNumeric workspace ID.
proposed_changeYesProposedChange resource, e.g. {"change": [{"changeStatus": "added", "tag": {"tagId": "new_1", "name": "GA4 event", "type": "gaawe", ...}}]}. IDs for new entities must be "new_" followed by a number and unique within the request; reference them from other new entities by the same string.

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A3.8/5.0
Behavior3/5

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

With no annotations, the description carries the behavioral burden. It adds a meaningful consistency property, but it does not disclose atomicity, failure handling, permissions, or side effects beyond 'one call keeps them consistent.'

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 with no filler. It front-loads the core purpose and then immediately gives a practical use case, making it easy for an agent to scan and apply.

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?

The combination of a clear purpose, a concrete usage scenario, a detailed input schema, and an output schema makes the definition sufficient for selecting and calling the tool. It could add explicit non-goals, but the current coverage is strong for a complex bulk operation.

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%, and the proposed_change parameter is richly documented with an example and ID uniqueness rule. The prose adds no additional parameter-level meaning, so the baseline score of 3 applies.

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 a specific operation: applying many entity changes to a workspace in one call. This distinguishes it from single-entity tools like create_tag or update_workspace, though it could more explicitly enumerate create/update/delete coverage.

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?

It gives a clear when-to-use rule: use this when creating entities that reference each other, such as a tag and its trigger, because one call keeps them consistent. It does not explicitly mention alternatives or exclusions, but the guidance is concrete and useful.

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

check_client_statusCheck Client StatusA

Check that the Tag Manager client is configured and can authenticate.

Returns: Whether credentials resolve, whether the server is in read-only mode, and the OAuth scopes in use.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A4/5.0
Behavior3/5

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

With no annotations, the description carries the full burden of behavioral disclosure. It clearly describes the return values (credential resolution, read-only mode, OAuth scopes), but it does not explicitly state whether the operation has side effects or what authentication prerequisites exist. The verb 'check' implies a read-only operation, but this is not stated.

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 brief, front-loaded with the purpose, and uses a clear 'Returns' section for the output. Every sentence contributes meaningful information with no wasted words.

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?

The tool is simple (no parameters, output schema present) and the description covers its core behavior and return semantics. One minor gap is that it does not explicitly clarify that this checks the API/credential client rather than a Tag Manager 'client' entity, which could matter given the many client-related sibling tools.

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?

The tool has zero parameters, so the input schema is already complete and the description cannot add parameter-level meaning. Per the baseline for zero-parameter tools, this is sufficient.

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 uses a specific verb ('Check') and names the exact resource ('Tag Manager client') and the condition being verified (configured and can authenticate). The return list reinforces that this is a health/status check, distinguishing it from CRUD operations like list_clients or get_client.

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 intended use case is implied: use this when you need to verify client configuration and authentication status. However, it does not explicitly state when not to use it or name alternatives like get_client or list_clients, leaving some selection work to the agent.

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

combine_containersCombine ContainersC

Merge one container into another.

ParametersJSON Schema
NameRequiredDescriptionDefault
account_idYesNumeric Tag Manager account ID.
container_idYesNumeric ID of the container that survives the merge.
setting_sourceNoWhose settings survive -- "current", "other" or "settingSourceUnspecified".
other_container_idYesNumeric ID of the container merged into it.
allow_user_permission_feature_updateNoMust be true if the merge would turn the user-permissions feature on.

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

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 carry the burden of disclosing that this is likely a destructive operation, which container survives, and what happens to the merged container. The tool description only says 'Merge one container into another' and omits irreversibility, permission requirements, and settings behavior; the schema parameter descriptions partially compensate, but the description itself does not.

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 with no filler and front-loads the core action, which makes it efficient. It is slightly under-specified for a merge operation, but that deficiency is better captured in other dimensions.

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?

For a non-trivial, likely destructive merge operation with five parameters and zero annotations, this description is too sparse. It does not explain the merge outcome, the surviving container, how setting_source behaves, or any permission or irreversibility caveats; the output schema covers return shape but not the behavioral context needed to invoke the tool safely.

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 even though the tool description adds no parameter-specific detail. The input schema already documents account_id, container_id, other_container_id, setting_source, and allow_user_permission_feature_update, including the target container surviving the merge.

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 a specific action ('Merge') and resource ('one container into another'), and the combine_containers operation is clearly distinct from sibling tools like update_container or delete_container. However, it does not define what 'merge' implies in terms of content or survival, so it is clear but not fully elaborated.

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 gives no guidance on when to use this tool versus alternatives such as update_container, move_entities_to_folder, or publish_workspace. No prerequisites, exclusions, or alternative-tool routing is mentioned; usage is only implied by the verb.

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

create_built_in_variableCreate Built In VariableB

Enable built-in variables in a workspace.

ParametersJSON Schema
NameRequiredDescriptionDefault
typesYesType names to enable, e.g. ["pageUrl", "pagePath", "referrer", "clickText", "formId", "event"]. Several may be enabled in one call. Names are camelCase codes, not the display names shown in the Tag Manager UI.
account_idYesNumeric Tag Manager account ID.
container_idYesNumeric container ID.
workspace_idYesNumeric workspace ID.

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

B3.3/5.0
Behavior2/5

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

There are no annotations, so the description carries the full burden of explaining behavior. It conveys that this is a mutating enable operation but says nothing about idempotency, whether it is additive to existing enabled types, what happens if a type is already enabled, or required permissions. This is too sparse for a write operation.

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?

A single, front-loaded sentence with no filler or redundant clauses. Every word adds either the action or the scope.

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?

With complete parameter descriptions and an output schema, the description does not need to document inputs or return values. However, because there are no annotations and no usage or behavioral context, the description is not fully complete for an agent deciding to call this mutation safely.

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%, and the schema already explains each parameter, including the camelCase types format with examples. The description adds no parameter-level detail, but none is needed because the schema is explicit.

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 states a specific action ('Enable') on a specific resource ('built-in variables in a workspace') and is distinct from the sibling list/delete/revert_built_in_variable tools by verb and from create_variable by the 'built-in' qualifier. The action and resource scope are unambiguous.

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 given about when to choose this over create_variable, list_built_in_variables, or delete_built_in_variable. The intended context can only be inferred from the word 'built-in' and the required workspace identifiers, which is insufficient for routing among many sibling tools.

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

create_clientCreate ClientA

Create a client in a workspace.

Only server containers accept clients. Creating one in a web container fails.

ParametersJSON Schema
NameRequiredDescriptionDefault
clientYesClient resource. Requires name and type, e.g. {"name": "GA4 client", "type": "gaaw_client", "priority": 0, "parameter": [{"type": "boolean", "key": "activateGa4Support", "value": "true"}]}.
account_idYesNumeric Tag Manager account ID.
container_idYesNumeric container ID.
workspace_idYesNumeric workspace ID.

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A4.4/5.0
Behavior3/5

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

Without annotations, the description carries the full behavioral burden. It discloses an important failure mode (web containers fail), but it does not mention permissions, idempotency, conflict behavior, or other side effects. The provided context is useful but incomplete.

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 short sentences: the first states the core action and scope, the second delivers the critical caveat. Every word earns its place, and the most operational detail is front-loaded.

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 rich input schema and the presence of an output schema, the description is largely sufficient: it provides the one non-obvious environmental constraint. It could add permission or duplicate-handling notes, but nothing essential to invoking the tool correctly is missing.

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 already 100%, so the baseline is 3. The description adds meaning beyond the schema by clarifying that container_id must reference a server container, not a web container. It wisely avoids repeating the well-documented client object details.

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 states a specific action (create), a specific resource (client), and a scope (workspace), with the added constraint that only server containers accept clients. This clearly distinguishes it from sibling operations like update_client, delete_client, or list_clients.

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

Usage Guidelines5/5

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

It explicitly tells the agent when the tool is valid (server containers) and when it is not ('Creating one in a web container fails'). This is a direct usage condition that prevents a common mistake, and no alternative create-client sibling exists to confuse routing.

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

create_containerCreate ContainerC

Create a container in a Tag Manager account.

ParametersJSON Schema
NameRequiredDescriptionDefault
containerYesContainer resource. Requires name and usageContext, e.g. {"name": "example.com", "usageContext": ["web"]}. usageContext is one of web, android, ios, amp or server.
account_idYesNumeric Tag Manager account ID.

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

C2.8/5.0
Behavior2/5

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

With no annotations provided, the description carries the full burden of disclosing behavior. It only says 'Create a container,' which implies a write operation but doesn't mention permissions, idempotency, side effects, or response behavior. This is insufficient for a mutation tool.

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 a single sentence, which is concise, but it omits critical context. It is not overly verbose, but it is too brief to be useful beyond stating the obvious.

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?

There is an output schema, so return values are covered, but the description fails to explain when to create a container, what prerequisites exist, or how it differs from other creation tools. This leaves gaps for an agent deciding whether to invoke it.

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 schema already documents both parameters with good descriptions, including the container object's structure and allowed usageContext values. The description adds no additional parameter semantics, so a baseline of 3 is appropriate given 100% schema coverage.

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 action 'Create', the resource 'container', and the scope 'in a Tag Manager account'. It names a specific resource that distinguishes it from sibling create_* tools, though it does not explicitly contrast with 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?

There is no guidance on when to use this tool versus alternatives like create_tag or create_workspace, nor any prerequisites such as having an account. The description simply states the action without context.

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

create_environmentCreate EnvironmentC

Create an environment in a container.

ParametersJSON Schema
NameRequiredDescriptionDefault
account_idYesNumeric Tag Manager account ID.
environmentYesEnvironment resource. Requires name, e.g. {"name": "Staging", "description": "Pre-release checks", "url": "https://staging.example.com", "enableDebug": true}.
container_idYesNumeric container ID.

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

C2.5/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 responsibility. It doesn't disclose that creating an environment likely mutates resources, nor does it mention any prerequisites (like existing container), authentication requirements, or side effects. The description is too terse to inform the agent of what to expect.

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?

It's a single sentence, which is concise, but it lacks substantive content. The brevity is not harmful, but the sentence could be more informative without much extra length (e.g., 'Creates a new Google Tag Manager environment within a specified container.'). It's not front-loaded with any critical context.

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 that this is a create operation, the description should explain the purpose (e.g., for previewing changes), prerequisites (container must exist), and any constraints (e.g., environment name uniqueness). The output schema is present, but the description lacks guidance on the operation's significance in the broader workflow. Multi-line schema example helps, but still 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?

Schema description coverage is 100%, so the input schema already documents all parameters including the environment object's example. The description adds no additional parameter meaning; it's a simple 'Create' verb that aligns with the schema. Baseline 3 is appropriate since the schema carries the load.

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

Purpose3/5

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

The description states the verb 'create' and resource 'environment', but is too generic — 'Create an environment in a container' doesn't specify that this is a Google Tag Manager environment or how it differs from sibling tools like 'create_workspace' or 'create_container'. The purpose is clear at a basic level but lacks specificity.

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 on when to use this tool versus alternatives. The description does not mention that environments are typically used for version testing, nor does it clarify that this is for creating a new environment rather than updating or listing them. An agent might incorrectly consider it for similar create actions.

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

create_folderCreate FolderC

Create a folder in a workspace.

ParametersJSON Schema
NameRequiredDescriptionDefault
folderYesFolder resource. Requires name, e.g. {"name": "GA4", "notes": "Everything GA4-related"}.
account_idYesNumeric Tag Manager account ID.
container_idYesNumeric container ID.
workspace_idYesNumeric workspace ID.

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

C2.9/5.0
Behavior2/5

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

With no annotations provided, the description carries the full burden of behavioral disclosure, but it only says 'create' and offers no detail on side effects, permissions, duplicate handling, or workspace scoping. For a mutation tool, this is a noticeable gap.

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, front-loaded sentence with no filler. It is appropriately brief, though its brevity leaves usage and behavioral context to other dimensions.

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?

An output schema exists and all required parameters are documented in the input schema, so an agent can construct a valid call. However, the description lacks prerequisite, side-effect, and selection context, making it only minimally complete.

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%, and the folder parameter already documents the required name and gives an example. The description itself adds no parameter-level meaning beyond the phrase 'in a workspace,' so it remains at the schema-heavy baseline.

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 a clear action ('Create'), resource ('folder'), and context ('in a workspace'), so it is not tautological and is distinguishable from folder update/list/delete tools. It does not explicitly call out a sibling alternative, but the verb and object make the core purpose unambiguous.

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?

There is no guidance about when to use this tool versus alternatives such as update_folder, delete_folder, or move_entities_to_folder. No prerequisites, exclusions, or caveats are mentioned; usage is only implied by the verb.

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

create_gtag_configCreate Gtag ConfigB

Create a Google tag configuration in a workspace.

ParametersJSON Schema
NameRequiredDescriptionDefault
account_idYesNumeric Tag Manager account ID.
gtag_configYesGtagConfig resource, e.g. {"type": "googtag", "parameter": [{"type": "template", "key": "tagId", "value": "G-ABC123"}]}.
container_idYesNumeric container ID.
workspace_idYesNumeric workspace ID.

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

B3.1/5.0
Behavior2/5

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

Annotations are absent, so the description carries the full burden of disclosing behavior. 'Create' implies a write operation, but the description does not state permissions needed, whether the operation is additive and non-destructive, or any side effects. For a mutation tool with no annotation coverage, this is a meaningful 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 a single front-loaded sentence with no wasted words. It states the action and target immediately and does not repeat schema details.

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?

The schema fully documents inputs, an output schema is present, and the purpose is clear, so the call can probably be constructed. However, without annotations and with no usage or behavioral context, the description is only minimally complete for a write operation. The agent has to assume standard create semantics.

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 already provides 100% coverage for all four parameters, including a descriptive gtag_config example. The description itself adds no parameter-level meaning, but under the baseline for high schema coverage this is acceptable.

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 ('Create'), a specific resource ('Google tag configuration'), and a scope ('in a workspace'), so an agent can tell it apart from update/delete/get variants. It is not explicitly contrasted with sibling create_tag, but the resource type is distinct enough. It could earn a 5 by explicitly saying it creates a GtagConfig entity as opposed to a tag.

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 when-to-use, prerequisites, or alternatives are mentioned. The description simply states what it does, leaving the agent to infer that it is appropriate whenever a new Google tag configuration is needed in a workspace. There is no guidance about when to use create_tag instead.

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

create_tagCreate TagC

Create a tag in a workspace.

ParametersJSON Schema
NameRequiredDescriptionDefault
tagYesTag resource. Requires name and type, e.g. {"name": "GA4 - purchase", "type": "gaawe", "parameter": [{"type": "template", "key": "eventName", "value": "purchase"}], "firingTriggerId": ["12"]}. Tag types are Tag Manager's internal codes -- "gaawe" is a GA4 event, "googtag" a Google tag, "html" a custom HTML tag. Copy the shape from an existing tag via get_tag when unsure.
account_idYesNumeric Tag Manager account ID.
container_idYesNumeric container ID.
workspace_idYesNumeric workspace ID.

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

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 carries full responsibility for behavioral disclosure, but it only repeats the basic action. It does not mention that this mutates a workspace, that invalid tag types may be rejected, that the tag is associated with a container/workspace, or any possible side effects or failure modes. It is not misleading, but it is far too sparse.

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, front-loaded sentence with no filler. It effectively communicates the core action in minimal words narr. However, it borders on tautology with the tool name, and the added 'in a workspace' is the only structural differentiation, making it slightly too sparse.

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?

The rich schema description for the 'tag' parameter and the full parameter coverage compensate for many gaps, and the output schema likely covers return values. Still, the tool description omits usage context, prerequirements, and behavioral side effects. Given the absence of annotations, this is a minimally viable definition but not a complete one.

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 even without parameter explanations in the tool description. The tag parameter's description adds substantial meaning with a full example, required fields, and an explanation of internal type codes. The tool description itself adds no parameter semantics, so it does not exceed the baseline.

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 a clear verb and resource: 'Create a tag in a workspace.' It identifies the object type (tag) and scope (workspace), which distinguishes it from sibling operations like create_trigger or create_variable. However, it does not explicitly differentiate itself from other tag-related operations such as update_tag or get_tag.

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. There is no mention of prerequisites, such as needing an existing workspace/container, or conditions that would make create_tag preferable to update_tag. The only indirect hint is the parameter-level suggestion to copy shape from get_tag, but that is buried in the schema, not the tool description.

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

create_templateCreate TemplateC

Create a custom template in a workspace.

ParametersJSON Schema
NameRequiredDescriptionDefault
templateYesCustomTemplate resource, e.g. {"name": "My pixel", "templateData": "___INFO___\n..."}. templateData is the full template definition in Tag Manager's sandboxed JavaScript format, including its ___INFO___, ___TEMPLATE_PARAMETERS___ and ___SANDBOXED_JS_FOR_WEB_TEMPLATE___ sections.
account_idYesNumeric Tag Manager account ID.
container_idYesNumeric container ID.
workspace_idYesNumeric workspace ID.

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

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 behavioral burden. It only states the basic create action and workspace, omitting side effects, permission requirements, duplicate/overwrite behavior, and the relationship of account_id and container_id to the workspace.

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 with no filler and front-loads the action and resource. It is efficient, though its brevity means it contributes little beyond the tool name.

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?

Combined with a complete input schema and an output schema, the definition is workable for basic invocation. However, it lacks usage routing and behavioral caveats, which is a noticeable gap for a mutation tool that creates complex sandboxed template definitions.

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 four parameters have descriptions, including a detailed template object format with sandboxed JavaScript sections. The description adds no parameter-level detail, so the baseline of 3 applies.

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 a clear action (create), a specific resource (custom template), and a scope (workspace). This distinguishes it from sibling mutation tools like update_template and delete_template, though it does not explicitly contrast it with import_template_from_gallery.

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?

There is no guidance about when to use this tool versus alternatives such as import_template_from_gallery or update_template. No prerequisites like workspace existence or permissions are mentioned; the only context is the workspace scope in the one-line description.

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

create_transformationCreate TransformationA

Create a transformation in a workspace.

Only server containers accept transformations. Creating one in a web container fails.

ParametersJSON Schema
NameRequiredDescriptionDefault
account_idYesNumeric Tag Manager account ID.
container_idYesNumeric container ID.
workspace_idYesNumeric workspace ID.
transformationYesTransformation resource. Requires name and type, e.g. {"name": "Redact email", "type": "sgtmTransformation", "parameter": [...]}.

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A3.7/5.0
Behavior3/5

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

With no annotations provided, the description carries the full burden of behavioral disclosure. It does disclose one key behavior (failure on web containers), but it does not mention other aspects such as required permissions, side effects, or what happens on success. This is a minimal but non-trivial disclosure, so a 3 is appropriate.

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 exceptionally concise: two sentences with no filler. The primary purpose is front-loaded, and the critical constraint follows immediately. Every word 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 nested transformation object and the presence of an output schema, the description covers the most critical contextual factor (container type). However, it does not mention any prerequisites, permissions, or side effects of creation, and since there are no annotations to fill these gaps, the description is only partially complete.

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% description coverage, so the parameters are fully documented there. The description adds no additional meaning or examples beyond what the schema already provides, meeting the baseline 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 clearly states the action ('Create a transformation') and the resource ('in a workspace'), with a specific verb and object. It also includes a critical constraint (server containers only) that distinguishes this from generic create operations and adds meaningful context beyond the name.

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 clear condition for use ('Only server containers accept transformations') and warns that web containers fail, which implicitly tells the agent when not to use it. However, it does not explicitly name alternatives or state when to prefer this over other create_* tools, so the guidance is incomplete.

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

create_triggerCreate TriggerA

Create a trigger in a workspace.

Trigger types are Tag Manager's internal codes: "pageview", "domReady", "windowLoaded", "click", "linkClick", "formSubmission", "customEvent", "timer" and so on. Copy the shape from an existing trigger via get_trigger when unsure.

ParametersJSON Schema
NameRequiredDescriptionDefault
triggerYesTrigger resource. Requires name and type, e.g. {"name": "All Pages", "type": "pageview"}, or with a condition: {"name": "Checkout page", "type": "pageview", "filter": [{"type": "contains", "parameter": [ {"type": "template", "key": "arg0", "value": "{{Page Path}}"}, {"type": "template", "key": "arg1", "value": "/checkout"}]}]}.
account_idYesNumeric Tag Manager account ID.
container_idYesNumeric container ID.
workspace_idYesNumeric workspace ID.

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A4/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 of disclosing behavior. It only says 'Create a trigger in a workspace,' which implies a mutating operation, but it does not mention permissions, reversibility, validation behavior, or side effects. The extra trigger-type explanation is about parameter construction, not runtime behavior.

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 compact and front-loaded: the first sentence states the purpose, and the second paragraph adds only high-value parameter guidance without fluff. Every sentence earns its place.

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 4-parameter create operation with an output schema and fully described parameters, the description is largely complete. It adds trigger-type context and a fallback for shape uncertainty. It could additionally mention permissions or uniqueness constraints, but the combination of schema and description covers the essential invocation knowledge.

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?

The schema already covers all 4 parameters with examples (100% coverage), so the baseline is 3. The description adds meaningful guidance by enumerating valid trigger type codes and recommending get_trigger for copying the shape, which goes beyond the schema's JSON example.

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 opening sentence uses a specific verb and resource ('Create a trigger in a workspace'), unambiguously identifying the action and object. It is clearly differentiated from sibling tools like list_triggers, update_trigger, and delete_trigger by the 'create' verb.

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 establishes the tool's core use case, creating a trigger, and provides practical guidance for the trigger shape: 'Copy the shape from an existing trigger via get_trigger when unsure.' While it doesn't explicitly list when not to use this tool or compare with update_trigger, the context is clear and the get_trigger pointer offers an alternative for shape uncertainty.

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

create_user_permissionCreate User PermissionB

Grant a user access to a Tag Manager account.

ParametersJSON Schema
NameRequiredDescriptionDefault
account_idYesNumeric Tag Manager account ID.
user_permissionYesUserPermission resource. Requires emailAddress and accountAccess; containerAccess sets per-container levels, e.g. {"emailAddress": "a@b.com", "accountAccess": {"permission": "user"}, "containerAccess": [{"containerId": "1234567", "permission": "publish"}]}. Account permission is "admin" or "user"; container permission is "read", "edit", "approve" or "publish".

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

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 the full burden of behavioral disclosure, yet it only reveals that access is granted. It does not disclose what happens if the permission already exists (error vs. overwrite), whether granting is additive or replaces existing permissions, whether authorization is required, or how the operation affects the account.

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?

A single sentence with zero wasted words, front-loaded with the action verb and resource. It is appropriately sized and immediately scannable, though its brevity does sacrifice behavioral detail captured in other dimensions.

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?

The presence of an output schema and a richly detailed input schema (with examples and enum values) means return values and parameter construction are covered elsewhere. The gap is behavioral context: an agent gets no information about idempotency, duplicate handling, or prerequisites, which is notable for a permission-granting mutation.

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 both parameters thoroughly, including a detailed JSON example with enum values for account and container permissions. Per the baseline rule for high schema coverage, a 3 is appropriate; the description itself adds no parameter-level meaning.

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 a specific verb ('Grant') with a clear resource ('user access to a Tag Manager account'), making the tool's function obvious. It is distinguishable from siblings like create_container or create_workspace by naming the permission domain, though it does not explicitly differentiate itself from update_user_permission or delete_user_permission.

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 the closely related siblings update_user_permission, delete_user_permission, or list_user_permissions. There are no exclusions, prerequisites, or alternative-routing hints, leaving the agent to infer the usage context entirely from the tool's name.

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

create_variableCreate VariableA

Create a variable in a workspace.

Variable types are Tag Manager's internal codes: "v" is a data layer variable, "c" a constant, "jsm" custom JavaScript, "k" a first-party cookie, "u" a URL variable. Copy the shape from an existing variable via get_variable when unsure.

ParametersJSON Schema
NameRequiredDescriptionDefault
variableYesVariable resource. Requires name and type, e.g. {"name": "DL - transaction ID", "type": "v", "parameter": [ {"type": "integer", "key": "dataLayerVersion", "value": "2"}, {"type": "template", "key": "name", "value": "ecommerce.transaction_id"}]}.
account_idYesNumeric Tag Manager account ID.
container_idYesNumeric container ID.
workspace_idYesNumeric workspace ID.

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A3.5/5.0
Behavior2/5

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

With no annotations, the description carries the full burden, but it only states that the operation creates and documents variable type codes. It does not disclose side effects, required permissions, idempotency, validation behavior, or any other consequences of the mutation beyond the obvious 'create' semantics.

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 compact: one leading purpose sentence followed by a dense reference for type codes. Every sentence earns its place, and the most important action is front-loaded before the technical detail.

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 full schema coverage and output schema, the definition covers the required IDs and the nested variable shape, and the description compensates for the one tricky area (type codes and payload shape). It is not exhaustive about when to prefer an existing variable or built-in variable, but an agent has enough to invoke it correctly in common cases.

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?

The schema is fully covered (100%), but the description adds real value by explaining Tag Manager's internal type codes 'v', 'c', 'jsm', 'k', and 'u', which are not semantics in the schema. The advice to copy an existing variable's shape via get_variable also directly helps agents construct the nested 'variable' parameter correctly.

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 opens with a specific verb and resource, 'Create a variable in a workspace', so an agent can tell it is for creating a variable. It does not explicitly differentiate from sibling create tools like create_tag or create_built_in_variable, but the resource name and title make the target clear.

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 type-code list and the pointer to 'get_variable ... when unsure' give useful context about how to construct the variable payload. However, the description never directly states when to choose create_variable over update_variable or create_built_in_variable, leaving usage conditions mostly implied.

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

create_versionCreate VersionA

Turn a workspace into a container version.

The workspace is consumed by this call -- the API deletes it and makes the new version the container's latest. Creating a version does not publish it; use publish_version for that.

ParametersJSON Schema
NameRequiredDescriptionDefault
account_idYesNumeric Tag Manager account ID.
container_idYesNumeric container ID.
workspace_idYesNumeric workspace ID.
version_optionsNoName and notes for the version, e.g. {"name": "Release 2026-09", "notes": "Adds consent mode"}.

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A4.6/5.0
Behavior5/5

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

With no annotations provided, the description carries the full burden of behavioral disclosure. It clearly states the destructive side effect ('the API deletes it'), the post-condition ('makes the new version the container's latest'), and the non-publishing behavior. This is exactly the kind of critical behavioral context an agent needs before invoking a workspace-consuming call.

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 short sentences, with the core action front-loaded and the two most important caveats (deletion and non-publishing) placed immediately after. Every sentence earns its place; there is no fluff or repetition of schema information.

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 moderate-complexity mutation tool, the description covers the destructive effect, the resulting state, and the publish workflow. An output schema exists, so return values need no explanation. A small gap is that it does not mention any prerequisites or failure behaviors, but the combination of the explicit destructive warning and the sibling routing makes this adequately complete.

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%, with each parameter (account_id, container_id, workspace_id, version_options) having a description. The description itself does not add parameter-level detail, but the schema already handles that, so the baseline of 3 applies. The only slight extra is that the workspace deletion behavior gives additional meaning to workspace_id, but this is not a parameter explanation.

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 opens with a specific verb and resource pair: 'Turn a workspace into a container version.' It then clarifies the transformation by stating the workspace is deleted and the new version becomes the container's latest. It also explicitly distinguishes itself from publish_version, so an agent can tell it apart from closely related version tools without opening schemas.

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

Usage Guidelines5/5

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

The description gives clear when-to-use context by explaining the workspace is consumed and the version becomes latest. It also gives an explicit when-not-to-use and an alternative: 'Creating a version does not publish it; use publish_version for that.' This directly routes the agent to the correct sibling when publishing is needed.

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

create_workspaceCreate WorkspaceC

Create a workspace in a container.

ParametersJSON Schema
NameRequiredDescriptionDefault
workspaceYesWorkspace resource. Requires name, e.g. {"name": "Consent mode", "description": "GDPR banner work"}.
account_idYesNumeric Tag Manager account ID.
container_idYesNumeric container ID.

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

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 of behavioral disclosure. It only says 'Create a workspace in a container' and gives no information about side effects, duplicate-handling, permissions, idempotency, or whether creation is reversible. Nothing contradicts annotations because there are none.

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 six-word sentence with no filler or repetition. It is front-loaded and easy to parse, though it is arguably too terse to carry the behavioral and usage information an agent needs.

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?

The input schema fully documents parameters and an output schema exists, so return-value documentation is not the description's job. However, with no annotations and no usage guidance, the description alone leaves gaps around when to create a workspace, what constraints apply, and what creating one implies for subsequent operations.

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 all three parameters are already documented with useful context, including an example for the nested 'workspace' object. The description adds no additional parameter-level meaning beyond 'in a container,' which loosely aligns with container_id. Baseline 3 is appropriate because the schema does the heavy lifting.

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 a clear verb ('Create'), a specific resource ('workspace'), and a location/scope ('in a container'). It is not a bare tautology because it adds the container context, which helps distinguish it from sibling tools like create_container or create_version. However, it does not explain what a workspace is or explicitly differentiate it from workspace-related siblings.

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?

There is no guidance about when to use this tool versus alternatives such as list_workspaces, update_workspace, or publish_version. The description also omits prerequisites, such as whether the account and container must already exist or whether a workspace is typically created before adding tags and variables.

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

create_zoneCreate ZoneA

Create a zone in a workspace.

Zones require Tag Manager 360. Creating one in a standard container fails.

ParametersJSON Schema
NameRequiredDescriptionDefault
zoneYesZone resource. Requires name, e.g. {"name": "Marketing zone", "childContainer": [{"publicId": "GTM-XXXXXXX"}], "boundary": {"condition": [...]}}.
account_idYesNumeric Tag Manager account ID.
container_idYesNumeric container ID.
workspace_idYesNumeric workspace ID.

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A4/5.0
Behavior3/5

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

No annotations are provided, so the description carries the full disclosure burden. It adds genuinely valuable behavioral context beyond the bare operation: the Tag Manager 360 prerequisite and the failure mode in standard containers. However, it does not disclose other behavioral traits such as permission requirements, side effects, or idempotency, leaving gaps for a mutating tool.

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 tight sentences with zero waste. The primary purpose is front-loaded first, and the critical constraint and failure condition follow immediately. Every sentence earns its place.

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?

An output schema exists and all parameters are fully documented in the input schema, so those burdens are already met. The description supplies the two missing pieces: the core purpose and the critical 360 prerequisite/failure mode. It is complete enough for correct invocation, though it omits alternative routing for non-360 containers.

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% across all four required parameters, including a rich example showing the nested zone object structure with name, childContainer, and boundary fields. Per the baseline rule, the description earns a 3 since it adds no parameter meaning beyond what the schema already provides, and the schema fully covers the ground.

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 opens with 'Create a zone in a workspace,' a specific verb+resource+location construction that clearly identifies the operation. The zone resource is distinct from every sibling create_* tool (create_container, create_workspace, create_folder, etc.), and the Tag Manager 360 note adds distinguishing context.

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 gives clear, actionable guidance: 'Zones require Tag Manager 360' and 'Creating one in a standard container fails.' This is an explicit when-not condition that helps the agent avoid a doomed call, though it does not name a specific alternative tool to use instead.

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

delete_built_in_variableDelete Built In VariableB

Disable built-in variables in a workspace.

Anything referencing a disabled variable stops resolving, so check for uses first.

ParametersJSON Schema
NameRequiredDescriptionDefault
typesYesType names to disable, e.g. ["clickClasses"].
account_idYesNumeric Tag Manager account ID.
container_idYesNumeric container ID.
workspace_idYesNumeric workspace ID.

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

B3.2/5.0
Behavior2/5

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

With no annotations, the description carries the full burden. It discloses that referencing stops resolving, but does not clarify whether the operation is reversible (though a revert sibling exists), what permissions are needed, or the exact nature of 'disable' vs. permanent deletion. This is a significant gap for a destructive operation.

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, front-loaded with the action and scoping, followed by a crucial warning. No filler or redundancy. Excellent structure for quick comprehension.

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?

While the output schema exists and parameters are fully documented, the description lacks critical context for a delete-like tool: whether it is reversible, what happens to dependent entities beyond resolution failure, and any prerequisites. The presence of revert_built_in_variable suggests reversibility but is not stated, leaving an agent uncertain about consequences.

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 all parameters are documented in the schema. The description adds no extra semantic meaning to the parameters themselves, which meets the baseline for full coverage. No additional context needed.

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 action ('Disable') and the resource ('built-in variables') scoped to a workspace. It distinguishes from siblings like list_built_in_variables and create_built_in_variable by the action. Minor inconsistency between title 'Delete' and description 'Disable' but not misleading.

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?

Provides a warning to check for uses first, implying when not to use (if there are active references). However, it does not explicitly compare to alternatives like revert_built_in_variable or delete_variable, nor state when this tool is preferred. The guidance is implicit rather than explicit.

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

delete_clientDelete ClientA

Delete a client from a workspace.

This affects the workspace only. The client stays in production until a version without it is published.

ParametersJSON Schema
NameRequiredDescriptionDefault
client_idYesNumeric client ID.
account_idYesNumeric Tag Manager account ID.
container_idYesNumeric container ID.
workspace_idYesNumeric workspace ID.

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A4/5.0
Behavior4/5

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

With no annotations provided, the description carries the full burden of behavioral disclosure. It explicitly reveals that the delete is scoped to the workspace only and that the client remains in production until a version without it is published, which is a high-value side-effect warning. It could add reversibility or permission details, but the core destructive behavior is well explained.

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 with no filler. The first sentence states the action, and the second adds a critical behavioral nuance. Information is front-loaded and every sentence earns its place.

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?

The parameters are fully described by the schema, an output schema exists, and the description provides the most important operational context: the deletion is workspace-only and not immediately reflected in production. The main omission is guidance about reversibility or alternatives, but overall the tool is sufficiently described for correct invocation.

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 every parameter—client_id, account_id, container_id, and workspace_id—is already documented in the schema. The description adds no additional parameter-level meaning, which is acceptable because the IDs are self-explanatory and fully covered.

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 states a specific verb and resource: 'Delete a client from a workspace.' It clearly identifies the client as the object and scopes the deletion to the workspace, distinguishing it from sibling tools like delete_workspace or delete_container. The extra detail about workspace-only impact removes ambiguity.

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 when this tool is relevant by clarifying that deletion affects only the workspace and not production until a version is published. However, it does not explicitly state when to use this tool instead of alternatives such as revert_client, nor does it mention any exclusions or prerequisites. The guidance is useful but indirect.

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

delete_containerDelete ContainerA

Delete a container, and with it every workspace, tag and version.

This cannot be undone through the API, and any site still loading the container's snippet stops receiving tags.

ParametersJSON Schema
NameRequiredDescriptionDefault
account_idYesNumeric Tag Manager account ID.
container_idYesNumeric container ID.

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A4.4/5.0
Behavior5/5

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

With no annotations provided, the description carries the full burden and does so well. It discloses irreversibility ('cannot be undone through the API'), cascading deletion of workspaces/tags/versions, and the live impact on sites loading the container's snippet.

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?

Three short sentences, front-loaded with the core action and scope, followed by the most important caveats. Every sentence contributes meaningful information with no redundancy.

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 destructive top-level operation, the description covers the essential consequences: cascade scope, irreversibility, and snippet/tag impact. It does not mention permissions or error conditions, but the output schema and parameter descriptions cover invocation 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 description coverage is 100%, so account_id and container_id are already adequately documented. The description adds no extra meaning or format details for the parameters, which is acceptable given the schema coverage.

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 names a specific verb and resource ('Delete a container') and immediately communicates the cascading scope ('every workspace, tag and version'). This clearly distinguishes it from sibling delete_* tools that target lower-level 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 intended use is explicit: this is the tool for deleting a container. It does not explicitly contrast with alternatives or state prerequisites, but the container-level scope makes the usage context clear.

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

delete_environmentDelete EnvironmentA

Delete a container environment.

The built-in Live and Latest environments cannot be deleted.

ParametersJSON Schema
NameRequiredDescriptionDefault
account_idYesNumeric Tag Manager account ID.
container_idYesNumeric container ID.
environment_idYesNumeric environment ID.

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A3.8/5.0
Behavior3/5

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

With no annotations, the description carries the disclosure burden. It adds a useful non-obvious rule—built-in Live/Latest cannot be deleted—but it does not state whether deletion is irreversible, whether it cascades, or what authorization is required. This is partial, not full, 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 short sentences with no filler. The core action is front-loaded, and the caveat is separated into its own focused sentence.

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 that an output schema exists and all required parameters are documented in the schema, the remaining context is mostly satisfied. The built-in caveat is valuable; what's missing is an explicit statement of side effects or when to choose another environment operation, but this is a minor gap for a simple delete tool.

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 already describes all three parameters (account_id, container_id, environment_id) at 100% coverage, so the baseline is 3. The description adds no parameter-specific semantics, but none are necessary given the clear numeric IDs.

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 names the exact operation ('Delete') and resource ('container environment'), which immediately distinguishes it from sibling environment operations like create/update/list/get and from delete_container/delete_workspace. The built-in exception adds clarity rather than confusion.

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?

It clearly implies use when a custom environment should be removed and warns that Live/Latest are not eligible. However, it does not explicitly direct an agent to alternatives such as update_environment or reauthorize_environment, nor does it state preconditions like required permissions.

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

delete_folderDelete FolderA

Delete a folder from a workspace.

The entities inside it are not deleted; they are left unfiled.

ParametersJSON Schema
NameRequiredDescriptionDefault
folder_idYesNumeric folder ID.
account_idYesNumeric Tag Manager account ID.
container_idYesNumeric container ID.
workspace_idYesNumeric workspace ID.

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A3.8/5.0
Behavior3/5

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

With no annotations provided, the description carries the full behavioral burden. It does disclose a critical side effect (entities left unfiled) which is valuable, but it does not mention reversibility, permission requirements, or any other side effects. The description adds useful context but is not exhaustive.

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: two sentences, the first delivering the core action and the second adding the crucial nuance about entity behavior. It is front-loaded and contains no superfluous words.

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 delete operation with 4 parameters and an existing output schema, the description covers the most important contextual detail—what happens to contained entities. It does not explain return values (likely covered by output schema) or error cases, but given the simplicity of the action, this is adequate. It could benefit from noting whether the folder must exist or any deletion restrictions, but the core behavior is clear.

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% for all 4 parameters, each described as numeric IDs. The description adds no additional meaning about parameter relationships or usage constraints, so it meets the baseline for high schema coverage without enhancing it.

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 action (delete) and resource (folder from a workspace), and uniquely distinguishes itself from other folder operations like update_folder or move_entities_to_folder by specifying that contained entities are not deleted but left unfiled. This is a specific and non-tautological purpose.

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 a use case (deleting a folder while preserving its contents) but does not explicitly state when to use this tool over alternatives like move_entities_to_folder or update_folder. It does not mention any exclusions or prerequisites, leaving some inference to the agent.

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

delete_gtag_configDelete Gtag ConfigA

Delete a Google tag configuration from a workspace.

Unlike every other workspace entity, Google tag configs have no revert method, so this cannot be undone short of discarding the workspace.

ParametersJSON Schema
NameRequiredDescriptionDefault
account_idYesNumeric Tag Manager account ID.
container_idYesNumeric container ID.
workspace_idYesNumeric workspace ID.
gtag_config_idYesNumeric Google tag config ID.

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A4/5.0
Behavior4/5

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

With no annotations provided, the description carries the full behavioral burden, and it does disclose the most important behavior: deletion is irreversible and cannot be undone short of discarding the workspace. It does not cover permissions or side effects like references to the config, but the critical destructive trait is clearly and prominently stated.

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 short sentences: the first states the operation and the second adds the crucial irreversible caveat. The description is front-loaded, contains no filler, and every sentence earns its place.

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 focused delete tool with all four required parameters documented in the schema and an output schema present, the description covers the key operational fact an agent needs: the action is irreversible. It lacks explicit prerequisite or permission context, but nothing essential to basic invocation 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?

The input schema already documents all four required parameters with 100% coverage, so the baseline is 3. The description adds no parameter-specific detail beyond identifying the entity type, but it does not need to compensate for any schema gap.

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 opening sentence states the exact action ('Delete') and resource ('a Google tag configuration from a workspace'), so an agent knows precisely what the tool does. The follow-up note about no revert method clearly marks this as the destructive GTM config deletion tool, distinguishing it from delete_tag and other sibling delete tools.

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 a caution context: because configs have no revert method, the tool should only be used when permanent deletion is intended. However, it never explicitly says when to prefer this over update_gtag_config or names alternative revert tools for other entities, so usage guidance remains implied rather than explicit.

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

delete_tagDelete TagA

Delete a tag from a workspace.

This affects the workspace only. The tag keeps running in production until a version without it is published.

ParametersJSON Schema
NameRequiredDescriptionDefault
tag_idYesNumeric tag ID.
account_idYesNumeric Tag Manager account ID.
container_idYesNumeric container ID.
workspace_idYesNumeric workspace ID.

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A4.3/5.0
Behavior4/5

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

With no annotations present, the description carries the full burden of behavioral disclosure. It adds valuable non-obvious information: the deletion affects the workspace only, and the tag continues running in production until a version without it is published. This meaningfully explains the tool's side effects beyond what the schema or title convey.

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 short sentences with no filler or redundant restatement of the name. The core action is front-loaded, and the important behavioral caveat follows immediately in a clear, separate statement.

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

Completeness5/5

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

For a straightforward delete operation with fully documented parameters and an output schema, the description covers the necessary context: what is deleted, the workspace-scoped effect, and the production behavior. An agent has enough information to correctly invoke the tool and set expectations about the result.

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 already provides 100% description coverage for all four parameters, so the schema handles parameter semantics. The description adds no additional parameter-level detail, which matches the baseline expectation for fully documented schemas.

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 uses a specific verb and resource: 'Delete a tag from a workspace.' This clearly identifies the operation and differentiates it from sibling deletes like delete_workspace, delete_container, and delete_trigger. The workspace scoping further refines what the tool acts on.

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 clear context about when the tool is appropriate: deleting a tag within a workspace. It also signals an important usage nuance—that deletion does not stop the tag in production until a new version is published—which helps an agent avoid assuming immediate production impact. It does not explicitly name alternatives or exclusions, but the resource-specificity and behavioral context make selection straightforward.

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

delete_templateDelete TemplateA

Delete a custom template from a workspace.

Tags and variables using the template stop working, so check for uses before deleting.

ParametersJSON Schema
NameRequiredDescriptionDefault
account_idYesNumeric Tag Manager account ID.
template_idYesNumeric template ID.
container_idYesNumeric container ID.
workspace_idYesNumeric workspace ID.

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A4.2/5.0
Behavior4/5

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

With no annotations provided, the description carries the full burden of behavioral disclosure. It clearly warns that 'Tags and variables using the template stop working,' which is a significant side-effect. It could additionally state irreversibility or permission requirements, but the consequence warning is substantive and valuable.

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 compact and front-loaded: the action is stated first, followed by a critical warning. Every sentence earns its place with no filler or repetition of schema fields.

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 simple 4-parameter shape, complete schema coverage, and an output schema, the description is nearly sufficient. It supplies the key domain consequence and a pre-deletion safety step. It could mention whether deletion is permanent or how to find usages, but these are minor given the low 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?

The input schema already documents all four parameters with 100% coverage, so the baseline is 3. The description adds no further parameter-level meaning, but none is necessary because the schema descriptions are complete.

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 a specific verb and resource: 'Delete a custom template from a workspace.' It distinguishes this tool from sibling delete tools like delete_tag and delete_variable by explicitly naming 'template' as the target.

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 clear context: use this tool to delete a custom template. It also gives a practical prerequisite by warning to 'check for uses before deleting,' which guides when the action is safe. It does not explicitly name alternative tools, but the resource type makes the intended use unambiguous.

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

delete_transformationDelete TransformationA

Delete a transformation from a workspace.

This affects the workspace only. The transformation stays in production until a version without it is published.

ParametersJSON Schema
NameRequiredDescriptionDefault
account_idYesNumeric Tag Manager account ID.
container_idYesNumeric container ID.
workspace_idYesNumeric workspace ID.
transformation_idYesNumeric transformation ID.

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A4.2/5.0
Behavior4/5

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

With no annotations provided, the description carries the full burden of behavioral disclosure. It reveals a non-obvious and important behavior: the deletion is workspace-scoped and does not immediately affect production. This adds substantive context beyond the plain verb 'Delete', though it does not address reversibility or permission requirements.

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 with no filler. The primary action is front-loaded, and the critical caveat about production impact is placed immediately after, earning its place by conveying essential operational nuance.

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 simple flat parameter list (4 IDs) and the presence of an output schema, the description covers the essential context: what is deleted and the important workspace-vs-production distinction. It omits minor details like reversibility, but the core decision-relevant information is present.

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%, with all four parameters documented as 'Numeric ... ID'. The description adds no additional parameter-level meaning, which is acceptable given the complete schema. The baseline of 3 applies because the schema already handles parameter semantics fully.

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 uses a specific verb ('Delete') and resource ('a transformation from a workspace'), clearly distinguishing this from the many other delete_* tools in the sibling list. It goes beyond a tautology by adding scope ('from a workspace'), and the name 'delete_transformation' is accurately expanded without ambiguity.

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 clear context about when to use this tool: it explicitly states that deletion affects the workspace only and that the transformation remains in production until a new version is published. This tells an agent the operational consequence and implies that production removal requires a separate publish step, though it does not explicitly name alternative tools or exclusion conditions.

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

delete_triggerDelete TriggerA

Delete a trigger from a workspace.

This affects the workspace only. The trigger stays in production until a version without it is published.

ParametersJSON Schema
NameRequiredDescriptionDefault
account_idYesNumeric Tag Manager account ID.
trigger_idYesNumeric trigger ID.
container_idYesNumeric container ID.
workspace_idYesNumeric workspace ID.

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A3.8/5.0
Behavior4/5

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

With no annotations provided, the description carries the full burden. It discloses a key behavioral trait: the deletion is workspace-scoped and does not affect production until a new version is published. This is valuable context beyond the schema. It doesn't mention reversibility or permissions, but the production-impact clarification is significant.

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 with no wasted words. The core action is front-loaded, and the important scoping caveat follows immediately. Every sentence earns its place.

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 delete operation with no annotations, the description covers the essential context: what is deleted, the scope, and the production impact. It doesn't mention whether the deletion is reversible or what the response contains, but the output schema exists and the core behavioral caveat is present. Slightly more detail on reversibility would make it complete.

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 four parameters. The description adds no parameter-specific meaning beyond the schema. Baseline 3 is appropriate because the schema does the heavy lifting.

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 verb and resource: 'Delete a trigger from a workspace.' This distinguishes it from sibling tools like update_trigger, revert_trigger, and list_triggers. However, it doesn't explicitly name a sibling or contrast itself with a similar delete operation, so it falls short of a 5.

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 context by specifying the scope ('from a workspace') and the effect on production ('stays in production until a version without it is published'). This gives some guidance on when deletion takes effect, but it doesn't explicitly state when to use this tool versus alternatives like delete_version or revert_trigger, nor does it mention prerequisites or conditions.

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

delete_user_permissionDelete User PermissionA

Revoke a user's access to a Tag Manager account.

ParametersJSON Schema
NameRequiredDescriptionDefault
account_idYesNumeric Tag Manager account ID.
permission_idYesNumeric user permission ID.

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A3.7/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 of behavioral disclosure. It simply states what the operation does ('Revoke') but does not mention whether the action is permanent, whether special permissions are required, or any side effects. For a destructive/delete-type operation, this is a notable 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 a single, direct sentence with no filler or redundancy. It communicates the essential purpose immediately.

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?

The tool is simple with two fully documented parameters, and an output schema exists, so return values do not need explanation. However, with no annotations and no behavioral caveats, the description is not fully complete for a revocation operation that presumably removes access.

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%, with both account_id and permission_id clearly described in the input schema. The description adds no additional parameter-level meaning, so the baseline score of 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 uses a specific verb ('Revoke') and identifies a clear resource ('a user's access to a Tag Manager account'). This distinguishes it from sibling tools like create_user_permission, update_user_permission, and list_user_permissions without needing to inspect those definitions.

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 clearly implies the tool is for removing access, providing enough context for when to use it. However, it does not explicitly name alternatives or state when not to use it, so it falls short of full guidance.

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

delete_variableDelete VariableA

Delete a variable from a workspace.

This affects the workspace only. The variable stays in production until a version without it is published.

ParametersJSON Schema
NameRequiredDescriptionDefault
account_idYesNumeric Tag Manager account ID.
variable_idYesNumeric variable ID.
container_idYesNumeric container ID.
workspace_idYesNumeric workspace ID.

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A4/5.0
Behavior4/5

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

With no annotations provided, the description carries the full behavioral disclosure. It reveals a non-obvious behavior: the variable stays in production until a version without it is published. This adds significant value beyond the schema, though it does not cover permissions or reversibility.

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 concise sentences, front-loaded with the primary action and a crucial behavioral note. No filler or redundant information.

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 delete operation with four straightforward parameters and an output schema, the description covers the essential nuance about production persistence. It is complete enough for an agent to call correctly, though it could explicitly mention the variable is immediately removed from the workspace.

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 provides 100% coverage with clear descriptions for all four parameters (account_id, container_id, workspace_id, variable_id). The description adds no additional parameter-specific meaning, so the baseline of 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 action 'Delete a variable from a workspace' with a specific verb and resource. It distinguishes from sibling deletion tools like delete_built_in_variable by specifying 'a variable' (user-defined) in the context of a workspace.

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 context on the effect (workspace-only, persists in production) but does not explicitly state when to use this tool over alternatives like revert_variable or delete_built_in_variable. It implies usage for user-defined variables but lacks explicit exclusions or alternative routing.

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

delete_versionDelete VersionA

Delete a container version.

Deletion is reversible with undelete_version. The live version cannot be deleted.

ParametersJSON Schema
NameRequiredDescriptionDefault
account_idYesNumeric Tag Manager account ID.
version_idYesNumeric container version ID.
container_idYesNumeric container ID.

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A4.2/5.0
Behavior4/5

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

With no annotations provided, the description carries the behavioral disclosure burden. It discloses that deletion is reversible, implying a soft-delete model, and warns that the live version is protected from deletion. This is meaningful behavioral context beyond the bare 'Delete' verb, though it does not address permissions or downstream effects.

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 short sentences with no filler. The core action is front-loaded, and the two behavioral caveats (reversibility and live-version restriction) are placed immediately after without wasted words.

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?

The description covers the essential operational constraints: what is deleted, that deletion is reversible, and the one prohibited case. The presence of an output schema reduces the need to explain return values, and the parameter list is simple. Minor omissions such as prerequisites or permission requirements do not undermine usability.

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 parameters are already documented in the input schema. The description adds minimal parameter-specific meaning beyond calling the entity a container version, which is sufficient given the high schema coverage.

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 states a specific verb and resource: 'Delete a container version.' It clearly distinguishes this tool from the many other delete_* siblings by naming the target as a container version, and the title aligns with the action. No ambiguity remains about what the tool does.

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 clear usage context by noting that deletion is reversible via undelete_version and explicitly states the live version cannot be deleted. It names a relevant sibling tool, though it stops short of fully enumerating alternative tools or conditions for when deletion should be chosen.

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

delete_workspaceDelete WorkspaceA

Delete a workspace, discarding every change in it.

Changes that were never turned into a version are lost. Check get_workspace_status first.

ParametersJSON Schema
NameRequiredDescriptionDefault
account_idYesNumeric Tag Manager account ID.
container_idYesNumeric container ID.
workspace_idYesNumeric workspace ID.

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A4.3/5.0
Behavior4/5

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

With no annotations, the description carries the full burden of behavioral disclosure. It clearly warns that deleting a workspace discards all changes and permanently loses unversioned work, and it recommends a pre-check. It does not mention permission requirements or whether versions themselves are recoverable, but the core destructive behavior is transparently conveyed.

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 only two sentences, with the primary action and its most important consequence ('discarding every change in it') front-loaded. The second sentence adds the critical warning and actionable pre-check without any filler or repetition.

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

Completeness5/5

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

Given a simple delete operation with three fully documented parameters and an output schema present, the description fully covers the necessary behavioral context: what is deleted, what is lost, and what to check beforehand. Nothing essential is missing for an agent to invoke this tool safely in the context of the sibling list.

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%, with each parameter clearly described as a numeric ID in the input schema. The description adds no parameter-specific details beyond what the schema already provides, so it neither improves nor harms parameter understanding—meeting the baseline for full schema coverage.

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 states a specific verb ('Delete'), a specific resource ('workspace'), and a crucial scope qualifier ('discarding every change in it'). It further clarifies the semantics by noting unversioned changes are lost, which distinguishes this from update_workspace or sync_workspace among the many sibling tools.

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 instructs the agent to 'Check get_workspace_status first', establishing a clear precondition before invoking the destructive operation. It does not name a non-deletion alternative or state when to avoid deletion, but the status-check directive provides enough context for safe usage.

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

delete_zoneDelete ZoneA

Delete a zone from a workspace.

This affects the workspace only. The zone stays in production until a version without it is published.

ParametersJSON Schema
NameRequiredDescriptionDefault
zone_idYesNumeric zone ID.
account_idYesNumeric Tag Manager account ID.
container_idYesNumeric container ID.
workspace_idYesNumeric workspace ID.

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A4.2/5.0
Behavior4/5

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

With no annotations provided, the description carries the full burden. It discloses a critical behavioral trait: the deletion is scoped to the workspace and production is unaffected until a new version is published. This is non-obvious and highly valuable. It doesn't cover reversibility or error handling, but the key side effect is well disclosed.

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 three short sentences with zero waste. The core action is front-loaded, and the critical behavioral nuance is presented immediately after. Every sentence earns its place.

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 delete operation with four required parameters and an existing output schema, the description covers the essential behavior (workspace-only effect). It doesn't mention prerequisites or error conditions, but those are likely covered by the schema and output schema. It is adequately complete for an agent to invoke correctly.

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 each parameter (e.g., 'Numeric zone ID'). The description adds no extra meaning to parameters beyond what the schema provides. Per the rubric, a baseline of 3 is appropriate when 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?

The description states a specific verb ('Delete'), resource ('zone'), and scope ('from a workspace'). It clearly differentiates from sibling delete tools (e.g., delete_workspace, delete_container) by naming the resource and scoping it to the workspace. The phrase 'Delete a zone from a workspace' is unambiguous.

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 gives clear context on when to use this tool: when you want to delete a zone from a workspace. It further clarifies that the deletion does not affect production until a version is published, which is essential for decision-making. However, it doesn't explicitly mention alternatives like revert_zone or contrast with update_zone, so it falls short of a 5.

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

find_entities_by_nameFind Entities By NameA

Find tags, triggers and variables by name.

The API has no search, so this reads each collection and filters. Use it to turn a name a human used ("the purchase tag") into the ID the other tools need.

ParametersJSON Schema
NameRequiredDescriptionDefault
queryYesCase-insensitive substring to match against names.
account_idYesNumeric Tag Manager account ID.
container_idYesNumeric container ID.
workspace_idYesNumeric workspace ID.

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A4.2/5.0
Behavior4/5

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

With no annotations, the description carries the behavioral transparency burden. It discloses that the API lacks search, so the tool reads each collection and filters locally, which is meaningful behavioral context beyond the function name. It does not detail performance implications or side effects, but as a read/filter operation the transparency is reasonably complete.

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 three sentences with the core purpose front-loaded. Every sentence earns its place: the operation, the implementation context, and the practical use case. There is no redundant or filler content.

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?

The description is complete enough given that an output schema exists and the schema documents all parameters. It explains what is searched, how the search works, and why the tool exists. It could be slightly stronger by noting potential cost of scanning multiple collections, but overall the essential context is covered.

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 parameters are already well documented in the schema. The description adds contextual guidance about using a human-readable name for the query, but it does not add new parameter-level semantics beyond what the schema provides.

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 finds tags, triggers, and variables by name, which is a specific verb plus resource list. It also explains the purpose is to convert a human-used name into the ID needed by other tools, distinguishing it from list/get tools for individual entities.

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 tells the agent when to use it: when a human has provided a name and an ID is needed. It does not explicitly mention when not to use it or name alternative tools, but the 'API has no search' context implies this is the only name-based lookup mechanism.

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

get_accountGet AccountB

Get one Tag Manager account.

ParametersJSON Schema
NameRequiredDescriptionDefault
account_idYesNumeric Tag Manager account ID.

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

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 carries the full burden of behavioral disclosure. It only repeats the verb 'Get' without describing auth needs, whether this is purely a read operation, or any response characteristics beyond what the output schema already provides.

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 a single sentence with no waste, front-loads the verb and resource, and exactly matches the tool's scope. Every word 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?

With only one parameter and an output schema present, the description is minimally sufficient to invoke the tool, but it lacks any context for choosing this tool over the large set of sibling getters. The absence of usage or exclusion guidance is a clear gap, though the tool's simplicity keeps the gap moderate.

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%—the single required parameter account_id is already well described as a numeric ID. The tool description adds no parameter-level meaning, so the baseline of 3 applies.

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 a clear action ('Get') and a specific resource ('one Tag Manager account'), and the singular 'one' implies this is for a single account rather than all accounts. It does not explicitly name sibling alternatives like list_accounts, so it misses the top score for explicit differentiation.

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 gives no guidance on when to use get_account instead of list_accounts or get_user_permission, and no mention of prerequisites or alternative tools. An agent must infer usage solely from the tool name and schema.

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

get_clientGet ClientC

Get one client from a workspace.

ParametersJSON Schema
NameRequiredDescriptionDefault
client_idYesNumeric client ID.
account_idYesNumeric Tag Manager account ID.
container_idYesNumeric container ID.
workspace_idYesNumeric workspace ID.

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

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 bears the full burden of behavioral disclosure. It only states the action (get one client) and implies a read operation, but omits details on authorization, error behavior (e.g., not found), or any side effects. It does not add value beyond the basic action.

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?

A single, front-loaded sentence with no wasted words. It directly states the purpose without extraneous detail, making it appropriately sized for a simple retrieval tool.

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 hierarchical context (account, container, workspace, client) and all parameters required, the description is too sparse. It does not explain what a client is, the necessity of all IDs, or how to obtain them. While the output schema exists, the description lacks sufficient guidance for an agent to correctly invoke the tool in 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 the schema already documents each parameter as a numeric ID. The description adds the context 'from a workspace' but does not clarify relationships between parameters or usage order. Since the schema carries the meaning, a baseline of 3 is appropriate.

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 a clear verb ('Get') and resource ('one client') from a 'workspace', which distinguishes it from list operations. However, it does not explicitly differentiate from siblings like list_clients or get_workspace, relying on the singular vs. plural distinction.

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. It does not mention that this retrieves a single client by ID, when to prefer it over list_clients, or any prerequisites such as obtaining the IDs first.

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

get_containerGet ContainerB

Get one Tag Manager container.

ParametersJSON Schema
NameRequiredDescriptionDefault
account_idYesNumeric Tag Manager account ID.
container_idYesNumeric container ID.

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

B3.2/5.0
Behavior3/5

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

The verb 'Get' clearly indicates a read-only operation, which is a key behavioral trait. However, with no annotations, the description does not disclose error behavior, permission requirements, or that it returns the full container entity, leaving some burden unmet.

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 a single, front-loaded sentence with no wasted words. 'Get one Tag Manager container' efficiently captures the core operation and scope.

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 having an output schema and a simple two-parameter input, the description lacks usage context and behavioral warnings. Given the large sibling set and no annotations, an agent cannot tell when to choose this over lookup_container or get_container_snippet.

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%, with both account_id and container_id described in the input schema. The description adds no additional parameter semantics, so the baseline of 3 applies.

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 'Get one Tag Manager container' states a specific verb (Get) and a singular resource (one Tag Manager container), which distinguishes it from list_containers. However, it does not clarify how it differs from lookup_container or summarize_container, so sibling differentiation is incomplete.

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?

There is no guidance about when to use this tool versus alternatives. It does not mention that it is appropriate for retrieving a single container by ID or that list_containers should be used for enumeration.

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

get_container_snippetGet Container SnippetA

Get the HTML install snippet for a container.

ParametersJSON Schema
NameRequiredDescriptionDefault
account_idYesNumeric Tag Manager account ID.
container_idYesNumeric container ID.

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A3.8/5.0
Behavior3/5

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

With no annotations, the description carries the burden of behavioral disclosure. It clearly signals a read-only 'get' operation and states the returned artifact, but it does not mention authentication needs, whether the snippet reflects the live/published version, or any access prerequisites. The read-only nature is reasonably apparent, though not fully elaborated.

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 a single short sentence that is front-loaded and free of filler. Every word contributes to identifying the tool's purpose and return value.

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 simple two-parameter read operation with a complete input schema and an output schema, the description provides enough to invoke the tool correctly. It could be slightly richer about when to choose this over get_container, but that nuance is minor for an otherwise self-contained definition.

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 both parameters already have descriptive definitions ('Numeric Tag Manager account ID' and 'Numeric container ID'). The description adds no additional guidance about parameter semantics, so the baseline of 3 applies.

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 states a specific verb ('Get') and an exact resource ('the HTML install snippet for a container'). This is clearly distinct from sibling tools like get_container, which return container metadata, or list_containers, which enumerate containers. An agent can tell what this tool returns without opening the schema.

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 phrase 'HTML install snippet' implies the tool is used when an embedding/install code is needed, and it implicitly steers away from metadata-focused tools. However, it gives no explicit when-to-use guidance, exclusions, or alternatives, so an agent must infer the appropriate context.

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

get_destinationGet DestinationA

Get one destination linked to a container.

ParametersJSON Schema
NameRequiredDescriptionDefault
account_idYesNumeric Tag Manager account ID.
container_idYesNumeric container ID.
destination_idYesDestination ID, e.g. AW-123456789 or G-ABC123.

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A3.9/5.0
Behavior3/5

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

No annotations are present, so the description carries the full burden of behavioral disclosure. The verb 'Get' conveys a read-only operation, but it does not explicitly state that no modifications occur, what happens if the destination is not found, or any access requirements. It provides basic transparency but leaves room for more explicit safety information.

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 a single front-loaded sentence: 'Get one destination linked to a container.' It contains zero filler and each word contributes to the meaning. No redundant detail, ideal length for a simple retrieval tool.

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

Completeness5/5

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

Given the low complexity, 100% schema coverage, and the presence of an output schema, the description is complete enough for an agent to invoke correctly. The agent needs only the three IDs, all documented in the schema, and the output format is covered elsewhere. No critical information 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%, with each parameter (account_id, container_id, destination_id) already documented in the input schema. The description adds no additional parameter semantics beyond what the schema provides, so the baseline of 3 applies.

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 'Get one destination linked to a container' – a specific read verb with a resource and scope. The singular 'one' and 'linked to a container' differentiate it from sibling tools like list_destinations and link_destination. An agent can tell what this tool does without opening the schema.

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 phrase 'Get one destination' implies use when a single destination is needed, contrasting with list_destinations. However, it does not explicitly mention when to prefer this over list_destinations or link_destination, nor does it provide any 'when not to use' guidance. The usage is implied but not stated.

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

get_environmentGet EnvironmentA

Get one container environment.

ParametersJSON Schema
NameRequiredDescriptionDefault
account_idYesNumeric Tag Manager account ID.
container_idYesNumeric container ID.
environment_idYesNumeric environment ID.

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A3.8/5.0
Behavior3/5

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

With no annotations, the description itself must convey behavior. The verb 'Get' clearly indicates a read-only retrieval with no side effects, but the description does not disclose any additional behavioral traits such as return format, error conditions, or scoping constraints beyond the parameter names.

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 a single, compact sentence that is front-loaded with the action and resource. It contains no filler or repetition of the 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?

Given the presence of an output schema and the simplicity of a single get operation with three well-documented parameters, the description is essentially sufficient. It could have mentioned that list_environments can be used to discover environment IDs, but nothing critical 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% with clear descriptions for all three IDs. The tool description adds no additional meaning to the parameters, so the baseline of 3 applies.

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 uses a specific verb ('Get') and resource ('one container environment'), clearly distinguishing this from sibling tools like list_environments, create_environment, or delete_environment. The singular 'one' signals a single-object retrieval as opposed to a list operation.

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 retrieving a single container environment, contrasting with list_environments or update_environment, but it does not explicitly state when to use it over alternatives or any conditions. No exclusions or alternative routing are given.

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

get_folderGet FolderB

Get one folder from a workspace.

ParametersJSON Schema
NameRequiredDescriptionDefault
folder_idYesNumeric folder ID.
account_idYesNumeric Tag Manager account ID.
container_idYesNumeric container ID.
workspace_idYesNumeric workspace ID.

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

B3.2/5.0
Behavior2/5

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

With no annotations, the description carries the burden of disclosing behavior, but it only restates the operation implied by the tool name. It does not mention permissions, error conditions, or whether the operation is a read-only lookup, so the agent gains little beyond the name.

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?

A single, focused sentence with no wasted words. The core operation and scope are front-loaded.

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?

This is a simple fetch with a complete input schema and an output schema, so the minimal description is sufficient for call construction. It could be more complete only by naming the distinguishing sibling or noting a read-only profile, but nothing call-critical 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 coverage is 100%, so the schema fully documents all four parameters. The description adds only the general context that one folder is scoped to a workspace, not parameter-specific meaning, so the baseline of 3 applies.

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 a specific operation ('Get one folder') and a scope ('from a workspace'), which is clear. It implicitly distinguishes from list_folders and get_folder_entities by emphasizing singular retrieval, but it does not explicitly name the sibling alternatives.

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 given about when to use this tool versus list_folders, get_folder_entities, or update_folder. The singular phrasing weakly implies single-object lookup, but there is no explicit context, prerequisite, or exclusion.

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

get_folder_entitiesGet Folder EntitiesA

List the tags, triggers and variables inside a folder.

ParametersJSON Schema
NameRequiredDescriptionDefault
folder_idYesNumeric folder ID.
account_idYesNumeric Tag Manager account ID.
page_tokenNoContinuation token from a previous response.
container_idYesNumeric container ID.
workspace_idYesNumeric workspace ID.

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A4/5.0
Behavior3/5

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

There are no annotations, so the description carries the behavioral burden. 'List' implies a read-only operation and the scope is stated, but the description does not disclose pagination behavior (though page_token exists in the schema) or what happens for empty or invalid folders. It is adequate for a simple listing but omits some behavioral detail.

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 a single concise sentence with no filler. It front-loads the action and enumerates the exact entity types covered, making it both compact and immediately informative.

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 straightforward listing tool with a 100%-covered schema and an output schema, the description is nearly complete. It lacks only explicit mention of pagination or result size limits, but the page_token parameter already signals pagination to an agent.

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 parameters are already well-documented in the input schema. The description adds no parameter-level detail beyond the fact that the listing is 'inside a folder,' which maps to folder_id. 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 states a specific action ('List'), a precise resource scope ('tags, triggers and variables inside a folder'), and makes the tool's purpose immediately distinguishable from siblings like get_folder or list_tags. The verb+resource+scope pattern gives an agent a clear idea of what this tool does.

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 clearly implies when to use this tool: when you need to enumerate the tags, triggers, and variables within a specific folder. It does not explicitly name alternatives or exclusions, but the context is clear enough for an agent to choose this over sibling list/get tools.

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

get_gtag_configGet Gtag ConfigA

Get one Google tag configuration from a workspace.

ParametersJSON Schema
NameRequiredDescriptionDefault
account_idYesNumeric Tag Manager account ID.
container_idYesNumeric container ID.
workspace_idYesNumeric workspace ID.
gtag_config_idYesNumeric Google tag config ID.

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A3.8/5.0
Behavior3/5

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

No annotations are provided, so the description carries the burden of conveying safety. The verb 'Get' strongly implies a read-only operation and no destructive side effects, but the description does not explicitly state that it only fetches data or address not-found/error behavior.

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 one short, front-loaded sentence with no filler. Every word contributes meaning: verb, resource, cardinality, and scope.

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 complete parameter schema and the presence of an output schema, the description is nearly complete for a simple read-by-ID tool. It only lacks an explicit read-only/no-side-effect clarification, though the 'Get' verb largely covers this.

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%, with all four parameters already documented in the input schema. The description adds no parameter-level meaning, so the baseline score of 3 applies.

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 uses a specific verb ('Get'), names the exact resource ('Google tag configuration'), and states singular scope ('one') and location ('from a workspace'). This clearly distinguishes it from list_gtag_configs and other entity-specific getters.

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 it is for retrieving a single configuration by ID, but it never explicitly says when to prefer this over list_gtag_configs or how to obtain the required gtag_config_id. No alternatives or exclusions are mentioned.

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

get_latest_version_headerGet Latest Version HeaderA

Get the header of a container's most recently created version.

This is the newest version, which is not necessarily the published one -- use get_live_version for what production is serving.

ParametersJSON Schema
NameRequiredDescriptionDefault
account_idYesNumeric Tag Manager account ID.
container_idYesNumeric container ID.

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A4.5/5.0
Behavior4/5

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

No annotations are provided, so the description carries the behavioral burden. It discloses the key non-obvious nuance that the most recently created version is not necessarily the published one, and points to the correct tool for live content. It does not discuss permissions or error cases, but for a simple read-type operation the main behavior is clarified.

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 compact and front-loaded with the core action, followed by a one-line caveat and sibling-tool pointer. Every sentence earns its place with no redundancy.

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

Completeness5/5

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

For a two-parameter, low-complexity read operation with a complete input schema and an output schema present, the description covers the essential decision: latest-created versus live. Nothing critical is missing for an agent to select and invoke the tool correctly.

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 fully explains account_id and container_id as numeric IDs. The description adds no parameter-level detail, but none is needed 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 names a specific verb and resource: getting the header of a container's most recently created version. It also distinguishes this from the live/published version by naming get_live_version as the alternative, so an agent can tell sibling tools apart.

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

Usage Guidelines5/5

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

The description explicitly states when to use this tool: when you need the latest-created version header. It also gives a clear exclusion: do not use this for what production is serving; use get_live_version instead. This is direct routing guidance.

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

get_live_versionGet Live VersionA

Get the container version currently published to production.

This is what visitors to the site are actually running, which is the right starting point for "what is live right now".

ParametersJSON Schema
NameRequiredDescriptionDefault
account_idYesNumeric Tag Manager account ID.
container_idYesNumeric container ID.

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A4/5.0
Behavior3/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. The verb 'Get' signals a read operation, and the production context adds meaning, but the description does not explicitly state that there are no side effects, what permissions are needed, or any other behavioral constraints. For a simple getter this is minimally adequate but not rich.

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 short sentences with no filler; the core operation is front-loaded and the second sentence adds a practical use cue. Everything present earns its place.

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?

The tool is simple, has fully documented parameters, and has an output schema, so the description does not need to explain return values. It covers the key contextual distinction from other version tools; only an explicit pointer to alternatives would make it fully complete.

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% and both parameters are individually documented in the schema, so the description does not need to repeat their meanings. It adds no direct parameter-level detail beyond naming the container and account context, which matches the baseline for fully covered schemas.

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 names a specific verb and resource: retrieving the container version currently published to production. It further distinguishes itself from generic version tools by clarifying that this is what visitors to the site are actually running, which makes its purpose unambiguous among many sibling version-related tools.

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?

It gives a clear use case: the right starting point for 'what is live right now.' It does not explicitly name alternatives or state when not to use it, so it stops short of full routing guidance, but the intended context is evident.

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

get_tagGet TagC

Get one tag from a workspace.

ParametersJSON Schema
NameRequiredDescriptionDefault
tag_idYesNumeric tag ID.
account_idYesNumeric Tag Manager account ID.
container_idYesNumeric container ID.
workspace_idYesNumeric workspace ID.

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

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 of behavioral disclosure. It only says 'Get one tag,' which implies a read operation but does not explicitly state that it is non-mutating, what happens if the tag is not found, or whether permissions are required. The description adds minimal behavioral context beyond the tool's name.

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 concise sentence with no redundant wording. It is front-loaded with the core action and resource. It could be slightly more informative without losing conciseness, but as written it is efficient.

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?

The tool is a straightforward getter with a complete input schema and an output schema, so the description does not need to explain return values. However, the description lacks any guidance about when to use this tool, how to locate tag_id, or the relationship to workspace/container/account IDs. It is minimally adequate but has clear 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?

The input schema has 100% description coverage, so all four parameters are already documented as numeric IDs. The description adds no extra meaning about the parameters, but the schema compensates fully. This matches the baseline of 3 for high schema coverage.

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 a specific verb and resource: 'Get one tag from a workspace.' This clearly distinguishes it from list-oriented or mutation tools like list_tags, create_tag, and update_tag. However, it does not explicitly contrast it with siblings like get_workspace or get_trigger, and the phrase is close to the tool name, so it lacks full differentiation.

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 gives no guidance on when to use this tool versus alternatives such as list_tags or get_workspace. There is no mention of prerequisites, fallback behavior, or exclusions. The usage context is only weakly implied by the verb 'get,' so an agent receives little decision support.

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

get_templateGet TemplateA

Get one custom template, including its sandboxed JavaScript source.

ParametersJSON Schema
NameRequiredDescriptionDefault
account_idYesNumeric Tag Manager account ID.
template_idYesNumeric template ID.
container_idYesNumeric container ID.
workspace_idYesNumeric workspace ID.

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A3.8/5.0
Behavior3/5

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

With no annotations, the description carries the burden of behavioral disclosure. It conveys that this is a read operation returning the template along with its source, but it does not disclose permissions, failure behavior, or any other side effects. This is adequate but minimal.

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 a single front-loaded sentence with no filler. Every word earns its place, and the qualifiers 'custom' and 'sandboxed JavaScript source' add real value.

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?

The output schema exists and all parameters are fully documented, so the description only needs to clarify what is fetched. It does that well, though it could go further by explicitly naming list_templates as the alternative for broader queries.

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%, with each of the four IDs already described by the schema. The tool description adds no parameter-specific meaning, so the baseline of 3 applies.

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 uses a specific verb ('Get') and a specific resource ('one custom template'), and additionally names what is included ('sandboxed JavaScript source'). This clearly distinguishes it from list_templates, create_template, update_template, and delete_template.

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 fetching a single custom template, especially when its JavaScript source is needed. However, it does not explicitly mention alternatives like list_templates for retrieving multiple templates or create_template for creating one.

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

get_transformationGet TransformationB

Get one transformation from a workspace.

ParametersJSON Schema
NameRequiredDescriptionDefault
account_idYesNumeric Tag Manager account ID.
container_idYesNumeric container ID.
workspace_idYesNumeric workspace ID.
transformation_idYesNumeric transformation ID.

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

B3.1/5.0
Behavior2/5

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

There are no annotations, so the description carries the full burden of behavioral disclosure. It only says 'Get', which implies a read operation, but it does not state whether the operation is read-only, what permissions are required, or what part of the transformation data is 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?

The description is a single concise sentence with no filler words. It is front-loaded with the core action and resource, making it efficiently scannable.

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?

An output schema exists, so return-value structure is likely documented elsewhere. However, with no annotations and no usage guidance, the description leaves the agent to infer when to use this tool versus sibling getters, making it minimally complete but not rich.

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%, with each required parameter documented as a numeric ID. The description adds no additional semantic detail beyond what the schema already provides, so the baseline score of 3 is appropriate.

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 action (Get), the resource (transformation), and the scope (from a workspace). It implies a single-entity retrieval, which differentiates it from list_transformations, though it does not explicitly name any sibling tool.

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 about when to use this tool rather than list_transformations or other getter tools. There are no exclusions, prerequisites, or alternative recommendations.

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

get_triggerGet TriggerA

Get one trigger from a workspace.

ParametersJSON Schema
NameRequiredDescriptionDefault
account_idYesNumeric Tag Manager account ID.
trigger_idYesNumeric trigger ID.
container_idYesNumeric container ID.
workspace_idYesNumeric workspace ID.

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A3.5/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 burden of disclosing behavior. It only says 'Get one trigger from a workspace,' which implies a read operation but does not explicitly state read-only semantics, authorization requirements, possible side effects, or error behavior. This is minimal disclosure for a tool with no annotation support.

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, clear sentence with no filler or repetition. It is efficiently front-loaded with the action and resource, though it could have added a brief usage note without becoming verbose.

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 that all parameters are fully documented in the schema and an output schema exists, the description need only state what the tool does and how it is scoped. It does that adequately for a simple read operation, though it omits any reference to alternative list tools or prerequisites.

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% description coverage for all four parameters, so the description does not need to explain each parameter. The description adds no extra semantic detail beyond 'from a workspace,' matching the baseline for full schema coverage.

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 uses a specific verb and resource ('Get one trigger') and clearly scopes the operation to a workspace. The singular 'one' differentiates it from the sibling list_triggers, and the resource name distinguishes it from update/delete/revert trigger tools.

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 phrase 'Get one trigger' implies this is for retrieving a single trigger rather than listing triggers, but there is no explicit guidance about when to use this tool versus list_triggers or when not to use it. The usage intent is only implicit, not stated.

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

get_user_permissionGet User PermissionA

Get one user's access to a Tag Manager account.

ParametersJSON Schema
NameRequiredDescriptionDefault
account_idYesNumeric Tag Manager account ID.
permission_idYesNumeric user permission ID.

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A3.8/5.0
Behavior3/5

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

There are no annotations, so the description carries the behavioral burden. 'Get' clearly suggests a read-only operation, but it does not disclose auth requirements, not-found behavior, or whether the response is a single permission object. This is minimal but acceptable for a simple getter.

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 entire description is one focused sentence with no filler. It front-loads the verb and resource, making the tool's purpose immediately visible.

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 low complexity (two required parameters, no nested objects, full schema coverage, and an output schema present), the description plus schema is sufficient for an agent to invoke this tool correctly. It lacks explicit sibling comparison, but nothing essential is missing for the call itself.

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% and both parameters are already documented as numeric IDs, so the description does not need to compensate. The phrase 'one user's access' adds context but no new parameter-level meaning.

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 uses a specific verb ('Get') and resource ('one user's access to a Tag Manager account'), clearly distinguishing it from list_user_permissions and from create/update/delete permission tools. It is unambiguous about scope: a single user's access rather than all permissions.

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 phrase 'one user's access' implies this is for retrieving a single permission, and the sibling list makes alternatives apparent. However, the description does not explicitly state when to choose this over list_user_permissions, nor does it mention any preconditions or exclusions.

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

get_variableGet VariableA

Get one variable from a workspace.

ParametersJSON Schema
NameRequiredDescriptionDefault
account_idYesNumeric Tag Manager account ID.
variable_idYesNumeric variable ID.
container_idYesNumeric container ID.
workspace_idYesNumeric workspace ID.

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A3.5/5.0
Behavior3/5

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

With no annotations, the description carries full behavioral disclosure burden, but it only states 'Get one variable' without explicitly confirming read-only semantics, permission needs, or error behavior. The 'get' verb conventionally implies non-destructive access, providing a minimal baseline, but no additional behavioral context is offered.

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 entire description is a single sentence containing no filler or repetition. It front-loads the action and communicates the core purpose instantly.

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?

For a simple read-by-ID tool with a fully documented input schema and an output schema, the description is minimally adequate. However, it omits any reference to when to use it over list_variables or how the request should be constructed beyond the schema, leaving a noticeable context 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?

All four parameters are fully documented in the schema (100% coverage), each described as a numeric ID, so the description adds no parameter-level meaning beyond the schema. The hierarchical relationship among account, container, workspace, and variable is not explained, but this is not required given complete schema coverage.

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 uses the specific verb 'get' with the resource 'variable' and the qualifier 'one', clearly distinguishing this singular retrieval from the sibling list_variables. While it does not name alternatives, the singular scope is immediately obvious.

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 choose this tool over siblings such as list_variables, create_variable, or get_workspace. There is no mention of typical use cases, prerequisites, or exclusions. The agent must infer context from the tool name alone.

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

get_versionGet VersionB

Get one container version, including every entity it contains.

ParametersJSON Schema
NameRequiredDescriptionDefault
account_idYesNumeric Tag Manager account ID.
version_idYesNumeric container version ID.
container_idYesNumeric container ID.
container_version_idNoRarely needed; overrides the version in the path. Leave unset.

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

B3.4/5.0
Behavior3/5

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

No annotations are present, so the description carries the behavioral disclosure burden. It usefully reveals that the returned version includes every contained entity, which is a meaningful behavioral trait. However, it does not address other behaviors such as read-only safety, handling of deleted versions, or payload size, though the output schema covers the return structure.

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 a single tight sentence that front-loads the action and resource, then adds the most decision-relevant qualifier—'including every entity it contains.' There is no filler or repetition.

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?

An output schema exists and all parameters are fully documented, so return values and parameter semantics are covered elsewhere. The only notable gap is explicit routing among the many version-related sibling tools, but the description plus structured data is sufficient for correct invocation.

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 all four parameters are already documented in the schema, including the rarely-needed container_version_id override. The description adds no parameter-level detail beyond what the schema provides, so the baseline score of 3 applies.

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 a specific verb and resource: retrieve one container version, and adds a key scoping detail—'including every entity it contains.' This separates it somewhat from version-header or live-version tools, though it does not explicitly name sibling alternatives.

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?

There is no guidance on when to use this tool versus related siblings like get_live_version, get_latest_version_header, or list_version_headers. The sentence describes what the tool does, not when to prefer it, so usage context is only weakly implied.

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

get_workspaceGet WorkspaceC

Get one workspace.

ParametersJSON Schema
NameRequiredDescriptionDefault
account_idYesNumeric Tag Manager account ID.
container_idYesNumeric container ID.
workspace_idYesNumeric workspace ID.

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

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 responsibility for behavioral disclosure. 'Get one workspace' only restates the tool name and implies retrieval; it says nothing about permissions, error behavior, side effects, or what the returned workspace entity contains.

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 one short sentence with no filler and the key action is front-loaded. It is concise, though the conciseness comes at the cost of useful contextual 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?

The input schema fully documents parameters and an output schema exists, so basic invocation is possible. However, with no annotations and no mention of how this relates to list_workspaces or get_workspace_status, the description is only minimally complete for an agent selecting among many workspace-related tools.

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 three ID parameters are individually documented in the input schema. The description adds no parameter-level meaning, which matches the baseline for fully covered schemas.

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 the specific verb 'Get' with a single resource ('one workspace'), so an agent can infer it is a fetch-by-identifier operation. However, it doesn't explicitly distinguish itself from sibling tools like list_workspaces or get_workspace_status beyond the singular wording.

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?

There is no guidance on when to use this tool versus alternatives such as list_workspaces or get_workspace_status. An agent is left to infer the intended use from the name alone.

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

get_workspace_statusGet Workspace StatusA

List what a workspace has changed, and what conflicts with the base.

Run this before creating a version: it is the diff between the workspace and the container version it was branched from.

ParametersJSON Schema
NameRequiredDescriptionDefault
account_idYesNumeric Tag Manager account ID.
container_idYesNumeric container ID.
workspace_idYesNumeric workspace ID.

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A4.2/5.0
Behavior4/5

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

No annotations are present, so the description carries the full burden of behavioral disclosure. The verb 'List' and the term 'diff' strongly imply a read-only query, and the pre-version usage hint suggests it is safe to run. It doesn't explicitly state 'does not modify anything' or cover auth/rate limits, but for a status tool this is reasonable and adds meaningful context beyond the schema.

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 exactly two sentences with no filler. The first sentence states the core action and scope; the second adds the key usage context. It is front-loaded and every word earns its place.

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 simple parameters, presence of an output schema, and no annotations, the description provides the necessary operational context: what it lists, what it compares, and when to run it. It doesn't explicitly note that the tool is read-only, but that is implied by 'List' and 'diff,' making this largely complete for a tool of this 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 description coverage is 100%, with each parameter described as a 'Numeric ... ID.' The description adds no additional parameter-level meaning, so the schema carries the full load. The baseline of 3 applies because the description need not repeat what the schema already provides.

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 uses a specific verb 'List' and clearly identifies the resource and scope: workspace changes and conflicts relative to the base. It also differentiates from siblings like resolve_workspace_conflict and sync_workspace by framing it as a diff operation, not a mutation. This makes the tool's purpose unambiguous.

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 when-to-use guidance: 'Run this before creating a version.' It also clarifies the tool's role as a diff between the workspace and its branch base, which helps the agent understand when this is the right call. It does not name alternatives or state exclusions, but the guidance is strong enough for correct selection.

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

get_zoneGet ZoneB

Get one zone from a workspace.

ParametersJSON Schema
NameRequiredDescriptionDefault
zone_idYesNumeric zone ID.
account_idYesNumeric Tag Manager account ID.
container_idYesNumeric container ID.
workspace_idYesNumeric workspace ID.

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

B3.4/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 of behavioral disclosure, yet it only restates the retrieval action. It does not explicitly state that this is a read-only operation, what happens if the zone is not found, or any other behavioral traits. The presence of an output schema mitigates the return-value gap but not the absent safety/error context.

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?

A single six-word sentence that is perfectly sized for a simple get operation. It front-loads the verb and resource, contains no filler, and every word contributes to the meaning.

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 low-complexity single-resource get with a fully documented input schema and an output schema present, the description covers the core operation adequately. It could be more complete by naming list_zones as the alternative for fetching multiple zones, but an agent has enough information to invoke this tool correctly.

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%, and all four required parameters are documented as numeric IDs. The description itself adds no parameter-level detail, so the baseline of 3 applies because the schema fully handles parameter semantics.

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 a specific verb and resource: 'Get one zone from a workspace.' It is clear and unambiguous, and it semantically distinguishes itself from sibling tools like list_zones by emphasizing a single zone. However, it does not explicitly contrast itself with alternative sibling 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 phrase 'one zone' implies this is the tool to use when retrieving a single zone, giving a basic usage signal. There is no explicit guidance about when not to use it, no mention of list_zones as the multi-zone alternative, and no stated prerequisites such as the zone belonging to the given workspace.

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

list_accountsList AccountsA

List the Google Tag Manager accounts this user can access.

Start here: every other tool needs an account ID, and the numbers shown in the Tag Manager web UI's URL are not always the API's account IDs.

ParametersJSON Schema
NameRequiredDescriptionDefault
page_tokenNoContinuation token from a previous response.
include_google_tagsNoAlso return accounts that exist only as Google tag destinations.

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A4.2/5.0
Behavior3/5

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

No annotations are provided, so the description carries the burden. It discloses that the tool returns accounts the user can access and implies a read-only operation, but it does not describe pagination behavior, the shape of the response, or whether include_google_tags changes the result set. The description adds some context beyond the schema but not rich behavioral detail.

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?

Three short sentences with zero waste. The core purpose is front-loaded, and the usage guidance is packed into the second sentence. Every sentence earns its place.

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 list tool with an output schema and 100% parameter coverage, the description is nearly complete. It clearly establishes the tool's role as the entry point and warns about the ID mismatch. The only minor gap is that it doesn't mention pagination or the effect of include_google_tags, but the schema covers the parameters and the output schema covers return values.

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 both parameters. The description does not add meaning beyond the schema — it doesn't explain when to use page_token or include_google_tags, or how they affect results. Baseline 3 is appropriate since the 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?

The description states a specific verb ('List') and resource ('Google Tag Manager accounts this user can access'), and clearly distinguishes this from the many sibling tools by framing it as the entry point for all other tools. It also adds a critical scoping detail: it lists only accounts the user can access, not all accounts in the system.

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

Usage Guidelines5/5

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

The description explicitly says 'Start here: every other tool needs an account ID' — this is a clear when-to-use directive that routes the agent to this tool before any other. It also warns against a common mistake (web UI URL numbers are not always API account IDs), which is valuable usage guidance.

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

list_all_containersList All ContainersA

List every container this user can reach, across every account.

Answers "what do I have access to" in one call instead of one list_containers per account. An account that cannot be read is reported with its error rather than failing the whole call.

ParametersJSON Schema
NameRequiredDescriptionDefault
include_google_tagsNoAlso include Google tag-only accounts.

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A4.5/5.0
Behavior4/5

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

With no annotations provided, the description carries the full burden, and it meets it by disclosing a meaningful behavioral trait: per-account error tolerance rather than fail-fast, plus cross-account aggregation semantics. It doesn't cover every possible concern (e.g., auth requirements), but for a read-style listing tool with an output schema, the disclosed behavior is substantial and useful.

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 core action is front-loaded in the first sentence, followed by a compact second block covering use case and error behavior. Every sentence earns its place; there is no filler or repetition of schema information.

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

Completeness5/5

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

For a tool with one optional parameter, an output schema, and no annotations, the description covers purpose, scope, sibling differentiation, and a key behavioral edge case. Nothing an agent needs to decide whether to invoke it and understand its result semantics 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%, and the single optional parameter include_google_tags already has an inline description in the schema. The tool description adds no parameter-level meaning, but per the baseline, the schema carries that burden adequately, so a 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 states a specific verb ('List'), resource ('containers'), and explicit scope ('every container this user can reach, across every account'). It directly answers the 'what do I have access to' question and is unambiguously distinguishable from the sibling list_containers, which the description itself names as the per-account alternative.

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

Usage Guidelines5/5

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

The description explicitly names the alternative (list_containers) and the condition that selects this tool: a cross-account access inventory 'in one call instead of one list_containers per account'. It also sets expectations for partial failures, telling the agent that unreachable accounts are reported rather than aborting the call.

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

list_built_in_variablesList Built In VariablesA

List the built-in variables enabled in a workspace.

Built-in variables (Page URL, Click Text, and so on) are supplied by Tag Manager and only need enabling. They are separate from the user-defined variables in list_variables.

ParametersJSON Schema
NameRequiredDescriptionDefault
account_idYesNumeric Tag Manager account ID.
page_tokenNoContinuation token from a previous response.
container_idYesNumeric container ID.
workspace_idYesNumeric workspace ID.

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A4.3/5.0
Behavior4/5

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

No annotations are present, so the description carries the behavioral burden. It clarifies that these are Tag Manager-supplied variables that only need enabling, implying a read-only operation scoped to enabled variables. It does not discuss pagination or response details, but the output schema covers structure.

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 concise sentences with no fluff; the purpose and key distinction are front-loaded. Each sentence earns its place.

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

Completeness5/5

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

For a simple list tool with a full input schema and an output schema, the description provides sufficient scope and sibling differentiation. Missing details like pagination are covered by the page_token parameter description and output schema.

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 all four parameters are already documented. The description adds no parameter-level meaning, but it does not need to given the schema's completeness.

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?

Clear action verb 'List' plus specific resource: built-in variables enabled in a workspace. The description also contrasts with user-defined variables, distinguishing it from list_variables without needing to inspect the schema.

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 separates this tool from list_variables by stating that built-in variables are distinct from user-defined ones, which tells an agent when to choose this tool. It does not enumerate all sibling alternatives (e.g., create_built_in_variable, delete_built_in_variable), but the main confusion point is handled.

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

list_clientsList ClientsA

List the clients in a workspace.

A web container returns an empty list; clients exist only in server containers.

ParametersJSON Schema
NameRequiredDescriptionDefault
account_idYesNumeric Tag Manager account ID.
page_tokenNoContinuation token from a previous response.
container_idYesNumeric container ID.
workspace_idYesNumeric workspace ID.

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A4/5.0
Behavior3/5

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

With no annotations, the description carries the burden. It discloses the empty-list behavior for web containers, which is a useful trait. However, it does not mention other potential behaviors like pagination (though page_token is in schema), ordering, or error handling, leaving some 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 concise sentences with the core purpose stated first and the container-specific behavior second. No wasted words, and the key detail is front-loaded.

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?

An output schema exists, so return values are covered. The description provides the essential context about web vs server containers, which is a critical operational detail. It does not mention permissions or prerequisites, but for a read-only list tool this is sufficient.

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 all parameters are documented in the schema. The description adds no additional meaning about parameters; it only mentions the workspace context. Baseline 3 is appropriate since the schema handles parameter semantics.

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 (list), resource (clients), and scope (workspace). It also adds a distinguishing behavioral note about web vs server containers, which differentiates it from other list tools and clarifies its domain.

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 a clear condition for expected results: web containers return empty lists and clients exist only in server containers. This implicitly guides when the tool is relevant, though it does not explicitly name alternative tools like get_client or list_containers.

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

list_containersList ContainersB

List the containers in a Tag Manager account.

ParametersJSON Schema
NameRequiredDescriptionDefault
account_idYesNumeric Tag Manager account ID.
page_tokenNoContinuation token from a previous response.

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

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 carry the full burden of behavioral disclosure, but it only restates the operation name. It does not explicitly confirm read-only/no-side-effect behavior, pagination behavior, or any account-scope constraints beyond what the schema already implies.

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 a single sentence with no filler and front-loads the action and resource. It is appropriately sized for a straightforward list operation, even though terseness contributes to gaps in usage guidance and behavioral disclosure.

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?

The tool is simple, the parameters are fully documented in the schema, and an output schema is present, so the description is largely adequate for invoking the tool. The main missing context is the relationship to list_all_containers and the absence of an explicit read-only/no-side-effect statement, which leaves moderate ambiguity.

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%, with account_id and page_token both described in the input schema. The description adds no additional parameter-level meaning, so the baseline score of 3 is appropriate.

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 a clear verb ('List') and resource ('containers in a Tag Manager account'), so the basic purpose is understandable. However, it does not distinguish list_containers from sibling list_all_containers or explain the exact scope difference, so it is not fully self-contained for tool selection.

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 gives no guidance on when to use this tool versus alternatives such as list_all_containers, get_container, or lookup_container. There are no exclusions, prerequisites, or scenarios mentioned, leaving the agent to guess which list operation fits the user's intent.

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

list_destinationsList DestinationsB

List the Google tag destinations linked to a container.

ParametersJSON Schema
NameRequiredDescriptionDefault
account_idYesNumeric Tag Manager account ID.
container_idYesNumeric container ID.

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

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 carries the full burden of behavioral disclosure. The verb 'List' weakly implies a read-only operation, but the description does not explicitly state read-only behavior, pagination, required permissions, or any side effects. This is a significant gap for a tool with no annotation support.

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 a single concise sentence that immediately states the action and scope. There is no extraneous information, and the structure is optimally front-loaded with the verb and resource.

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?

For a simple two-parameter list tool with a complete schema and an output schema, the description is adequate but not rich. It omits guidance on pagination, read-only confirmation, and how this listing relates to the singular 'get_destination' sibling, leaving some operational context to inference.

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%, and both parameters ('account_id' and 'container_id') have clear descriptions in the schema. The tool description itself adds no parameter-level detail, but per the rubric the baseline of 3 applies because the schema already documents the parameters fully.

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 a specific verb ('List') and a specific resource ('Google tag destinations linked to a container'), which clearly identifies the operation. It distinguishes from singular 'get_destination' by indicating enumeration of destinations, though it does not explicitly contrast with 'link_destination' or other destination-related 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?

The description implies usage when a caller needs to enumerate destinations for a container, but it provides no explicit guidance on when to use this tool versus alternatives like 'get_destination' or 'link_destination'. There are no exclusions, prerequisites, or sibling comparisons to help the agent choose correctly.

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

list_environmentsList EnvironmentsA

List a container's environments.

Every container has a Live and a Latest environment; the rest are user-created preview targets.

ParametersJSON Schema
NameRequiredDescriptionDefault
account_idYesNumeric Tag Manager account ID.
page_tokenNoContinuation token from a previous response.
container_idYesNumeric container ID.

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A3.8/5.0
Behavior3/5

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

With no annotations, the description carries the burden of behavioral disclosure. It communicates a read-only list operation via "List" and adds domain context about Live, Latest, and preview environments, but it does not disclose pagination behavior or any other operational details beyond what the schema already states.

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 short sentences with the core action front-loaded and no filler. The second sentence adds useful domain context about Live and Latest environments without repeating schema information.

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 straightforward list operation, the description is nearly complete: it states the scope, provides clarifying domain context, and the output schema supplies return-value details. It stops short of perfect completeness by omitting guidance on how this tool relates to get_environment for retrieving one environment.

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%: account_id, page_token, and container_id are each documented in the input schema. The tool description adds no parameter-level meaning, so the baseline of 3 applies.

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 begins with the specific verb-resource pairing "List a container's environments," making the operation and scope unambiguous. It is clearly differentiated from siblings like get_environment, create_environment, and delete_environment by the plural "environments" and container scoping.

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—call this to enumerate the environments belonging to a container—but does not explicitly say when to choose it over get_environment or how to decide among environment-related tools. No exclusions or alternatives are named, so an agent must infer the appropriate selection context.

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

list_foldersList FoldersB

List the folders in a workspace.

ParametersJSON Schema
NameRequiredDescriptionDefault
account_idYesNumeric Tag Manager account ID.
page_tokenNoContinuation token from a previous response.
container_idYesNumeric container ID.
workspace_idYesNumeric workspace ID.

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

B3.3/5.0
Behavior2/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 only states the action without mentioning read-only nature, pagination behavior (despite page_token parameter), permissions, or any side effects. This is a significant gap for a list operation.

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 a single sentence with no wasted words, front-loading the essential information. It is appropriately concise for a simple list operation, though it could benefit from more context.

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?

The output schema exists, so return values are covered. However, the description omits any usage context such as pagination token behavior, how to obtain required IDs, or when to prefer this tool over siblings. For a 4-parameter tool with pagination, this is a moderate 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?

Schema description coverage is 100% for all parameters, so the baseline is 3. The description adds no additional meaning to the parameters; it does not explain the relationship between IDs or any format details beyond what the schema already provides.

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 'List the folders in a workspace' uses a specific verb (list) and resource (folders) with scope (workspace), clearly distinguishing it from sibling tools like list_tags or list_triggers. It is unambiguous about the operation and target.

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?

There is no guidance on when to use this tool versus alternatives such as get_folder or list_workspace_entities. No exclusions, prerequisites, or alternative selection criteria are provided, leaving the agent to infer usage context.

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

list_gtag_configsList Gtag ConfigsA

List the Google tag configurations in a workspace.

These are the gtag.js settings a Google tag applies to its destinations -- the API equivalent of the "Configuration settings" panel on a Google tag.

ParametersJSON Schema
NameRequiredDescriptionDefault
account_idYesNumeric Tag Manager account ID.
page_tokenNoContinuation token from a previous response.
container_idYesNumeric container ID.
workspace_idYesNumeric workspace ID.

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A3.6/5.0
Behavior3/5

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

With no annotations provided, the description carries the burden of behavioral context. It adds a useful conceptual mapping to the 'Configuration settings' panel and establishes that this is a non-mutating list operation, but it does not disclose pagination behavior, response size, or other runtime traits.

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 with no filler: the actionable request comes first, and the second sentence adds a clarifying analogy. Every sentence earns its place.

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?

The tool is a simple list operation, the parameters are fully documented, and an output schema exists, so the agent has enough to invoke it correctly. It falls short of a 5 because it does not explicitly distinguish itself from get_gtag_config for single-entity retrieval.

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 across all four parameters, so the baseline of 3 applies. The description adds useful domain context about what gtag configurations are, but it does not provide parameter-level details 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 opens with a specific action and resource: 'List the Google tag configurations in a workspace.' It then clarifies what those configurations are, separating this operation from generic tag listing and from the get/create/update/delete gtag_config siblings.

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?

There is no guidance on when to use list_gtag_configs versus get_gtag_config, list_tags, or list_destinations. No exclusions or alternative tool mentions are provided; the only context is the scope qualifier 'in a workspace.'

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

list_tagsList TagsA

List the tags in a workspace.

ParametersJSON Schema
NameRequiredDescriptionDefault
account_idYesNumeric Tag Manager account ID.
page_tokenNoContinuation token from a previous response.
container_idYesNumeric container ID.
workspace_idYesNumeric workspace ID.

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A3.6/5.0
Behavior3/5

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

With no annotations provided, the description carries the burden of behavioral disclosure. 'List' clearly signals a non-mutating read operation, but the description does not mention pagination behavior, result ordering, or any authorization requirements. This is adequate for a simple read tool, but not detailed.

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 a single, front-loaded sentence with no filler or repetition. It conveys the essential scope ('in a workspace') efficiently, making it easy for an agent to parse quickly.

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 simple list operation with a fully documented input schema and an output schema available, the description is nearly complete. It could mention pagination or explicitly note that it returns all matching tags, but the page_token parameter and output schema already cover much of that 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%, and every parameter including page_token has a meaningful description in the schema. The tool description itself adds no parameter-level guidance beyond the verb, so it meets the baseline but provides no extra semantic value.

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 ('List') and names the resource ('tags') scoped to a workspace, making the tool's core purpose immediately clear. It distinguishes conceptually from get_tag and other entity-specific listers, though it does not explicitly contrast with siblings like list_workspace_entities.

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 when to use the tool: when you need the tags in a particular workspace. However, it provides no explicit when-not-to-use guidance or comparison with alternative sibling tools such as list_workspace_entities or find_entities_by_name, leaving some routing burden on the agent.

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

list_templatesList TemplatesB

List the custom templates in a workspace.

ParametersJSON Schema
NameRequiredDescriptionDefault
account_idYesNumeric Tag Manager account ID.
page_tokenNoContinuation token from a previous response.
container_idYesNumeric container ID.
workspace_idYesNumeric workspace ID.

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

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 carries the full burden of behavioral disclosure. It implies a read operation but says nothing about pagination despite the page_token parameter, nor about permissions, result volume, or operational side effects. The description adds no behavioral context beyond the literal meaning of 'List'.

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?

A single seven-word sentence with zero filler. The core action and scope are front-loaded, and every word 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?

The output schema exists and parameters are fully documented, so the mechanics of invocation are covered. However, with no annotations, no usage guidance, and pagination behavior left undisclosed, an agent faces minor ambiguity about when to use this tool and how results arrive. Adequate for a simple list operation, but with recognizable 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 description coverage is 100%, with clear descriptions for all four parameters including the page_token continuation semantics. The description itself adds no parameter-level detail, but the baseline of 3 applies because the schema fully documents 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 states a specific verb ('List'), a specific resource ('custom templates'), and a scope ('in a workspace'). The qualifier 'custom' adds useful precision and helps distinguish this from template CRUD siblings (get_template, create_template). It does not explicitly differentiate among the many list_* siblings, which keeps it just short of a 5.

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. With dozens of list_* siblings and a full template CRUD family visible, an agent receives no help deciding between list_templates and get_template, or between this and other list tools. The absence is not misleading, but it is a clear gap.

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

list_transformationsList TransformationsA

List the transformations in a workspace.

A web container returns an empty list; transformations exist only in server containers.

ParametersJSON Schema
NameRequiredDescriptionDefault
account_idYesNumeric Tag Manager account ID.
page_tokenNoContinuation token from a previous response.
container_idYesNumeric container ID.
workspace_idYesNumeric workspace ID.

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A4/5.0
Behavior3/5

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

With no annotations provided, the description carries the burden of behavioral disclosure. It discloses one key behavior (empty list for web containers) which is valuable. However, it does not mention pagination behavior (though page_token exists), error conditions, or other side effects. The disclosure is partial.

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 zero fluff. The purpose is front-loaded, and the second sentence adds a crucial contextual nuance. Every word earns its place.

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 simple list operation with pagination, the description covers the essential purpose and a key behavioral edge case. The output schema and parameter schema provide the rest. It does not explicitly explain pagination, but that is covered by the schema. Overall, an agent has enough to call it correctly.

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 all parameters have clear descriptions. The tool description does not add any parameter-specific meaning beyond what the schema already provides. Since coverage is high, a baseline of 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 verb 'List' and the resource 'transformations in a workspace'. It distinguishes from sibling tools like list_tags, list_triggers, etc., by specifying transformations. The added note about web containers further clarifies the tool's specific scope.

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 gives a clear context hint: transformations only exist in server containers, so web containers yield empty lists. This implicitly advises when the tool is useful, but it does not explicitly name alternatives like get_transformation or list_workspace_entities. It's more of a behavioral caveat than an explicit routing rule.

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

list_triggersList TriggersA

List the triggers in a workspace.

Triggers are referenced by tags through firingTriggerId and blockingTriggerId, so list these before creating a tag.

ParametersJSON Schema
NameRequiredDescriptionDefault
account_idYesNumeric Tag Manager account ID.
page_tokenNoContinuation token from a previous response.
container_idYesNumeric container ID.
workspace_idYesNumeric workspace ID.

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A4/5.0
Behavior3/5

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

With no annotations provided, the description carries the full burden of behavioral disclosure. The description explains that triggers are referenced by tags via specific IDs, which is useful context about why listing is necessary, but it doesn't disclose other behavioral aspects such as pagination (though the schema includes a page_token parameter, the description doesn't mention it), return format, or any side effects. Since there are no annotations, a score of 3 is appropriate – it adds some context but omits important operational details.

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: two sentences. The first sentence states the core function, and the second provides the key usage context. It is front-loaded with the primary purpose, and every word earns its place. There is no fluff or unnecessary elaboration. This is a model of conciseness.

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 relative simplicity (a list operation) and the presence of an output schema (which presumably describes the response structure), the description covers the essential context. It explains the relationship to tags, which is critical for correct usage. The only missing piece is explicit mention of pagination behavior, but that is partially covered by the page_token parameter in the schema. Overall, the description is sufficiently complete for an agent to use the tool effectively.

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 schema has 100% coverage, meaning all four parameters (account_id, container_id, workspace_id, page_token) have descriptions in the schema. The tool description does not add any parameter-specific guidance beyond what the schema provides. According to the rubric, with high schema coverage, the baseline is 3, so this score is appropriate. The description doesn't need to repeat parameter details, but it also adds no extra value.

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's purpose: 'List the triggers in a workspace.' It uses a specific verb ('List') and resource ('triggers'), and specifies the scope ('in a workspace'). This distinguishes it from sibling tools like 'get_trigger' (singular) and 'list_workspace_entities' (broader scope). The purpose is unambiguous and immediately understandable.

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 clear context on when to use this tool: it should be used before creating a tag, because tags reference triggers via firingTriggerId and blockingTriggerId. This is valuable usage guidance. However, it doesn't explicitly state when NOT to use it or mention alternatives (e.g., 'get_trigger' for a single trigger). The guidance is strong but lacks explicit exclusions.

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

list_user_permissionsList User PermissionsB

List who has access to a Tag Manager account, and at what level.

ParametersJSON Schema
NameRequiredDescriptionDefault
account_idYesNumeric Tag Manager account ID.
page_tokenNoContinuation token from a previous response.

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

B3.4/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 implies a read-only operation but never explicitly states that it does not modify data. It also does not disclose pagination behavior despite the page_token parameter. For a simple list tool, this is a notable omission.

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 a single, concise sentence with no waste. It front-loads the core purpose and is easy to parse.

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 simplicity, the output schema exists, and the schema covers parameters, the description is reasonably complete. It clearly identifies the scope (Tag Manager account) and what is returned (access levels). Minor gaps like explicit read-only confirmation are not critical for a straightforward list operation.

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 schema provides 100% coverage with clear descriptions for both account_id and page_token. The description adds no additional parameter meaning, so the baseline of 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 verb 'List' and the resource 'who has access to a Tag Manager account, and at what level', which distinguishes it from the singular get_user_permission. It is specific and unambiguous about what the tool returns.

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?

There is no guidance on when to use this tool versus the many sibling tools like get_user_permission, create_user_permission, etc. It does not mention alternatives or exclusions, leaving the agent to infer the appropriate context from the name alone.

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

list_variablesList VariablesB

List the variables in a workspace.

Other entities reference these by name in {{double braces}}, so the names here are what tag and trigger parameters point at.

ParametersJSON Schema
NameRequiredDescriptionDefault
account_idYesNumeric Tag Manager account ID.
page_tokenNoContinuation token from a previous response.
container_idYesNumeric container ID.
workspace_idYesNumeric workspace ID.

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

B3.3/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 of behavioral disclosure. It names the operation and adds naming-convention context, but it does not disclose pagination behavior via page_token, whether built-in variables are excluded, or any other behavioral traits. The agent must infer these from the schema and sibling tools.

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 with no filler. The core action is front-loaded, and the second sentence adds practical context about how variable names are used by tags and triggers.

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?

The schema fully documents parameters and an output schema exists, so the mechanical details of the call are covered. The notable gap is the missing distinction between regular variables and built-in variables, especially because list_built_in_variables is a sibling tool. The description is adequate but leaves this important relationship implicit.

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 all four parameters are already documented in the schema. The description adds little parameter-specific meaning beyond the general workspace context, but that is acceptable given the complete schema coverage.

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 a specific verb and resource: 'List the variables in a workspace.' This is clear and matches the tool name. However, it does not explicitly differentiate from the sibling list_built_in_variables or clarify that this likely covers user-defined variables only.

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 second sentence gives useful context: variable names are what tag and trigger parameters reference, so an agent can infer when listing variables is relevant. It does not explicitly say when not to use this tool or point to alternatives like get_variable or list_built_in_variables, leaving usage implied rather than stated.

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

list_version_headersList Version HeadersA

List a container's version history as lightweight headers.

Prefer this over fetching versions when you want the history: a header carries the ID, name and entity counts without the full snapshot of every tag in the version.

ParametersJSON Schema
NameRequiredDescriptionDefault
account_idYesNumeric Tag Manager account ID.
page_tokenNoContinuation token from a previous response.
container_idYesNumeric container ID.
include_deletedNoAlso return deleted versions.

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A4/5.0
Behavior3/5

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

With no annotations, the description carries the burden of behavioral disclosure. It usefully reveals that results are lightweight headers rather than full snapshots, but it does not explain pagination behavior, how include_deleted is applied, ordering, or whether read-only guarantees beyond 'list' apply. This is a moderate gap for an unannotated tool.

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 with no filler. The core purpose is front-loaded, and the second sentence earns its place by providing concrete guidance on when to prefer this tool over alternatives.

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?

The description is sufficient for a straightforward list operation, and an output schema exists to cover return-value details. It falls just short of being fully complete by not addressing include_deleted behavior or pagination guidance, though the input schema partially compensates.

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 account_id, container_id, page_token, and include_deleted are already documented in the input schema. The description adds no parameter-level semantics beyond this, meeting the baseline but not enhancing parameter clarity.

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 states a specific operation (list a container's version history) on a specific resource, and characterizes the result as lightweight headers. It also differentiates the tool from fetching full versions by noting the header carries ID, name, and entity counts, which distinguishes it from sibling version-related tools.

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 says to prefer this tool over fetching versions when the history is wanted, with a concrete efficiency rationale. It does not name the exact sibling tool or state the reverse condition (e.g., use get_version for a full snapshot), so the guidance is clear but not fully exhaustive.

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

list_workspace_entitiesList Workspace EntitiesA

Read everything configured in a workspace in one call.

Fetches tags, triggers, variables and folders, following pagination on each. Prefer this over four separate list calls when you want to understand or audit a container's setup.

ParametersJSON Schema
NameRequiredDescriptionDefault
account_idYesNumeric Tag Manager account ID.
container_idYesNumeric container ID.
workspace_idYesNumeric workspace ID.

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A4.2/5.0
Behavior4/5

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

With no annotations available, the description carries the behavioral disclosure burden. It clearly labels the operation as read-only ('Read everything configured') and discloses pagination handling ('following pagination on each'). This is meaningful practical information, though it could add details about auth needs or result size.

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 short, front-loaded sentences. The first sentence states the core purpose immediately, and the second adds scope and usage guidance. No filler or redundant repetition of schema details.

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?

The description covers the main operational aspects: what is returned, pagination behavior, and when to prefer it. Since an output schema exists, detailed return fields are not required. It is slightly generic about the full set of workspace entities, but sufficient for an agent to call the tool correctly.

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% and each parameter (account_id, container_id, workspace_id) is already described in the input schema. The description adds no parameter-specific semantics beyond the aggregate behavior, so the 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 uses a specific verb and resource: 'Read everything configured in a workspace in one call,' and explicitly enumerates the entity types fetched (tags, triggers, variables, folders). This clearly differentiates it from sibling list_* tools that target a single entity type, such as list_tags or list_triggers.

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: 'Prefer this over four separate list calls when you want to understand or audit a container's setup.' It names the alternative approach and the intended use case. It stops short of explicit when-not-to-use conditions, but the context is clear.

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

list_workspacesList WorkspacesB

List a container's workspaces.

A workspace is the draft layer: tags, triggers and variables are edited in one, and nothing reaches production until it becomes a version and that version is published. Every container has a "Default Workspace".

ParametersJSON Schema
NameRequiredDescriptionDefault
account_idYesNumeric Tag Manager account ID.
page_tokenNoContinuation token from a previous response.
container_idYesNumeric container ID.

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

B3.4/5.0
Behavior3/5

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

With no annotations, the description carries the full behavioral burden, and it does add useful context: workspaces are draft layers, nothing reaches production until publication, and every container has a Default Workspace, so an agent can expect one in the list. It doesn't go into pagination, ordering, or explicitly state read-only behavior, but for a simple list operation the added context is adequate.

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 short and front-loaded, with the core operation in the first sentence followed by one concise conceptual paragraph. It avoids bloat, though the conceptual sentence provides context rather than direct operational detail.

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?

The input schema is fully described and an output schema exists, so parameter and return-value needs are covered. The description is missing explicit alternative routing and deeper operation behavior, making it adequate but not fully complete for an agent navigating many workspace-related siblings.

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 account_id, container_id, and page_token are already well documented in the input schema. The description adds no parameter-specific meaning, which matches the baseline for full schema coverage.

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 opening sentence, 'List a container's workspaces', uses a clear verb and resource, and the draft-layer explanation clarifies what a workspace is. It does not explicitly distinguish from siblings like get_workspace or list_workspace_entities, so it stops short of full differentiation.

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 a use case—enumerating the draft layers of a container—by defining workspaces as the editing layer before versions are published. However, it gives no explicit when-to-use guidance, exclusions, or pointers to alternatives such as get_workspace or list_workspace_entities.

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

list_zonesList ZonesA

List the zones in a workspace.

A standard (non-360) container returns an empty list.

ParametersJSON Schema
NameRequiredDescriptionDefault
account_idYesNumeric Tag Manager account ID.
page_tokenNoContinuation token from a previous response.
container_idYesNumeric container ID.
workspace_idYesNumeric workspace ID.

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A3.6/5.0
Behavior3/5

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

With no annotations, the description carries the full behavioral burden. It discloses a useful edge case—standard containers return an empty list—but does not clarify pagination behavior, response structure, permissions, or read-only guarantees beyond the semantics implied by "List."

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 short sentences with no filler. The primary purpose is front-loaded, and the second sentence provides a meaningful behavioral caveat, making every sentence earn its place.

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 output schema exists and all parameters are documented, the description covers the key non-obvious context: standard containers return an empty list. It could have added explicit guidance on when to prefer get_zone, but the core information needed to invoke the tool correctly is present.

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 parameters are already well documented. The description adds no parameter-specific meaning beyond what the schema provides, which fits the baseline for complete schema coverage.

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 a specific verb and resource: "List the zones in a workspace." The collection-level intent is clear, though it does not explicitly differentiate from the sibling get_zone or other related tools beyond the plural naming.

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 when this tool is relevant by noting that a standard non-360 container returns an empty list, suggesting zones are a 360-container feature. However, it does not explicitly mention alternatives or exclusions, so an agent must infer the appropriate use case.

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

lookup_containerLookup ContainerA

Find a container from its public GTM-XXXXXXX tag ID.

Use this when you have a tag ID from a website's source but no account ID. Pass exactly one of the two arguments.

ParametersJSON Schema
NameRequiredDescriptionDefault
tag_idNoPublic tag ID, e.g. GTM-XXXXXXX.
destination_idNoLinked destination ID, e.g. AW-123456789 or G-ABC123.

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A4.5/5.0
Behavior4/5

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

With no annotations provided, the description carries the behavioral disclosure burden. It discloses a key constraint: 'Pass exactly one of the two arguments,' which is not evident from the schema alone. The 'find' wording also implies a read-only lookup, but it doesn't describe error behavior when the constraint is violated.

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 filler: the first states the core purpose, the second gives the usage context and the argument constraint. Every sentence earns its place and the key information is front-loaded.

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

Completeness5/5

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

For a simple lookup tool with an output schema and two well-described parameters, the description provides sufficient context to invoke it correctly: what it finds, when to use it, and how to pass arguments. Nothing critical is missing for an agent to act.

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 the baseline is 3. The description enhances parameter understanding by linking tag_id to its public GTM format and, more importantly, by specifying that exactly one argument must be passed, adding mutual-exclusivity semantics not present 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 states a specific verb and resource: 'Find a container from its public GTM-XXXXXXX tag ID.' This clearly differentiates it from siblings like list_containers or get_container by focusing on the public tag ID lookup use case.

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?

It explicitly defines when to use the tool: 'Use this when you have a tag ID from a website's source but no account ID.' It doesn't name alternative tools, but the context is clear enough for an agent to distinguish it from related container operations.

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

move_entities_to_folderMove Entities To FolderA

Move tags, triggers and variables into a folder.

Pass folder_id "0" to take the entities out of their current folder instead of putting them into one.

ParametersJSON Schema
NameRequiredDescriptionDefault
folderNoOptional Folder body. The API requires a body but uses none of it, so leaving this unset sends an empty object.
tag_idsNoNumeric tag IDs to move.
folder_idYesNumeric folder ID, or "0" to unfile the entities.
account_idYesNumeric Tag Manager account ID.
trigger_idsNoNumeric trigger IDs to move.
container_idYesNumeric container ID.
variable_idsNoNumeric variable IDs to move.
workspace_idYesNumeric workspace ID.

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A4/5.0
Behavior3/5

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

With no annotations, the description carries the behavioral burden. It discloses the key special behavior (folder_id "0" means unfile instead of file), which is valuable. However, it does not describe permissions, side effects on existing folder assignments, or response behavior for this mutation.

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 short sentences with the main action front-loaded and the critical 0 edge case in the second sentence. Every sentence adds information; no filler.

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?

The schema covers all eight parameters and describes the required/optional IDs, and an output schema exists, so return details are unnecessary. The description adds the one non-obvious behavior. It could be slightly stronger by noting that at least one entity-type ID array should be supplied for a meaningful call.

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 applies and the description need not restate parameters. It adds no parameter meaning beyond the schema; the special 0 behavior is already documented in the folder_id schema description.

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?

States a specific verb (move) and exact resources (tags, triggers, variables) with destination (folder). This differentiates it from single-entity or non-folder sibling tools even without naming alternatives.

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 gives clear operational context: use it to file these entity types into a folder, and pass folder_id "0" to unfile. It does not explicitly exclude alternatives such as move_tag_id, so it misses the top score.

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

move_tag_idMove Tag IdA

Move a tag ID out of a container into a newly created one.

The inverse of combine_containers: it splits a tag ID off a container that holds several.

ParametersJSON Schema
NameRequiredDescriptionDefault
tag_idNoThe tag ID to move out, e.g. GTM-XXXXXXX.
tag_nameNoName for the newly created container.
account_idYesNumeric Tag Manager account ID.
copy_usersNoCopy users to the new container.
container_idYesNumeric ID of the container holding the tag ID.
copy_settingsNoCopy tag settings to the new container.
copy_terms_of_serviceNoMust be true to accept the copied terms of service; the call fails otherwise.
allow_user_permission_feature_updateNoMust be true if the move would turn the user-permissions feature on.

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A3.7/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 of behavioral disclosure. It correctly indicates a mutating operation, but it does not mention side effects on the source container, whether the move is reversible, or required flag conditions such as copy_terms_of_service needing to be true.

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 succinct sentences with no wasted words. The core action is front-loaded, and the second sentence adds a valuable relationship to a sibling tool without digression.

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 8-parameter surface and absence of annotations, the description provides only the essential action and sibling relationship. The rich schema and output schema compensate for parameter details, but behavioral caveats and side-effect context are still sparse.

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 parameter-level meaning beyond what the schema provides, which aligns with the baseline 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 states a specific verb ('Move'), a direct object ('a tag ID'), and a destination ('out of a container into a newly created one'). It also distinguishes the operation from its sibling by calling itself the inverse of combine_containers, so an agent can differentiate it without opening the schema.

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 names combine_containers as the related alternative and explains the scenario this tool applies to: splitting a tag ID off a container that holds several. This is clear context, though it stops short of fully enumerating when not to use it or which other alternatives might apply.

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

publish_versionPublish VersionA

Publish a container version to production.

This takes effect on the live site immediately, for every visitor, with no staged rollout. The only way back is to publish an earlier version over the top. Confirm the version is the intended one before calling.

ParametersJSON Schema
NameRequiredDescriptionDefault
account_idYesNumeric Tag Manager account ID.
version_idYesNumeric container version ID.
fingerprintNoFingerprint from a previous read. When given, the publish fails if the version changed in the meantime.
container_idYesNumeric container ID.

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A3.8/5.0
Behavior4/5

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

With no annotations, the description carries the full burden and handles it well: it discloses immediate live-site impact, no staged rollout, and the only rollback path. This is material behavioral context beyond what the schema provides. It does not discuss auth or rate limits, but the core side effects are clearly surfaced.

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?

Three short sentences with no filler: core action first, then immediate-consequence warning, then rollback note and confirmation guidance. Every sentence earns its place.

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 output schema exists and all parameters are documented, the description covers the critical action and its irreversible consequences. It could be slightly stronger with an explicit pointer to a verification tool or sibling alternative, but it is otherwise complete for a high-stakes publish operation.

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 four parameters. The description adds no new parameter-level detail beyond implying that version_id is the intended version to publish. Baseline 3 is appropriate.

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?

States a specific verb and resource: 'Publish a container version to production.' This clearly identifies the operation and its scope. It does not explicitly contrast with sibling tools like set_latest_version or publish_workspace, so it falls short of full differentiation.

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 use when intentionally pushing a version live, and strongly implies not calling unless certain ('Confirm the version is the intended one before calling'). However, it does not explicitly name alternatives or state when not to use this tool versus sibling publish-related tools.

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

publish_workspacePublish WorkspaceA

Create a container version from a workspace, optionally publishing it.

This is the Tag Manager release flow: a workspace becomes a version, and a version is published. Creating the version consumes the workspace either way.

publish defaults to false. Passing true releases to the live site immediately, for every visitor -- confirm that is intended before setting it. A version that fails to compile is never published.

ParametersJSON Schema
NameRequiredDescriptionDefault
nameNoName for the new version, e.g. "Release 2026-09-20".
notesNoNotes describing what changed.
publishNoPublish the version to production once created.
account_idYesNumeric Tag Manager account ID.
container_idYesNumeric container ID.
workspace_idYesNumeric workspace ID.

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A3.8/5.0
Behavior4/5

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

With no annotations provided, the description carries the full behavioral burden. It discloses that creating a version consumes the workspace, that publish=true releases immediately to all visitors, that compile failures are never published, and that publish defaults to false. These are critical side-effect and risk disclosures that go beyond typical descriptions.

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 three short paragraphs, front-loaded with the primary action and then focusing on the crucial publish behavior. Every sentence contributes useful information—purpose, flow context, and a clear warning. No fluff or redundancy.

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 that an output schema exists (though not shown here), the description doesn't need to detail return values. It covers the release flow, publish implications, workspace consumption, and compile-failure handling. It could mention prerequisites or permissions, but for a release tool with significant side effects, it provides sufficient context for an agent to call it correctly.

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?

The input schema provides 100% coverage with descriptions for every parameter, so the baseline is 3. The description adds meaningful context beyond the schema: it explains the publish parameter's real-world impact (immediate release, confirmation needed) and clarifies that workspace consumption happens regardless of publish. This adds value beyond the schema's 'Publish the version to production once created.'

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 action: 'Create a container version from a workspace, optionally publishing it.' It identifies the resource (workspace) and the resulting version, and notes the optional publish step. However, it does not explicitly name sibling tools like create_version or publish_version, so an agent must infer the difference from the combined behavior rather than being directly told.

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 explains the release flow and warns about the publish flag, but it does not explicitly state when to choose this tool over create_version or publish_version. The 'Tag Manager release flow' is implied context, yet no direct alternatives or exclusions are mentioned, leaving some inference required.

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

quick_preview_workspaceQuick Preview WorkspaceA

Compile a workspace into a throwaway version to check it is valid.

Nothing is saved and nothing is published; this is the cheap way to find compiler errors before create_version.

ParametersJSON Schema
NameRequiredDescriptionDefault
account_idYesNumeric Tag Manager account ID.
container_idYesNumeric container ID.
workspace_idYesNumeric workspace ID.

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A4.7/5.0
Behavior5/5

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

With no annotations provided, the description carries the full burden and does so well. It explicitly discloses that nothing is saved, nothing is published, and the result is throwaway, giving an accurate safety profile for a compile-check operation.

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 short, focused sentences with no wasted words. The primary purpose is front-loaded first, and the key behavioral caveats follow immediately.

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

Completeness5/5

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

The tool has only three well-documented parameters and an output schema, so the description does not need to explain return values. It covers purpose, behavior, side effects, and usage context sufficiently for an agent to select and invoke it correctly.

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?

Input schema coverage is 100% and already describes account_id, container_id, and workspace_id clearly. The description does not add parameter-specific meaning, but that is not necessary given the schema already carries the details.

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 uses a specific verb ('compile') with a clear resource ('a workspace into a throwaway version') and outcome ('to check it is valid'). It also distinguishes itself from create_version by emphasizing that this produces no saved or published result.

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

Usage Guidelines5/5

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

The description explicitly frames this as the cheap way to find compiler errors before create_version, giving clear when-to-use guidance and naming the alternative. It also clarifies that nothing is saved or published, which helps an agent avoid using this tool when a real version is needed.

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

reauthorize_environmentReauthorize EnvironmentA

Regenerate an environment's authorization code.

Use this when a preview link has leaked: the old code stops working immediately, so anything embedding it must be updated.

ParametersJSON Schema
NameRequiredDescriptionDefault
account_idYesNumeric Tag Manager account ID.
environmentNoOptional Environment body. The API requires a body but uses none of it, so leaving this unset sends an empty object.
container_idYesNumeric container ID.
environment_idYesNumeric environment ID.

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A4.4/5.0
Behavior4/5

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

The description discloses a key behavioral trait: the old code stops working immediately after regeneration. This is critical for an agent to understand the side effect. However, it doesn't mention whether the operation is reversible or if it requires special permissions, but the immediate invalidation is a significant behavioral disclosure.

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 with zero waste. The main action is front-loaded, and the usage context is provided in a compact, actionable second sentence. Every word earns its place.

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?

The description is complete for a regeneration tool: it states the action, the trigger condition, and the immediate consequence. The output schema exists, so return values are covered. It could mention whether the new code is returned in the response, but the output schema likely covers that. Overall, it's well-rounded.

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 doesn't add parameter-specific details beyond what the schema provides, but it does clarify the purpose of the 'environment' parameter by noting the API requires a body but uses none of it. This is a baseline 3 with some added value.

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's function: 'Regenerate an environment's authorization code.' This is a specific verb (regenerate) and resource (environment authorization code), and it distinguishes itself from sibling tools like get_environment, create_environment, and update_environment by focusing on the authorization code regeneration action.

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

Usage Guidelines5/5

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

The description explicitly states when to use this tool: 'Use this when a preview link has leaked.' It also explains the consequence of using it ('the old code stops working immediately') and the follow-up action ('anything embedding it must be updated'). This provides clear context and implicitly excludes other tools.

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

resolve_workspace_conflictResolve Workspace ConflictB

Resolve one merge conflict raised by sync_workspace.

ParametersJSON Schema
NameRequiredDescriptionDefault
entityYesEntity resource holding the resolved version, with exactly one of tag, trigger, variable, client, folder or transformation set, e.g. {"tag": {"tagId": "12", "name": "GA4 config", ...}, "changeStatus": "updated"}.
account_idYesNumeric Tag Manager account ID.
fingerprintNoFingerprint of the conflicting entity in the workspace.
container_idYesNumeric container ID.
workspace_idYesNumeric workspace ID.

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

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 the full burden of behavioral disclosure, but it only says 'resolve one merge conflict'. It does not explain side effects, whether this is a mutating operation with destructive potential, what happens to the existing conflicting entity, or whether the operation is reversible.

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, efficient sentence with no filler and places the core purpose up front. It is somewhat sparse, but the brevity is not a structural defect; it 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 rich parameter schema and an output schema, the tool description omits important behavioral and workflow context. It does not explain what constitutes a conflict, what 'resolving' changes, whether it replaces or updates the entity, or what prerequisites apply, making it incomplete for a complex mutation-like operation.

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 five parameters thoroughly, including the complex 'entity' object. The tool description adds no parameter-level meaning, so a baseline score of 3 is appropriate.

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 verb 'resolve' and the specific resource 'one merge conflict raised by sync_workspace', which goes beyond simply restating the title. It also distinguishes this tool from the sibling sync_workspace by establishing a create/resolve relationship, though it stops short of naming an alternative.

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 phrase 'raised by sync_workspace' implies this tool should be used after sync_workspace produces a conflict. However, there is no explicit guidance about when not to use it or what alternative to choose, leaving usage mostly inferred rather than clearly stated.

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

revert_built_in_variableRevert Built In VariableB

Undo a workspace's change to one built-in variable.

ParametersJSON Schema
NameRequiredDescriptionDefault
account_idYesNumeric Tag Manager account ID.
container_idYesNumeric container ID.
workspace_idYesNumeric workspace ID.
variable_typeNoThe one type to revert, e.g. "clickText". This method takes a single type, not a list.

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

B3.2/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 of behavioral disclosure. It indicates a mutating 'Undo' operation but does not state whether the action is reversible, what happens to the variable's current state, or what side effects the revert may have.

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 a single, front-loaded sentence with no filler or repetition. Every word contributes to identifying the action and the target resource.

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?

For a mutating tool with no annotations, the description is incomplete: it does not clarify the behavior when the optional variable_type is null, the side effects of the revert, or the operation's scope beyond 'one built-in variable'. The output schema exists but does not compensate for the missing behavioral guidance.

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 all four parameters, including variable_type's 'single type, not a list' note. The description adds no meaningful parameter semantics beyond confirming that the operation targets one built-in variable.

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 uses a specific verb ('Undo') and clearly identifies the target resource ('a workspace's change to one built-in variable'). It distinguishes this tool from siblings like revert_variable by explicitly scoping it to built-in variables and from bulk operations by specifying 'one'.

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?

There is no guidance on when to choose this tool over alternatives such as revert_variable, delete_built_in_variable, or update_variable. The description implies the use case of undoing a workspace change, but it states no prerequisites, exclusions, or conditions.

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

revert_clientRevert ClientA

Undo a workspace's changes to one client.

Restores the client to the state of the container version the workspace was branched from, leaving the workspace's other changes alone.

ParametersJSON Schema
NameRequiredDescriptionDefault
client_idYesNumeric client ID.
account_idYesNumeric Tag Manager account ID.
fingerprintNoFingerprint from a previous read.
container_idYesNumeric container ID.
workspace_idYesNumeric workspace ID.

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A4/5.0
Behavior3/5

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

With no annotations, the description discloses the core effect: client is restored to the branch-point container version and other workspace changes are left alone. It doesn't mention destructive/irreversible side effects, fingerprint requirements, permissions, or concurrent-change guarding, so the behavioral disclosure is partial.

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 tightly written sentences; the action is front-loaded and every clause adds meaning (scope, restoration target, preservation of other changes). No filler.

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?

The description covers what the tool does and its scope, and an output schema exists so return values are covered elsewhere. It lacks explicit caution about irreversible changes or the role of fingerprint, but for a single-entity revert operation with full schema documentation it is nearly complete.

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 every parameter. The description adds no extra semantic detail about parameters like fingerprint or the numeric IDs.

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?

States the precise action ('undo a workspace's changes to one client') and the restoration target ('state of the container version the workspace was branched from'). The 'one client' scope distinguishes it from bulk workspace operations and sibling entity-specific revert tools.

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?

Gives clear context for when to use: to selectively undo a single client's workspace changes while preserving all other workspace changes. It doesn't explicitly name alternatives or exclusions, but the phrasing makes the intended use easily inferable.

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

revert_folderRevert FolderC

Undo a workspace's changes to one folder.

ParametersJSON Schema
NameRequiredDescriptionDefault
folder_idYesNumeric folder ID.
account_idYesNumeric Tag Manager account ID.
fingerprintNoFingerprint from a previous read.
container_idYesNumeric container ID.
workspace_idYesNumeric workspace ID.

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

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 of behavioral disclosure. It only says 'undo' without clarifying whether the operation is destructive or irreversible, what happens to current workspace changes, whether the fingerprint is needed for concurrency, or what permissions are required. This is a significant gap for a state-changing tool.

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 a single front-loaded sentence with no filler. Every word contributes meaning, and it is appropriately sized for a simple operation.

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?

Although the schema and output schema cover parameters and return values, the lack of annotations and behavioral/usage context leaves the description incomplete for a revert operation. An agent does not learn the side effects, when this tool applies, or the role of the fingerprint parameter.

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 little beyond indicating the folder and workspace context, which maps to existing folder_id and workspace_id fields. Baseline 3 is appropriate.

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 ('Undo') and resource ('folder') and scopes the action to 'a workspace's changes'. It is clear, though it does not explicitly contrast with sibling revert_* tools for other entity types or with update/delete folder actions; the resource name is the main differentiator.

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 when-to-use guidance is provided. An agent cannot determine from the description when to choose revert_folder over update_folder, delete_folder, or other revert_* tools. There are no exclusions, prerequisites, or mention of alternatives.

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

revert_tagRevert TagA

Undo a workspace's changes to one tag.

Restores the tag to the state of the container version the workspace was branched from, leaving the workspace's other changes alone.

ParametersJSON Schema
NameRequiredDescriptionDefault
tag_idYesNumeric tag ID.
account_idYesNumeric Tag Manager account ID.
fingerprintNoFingerprint from a previous read.
container_idYesNumeric container ID.
workspace_idYesNumeric workspace ID.

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A4.2/5.0
Behavior4/5

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

With no annotations provided, the description carries the behavioral disclosure burden. It explains that only the specified tag is restored and explicitly states that the workspace's other changes remain untouched. This is a useful, non-obvious behavioral guarantee beyond the tool name alone.

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 concise sentences with no filler. The main action is front-loaded, and the follow-up sentence explains the crucial scoping behavior. Everything present earns its place.

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 has an output schema and fully described parameters, the description adequately covers the operation's behavior and scope. It could mention prerequisites like requiring prior workspace changes, but the core semantics are complete enough for an agent to invoke it correctly.

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 each parameter. The description adds no additional parameter-level meaning beyond contextualizing the revert behavior, which keeps this at the baseline score.

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 action: 'Undo a workspace's changes to one tag.' It names the specific resource (tag) and the scoped operation (workspace-level revert), and the second sentence adds precise restoration semantics distinguishing it from other tag operations.

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 conveys clear context for when to use it: when a workspace changed a tag and those changes need to be undone back to the branch point. It does not explicitly name alternatives or exclusions, but the semantics are distinct enough to imply appropriate usage.

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

revert_templateRevert TemplateC

Undo a workspace's changes to one custom template.

ParametersJSON Schema
NameRequiredDescriptionDefault
account_idYesNumeric Tag Manager account ID.
fingerprintNoFingerprint from a previous read.
template_idYesNumeric template ID.
container_idYesNumeric container ID.
workspace_idYesNumeric workspace ID.

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

C2.9/5.0
Behavior2/5

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

With no annotations provided, the description carries the full burden of behavioral disclosure. It states the operation 'undoes changes' but does not explain whether the revert is destructive, whether it affects other workspaces or the live version, whether it is reversible, or what the response contains. For a mutation tool, 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.

Conciseness4/5

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

The description is a single, front-loaded sentence with the verb first and no wasted words. It is concise and well-structured, though it is arguably too terse for the complexity of the operation. Still, it meets the bar for conciseness without padding.

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?

For a mutation tool with five parameters, no annotations, and an output schema that is not visible in the input context, the description is incomplete. It does not explain the purpose of fingerprint, the relationship between account/container/workspace, or the expected result of the revert. An agent lacks critical context to call the tool safely and correctly.

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 all five parameters have descriptive text in the schema. The description adds minimal meaning beyond that, only implicitly linking 'workspace' to workspace_id and 'template' to template_id. Since the schema does the heavy lifting, a baseline 3 is appropriate.

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 'Undo' and clearly identifies the resource as 'a workspace's changes to one custom template', which distinguishes it from other revert_* siblings by resource type. However, it doesn't explicitly mention the counterpart (e.g., revert_tag, revert_trigger) or further differentiate the operation's scope, so it stops short of a 5.

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. There is no mention of prerequisites (e.g., needing a fingerprint from a prior read), no exclusions, and no reference to sibling revert tools. An agent must infer the context entirely from the name and description.

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

revert_transformationRevert TransformationA

Undo a workspace's changes to one transformation.

Restores the transformation to the state of the container version the workspace was branched from, leaving the workspace's other changes alone.

ParametersJSON Schema
NameRequiredDescriptionDefault
account_idYesNumeric Tag Manager account ID.
fingerprintNoFingerprint from a previous read.
container_idYesNumeric container ID.
workspace_idYesNumeric workspace ID.
transformation_idYesNumeric transformation ID.

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A4.2/5.0
Behavior4/5

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

With no annotations provided, the description carries the full burden of behavioral disclosure. It transparently states the core side effect: the transformation is restored to the branch point state and other workspace changes are preserved. It does not, however, mention fingerprint semantics, permission requirements, or failure behavior, which would add further 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?

The description is two short sentences with no filler. The core action is front-loaded in the first sentence, and the second sentence adds essential scoping detail without redundancy.

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 straightforward parameter set, an output schema, and the clear description of the operation's scope, the definition is mostly complete. The only notable gap is the lack of guidance around the fingerprint parameter and any conditions under which the revert might fail, but the essential calling context is covered.

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 tool description does not add parameter-specific meaning; its explanation focuses on the operation rather than the parameters. The fingerprint parameter remains only minimally described in the schema as 'Fingerprint from a previous read,' and the description does not clarify when it should be used.

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 opens with a specific verb and resource: 'Undo a workspace's changes to one transformation.' It further clarifies the exact effect by stating it 'restores the transformation to the state of the container version the workspace was branched from,' making the purpose unmistakable and clearly distinct from generic update or delete tools.

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 clear contextual guidance by emphasizing 'leaving the workspace's other changes alone,' which tells an agent this tool is scoped to a single transformation rather than the whole workspace. It does not explicitly name alternative tools or exclusions, but the context is sufficient for selecting this tool over broader workspace operations.

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

revert_triggerRevert TriggerA

Undo a workspace's changes to one trigger.

Restores the trigger to the state of the container version the workspace was branched from, leaving the workspace's other changes alone.

ParametersJSON Schema
NameRequiredDescriptionDefault
account_idYesNumeric Tag Manager account ID.
trigger_idYesNumeric trigger ID.
fingerprintNoFingerprint from a previous read.
container_idYesNumeric container ID.
workspace_idYesNumeric workspace ID.

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A4.2/5.0
Behavior4/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 of behavioral disclosure. It clearly states the operation is a mutation ('Undo', 'Restores') and specifies the scope (only the trigger, not other workspace changes). It does not mention permissions, reversibility, or edge cases (e.g., no changes to undo), but the core behavioral effect is transparent.

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 concise sentences, front-loaded with the primary action. No redundant wording, and the scope is stated early. Every sentence earns its place.

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 an output schema exists and all parameters are described, the description adequately explains the operation's semantics and scope. It does not cover error cases or prerequisites, but for a revert tool with clear parameters, this is sufficient. No missing information that would prevent correct invocation.

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 all parameters are already documented with clear meanings. The description adds context about the branch point (container version) which helps understand the role of container_id and workspace_id, but does not provide additional parameter-level detail beyond what the schema offers. Baseline of 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 action ('Undo') and the specific resource ('a workspace's changes to one trigger'). It explains the restoration target (container version the workspace branched from) and distinguishes it from other revert_* tools by specifying the trigger entity. This fully clarifies what the tool does and sets it apart from siblings like revert_tag or revert_variable.

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 implies when to use it: when you need to undo changes to a single trigger while preserving other workspace modifications. It explicitly notes 'leaving the workspace's other changes alone', which guides selection against broader operations like bulk_update_workspace or update_trigger. However, it does not name alternatives or give explicit 'when not to use' conditions, so it's clear but not exhaustive.

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

revert_variableRevert VariableA

Undo a workspace's changes to one variable.

Restores the variable to the state of the container version the workspace was branched from, leaving the workspace's other changes alone.

ParametersJSON Schema
NameRequiredDescriptionDefault
account_idYesNumeric Tag Manager account ID.
fingerprintNoFingerprint from a previous read.
variable_idYesNumeric variable ID.
container_idYesNumeric container ID.
workspace_idYesNumeric workspace ID.

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A4.2/5.0
Behavior4/5

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

With no annotations provided, the description carries the burden of behavioral disclosure. It does well by explaining that only the variable is restored, that the restoration target is the container version the workspace branched from, and that other workspace changes are left untouched. It does not mention irreversibility or fingerprint semantics, but the core behavior is clearly disclosed.

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 tight sentences with no filler. The core action is front-loaded, and the second sentence adds the essential behavioral nuance without redundancy.

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 schema coverage and output schema, the description is largely complete for invoking the tool correctly. It clearly states the action, scope, and restoration target. It could be slightly stronger by explicitly distinguishing itself from update_variable/delete_variable and clarifying fingerprint usage, but nothing critical 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 the schema already documents all parameters. The description adds no additional parameter-level detail, such as the role of the fingerprint field, so a baseline score of 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 uses a specific verb ('Undo') and a precise resource ('a workspace's changes to one variable'), clearly distinguishing this from sibling revert tools for tags, triggers, folders, etc. It also clarifies the scope of the action, so an agent knows exactly what entity is affected.

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 clear context: use this when you need to undo a workspace's change to a single variable and restore it to the branch origin state. It does not explicitly name alternatives or exclusions, but the scope is unambiguous enough to route an agent correctly.

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

revert_zoneRevert ZoneA

Undo a workspace's changes to one zone.

Restores the zone to the state of the container version the workspace was branched from, leaving the workspace's other changes alone.

ParametersJSON Schema
NameRequiredDescriptionDefault
zone_idYesNumeric zone ID.
account_idYesNumeric Tag Manager account ID.
fingerprintNoFingerprint from a previous read.
container_idYesNumeric container ID.
workspace_idYesNumeric workspace ID.

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A4.2/5.0
Behavior4/5

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

With no annotations, the description carries the burden and explains the core behavior precisely: it restores the zone to the container version state the workspace was branched from and leaves other workspace changes untouched. It does not disclose permanence or concurrency implications, but the essential mutation semantics are clear.

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 compact sentences front-load the action and then add the precise restoration target. No redundant filler or repetition of the tool name.

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?

The description is complete enough for core invocations: it identifies the operation, the scope, and the exact restore source. The presence of an output schema removes the need to describe return values, though it could mention side effects or fingerprint usage for full completeness.

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 contextual meaning about the workspace/container/zone relationship, but it does not elaborate on individual parameters such as fingerprint beyond what the schema already says.

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 opens with a specific verb and resource: 'Undo a workspace's changes to one zone.' It distinguishes this from sibling revert_* tools by naming the zone as the target and by scoping to a single workspace, so the agent can identify it without reading the schema.

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?

It clearly frames when to use the tool: when a workspace's changes to one zone need to be undone. It does not explicitly name alternatives or exclusions, but among the many revert_* siblings the resource-specific wording gives enough context to select it.

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

set_latest_versionSet Latest VersionA

Set the version that workspaces sync against.

This is the baseline used to detect conflicts when a workspace syncs. It does not change what is published.

ParametersJSON Schema
NameRequiredDescriptionDefault
account_idYesNumeric Tag Manager account ID.
version_idYesNumeric container version ID.
container_idYesNumeric container ID.

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A4/5.0
Behavior4/5

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

With no annotations provided, the description carries the full burden. It clearly discloses that this is a mutation (set) and adds a key behavioral detail: it does not change published state. However, it does not mention potential consequences for existing workspaces or authorization requirements, leaving some 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 short sentences that front-load the core purpose and then add clarifying context. It contains no extraneous words and is efficiently structured.

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 simple set operation with an output schema present, the description covers the essential purpose and a key distinction from publishing. It lacks detail on prerequisites or error conditions, but is reasonably complete for the tool's 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 all three parameters are already documented in the schema. The description adds no additional parameter-specific meaning beyond what the schema provides, so the baseline score of 3 applies.

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 states a specific verb and resource: setting the version that workspaces sync against. It clearly distinguishes itself from publishing by explicitly noting 'It does not change what is published,' which differentiates it from publish_version and update_version among 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 provides context that this is the sync baseline and clarifies it does not affect publishing, but it does not explicitly name alternative tools or conditions for when to use this tool versus others. Usage is implied but left to the agent's inference.

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

summarize_containerSummarize ContainerA

Summarise a container: settings, workspaces and what is live.

The quickest answer to "what is this container and what is it running".

ParametersJSON Schema
NameRequiredDescriptionDefault
account_idYesNumeric Tag Manager account ID.
container_idYesNumeric container ID.

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A3.8/5.0
Behavior3/5

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

No annotations are provided, so the description carries the behavioral disclosure burden. It clearly indicates this is a summary/read-like operation covering settings, workspaces, and live state, which is useful, but it does not explicitly state that it performs no modifications or describe any other 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.

Conciseness5/5

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

The description is two short sentences with no filler. The main definition is front-loaded, and the second sentence adds a practical use case, so every word earns its place.

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 simple two-parameter tool with an output schema and a clear summary intent, the description is largely sufficient. It could be more complete by explicitly noting that this is a read-only aggregation and distinguishing it from get_container or lookup_container, but nothing essential 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?

The input schema already fully documents both parameters (account_id and container_id) with descriptions, so the schema coverage is 100%. The description adds no additional parameter-level meaning beyond referring to the container.

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 ('Summarise') with a clear resource ('container') and lists the output scope: settings, workspaces, and what is live. It is distinguishable from detailed sibling tools like get_container, but it does not explicitly name or contrast with any sibling.

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 phrase 'The quickest answer to...' gives a clear usage context: use this when you need a fast high-level overview rather than deep detail. However, it does not state when not to use it or name alternative tools for fuller details.

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

sync_workspaceSync WorkspaceA

Bring a workspace up to date with the latest container version.

Unmodified entities are updated in place; anything the workspace also changed comes back as a merge conflict to resolve with resolve_workspace_conflict.

ParametersJSON Schema
NameRequiredDescriptionDefault
account_idYesNumeric Tag Manager account ID.
container_idYesNumeric container ID.
workspace_idYesNumeric workspace ID.

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A4.2/5.0
Behavior4/5

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

Without any annotations, the description carries the behavioral disclosure burden. It does well by explaining that unmodified entities are updated in place and that locally changed entities produce merge conflicts rather than being silently overwritten. It omits authorization requirements and reversibility, but for a sync operation the key behavior is clearly and usefully disclosed.

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 main purpose, and then adds only the essential behavioral outcome. There is no filler or repetition of schema information.

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?

The description is complete enough for a well-scoped 3-parameter operation, especially given an output schema exists. It covers the main purpose, the mutation behavior, and the conflict path. It does not mention prerequisites such as checking workspace status first, but the essential call context is present.

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 all three parameters already have meaningful descriptions as numeric account, container, and workspace IDs. The tool description does not add additional parameter semantics, but it also does not need to because the schema fully documents the parameters.

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 states a specific action (bring a workspace up to date) against a specific resource (workspace) relative to the latest container version. It also distinguishes the tool from related operations by describing the merge-conflict outcome and explicitly naming resolve_workspace_conflict, so an agent can tell it apart from other workspace tools.

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 first sentence clearly frames when to use the tool: when the workspace should be updated to the latest container version. The second sentence gives conditional guidance by explaining that conflicts require using resolve_workspace_conflict. This is clear context, though it stops short of explicitly enumerating when not to use the tool or contrasting it with alternatives like bulk_update_workspace.

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

undelete_versionUndelete VersionC

Restore a deleted container version.

ParametersJSON Schema
NameRequiredDescriptionDefault
account_idYesNumeric Tag Manager account ID.
version_idYesNumeric container version ID.
container_idYesNumeric container ID.

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

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 says 'Restore a deleted container version' without disclosing any behavioral details such as whether the operation is idempotent, what happens if the version isn't deleted, or if it affects live/container state. The description is too sparse to inform the agent about side effects or prerequisites.

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 a single sentence with no fluff. It is extremely concise and front-loads the core action. There is nothing extraneous, so it earns full marks for conciseness.

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 an output schema (not shown), so return values are not required. However, the description lacks essential context for an agent to decide when to use it, such as preconditions (version must be deleted), potential reversibility, or interaction with other version tools. For a mutation action with three required parameters and many sibling tools, this is insufficient guidance.

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 provides 100% coverage with descriptions for all three parameters (account_id, container_id, version_id). The description adds no additional parameter meaning, so the baseline score of 3 applies since the schema already documents them.

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 verb 'Restore' and the resource 'a deleted container version', which is specific and unambiguous. It does not explicitly compare with sibling tools like delete_version or update_version, but the action is distinct enough that an agent can infer the purpose.

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?

There is no guidance on when to use this tool versus alternatives. It doesn't mention that it should be called after a delete_version operation, or any conditions like the version must exist and be deleted. The agent is left to infer the usage context.

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

update_accountUpdate AccountB

Update a Tag Manager account's settings.

ParametersJSON Schema
NameRequiredDescriptionDefault
accountYesAccount resource with the fields to change, e.g. {"name": "Acme Inc", "shareData": false}.
account_idYesNumeric Tag Manager account ID.
fingerprintNoFingerprint from a previous read. When given, the update fails if the account changed in the meantime.

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

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 carries full responsibility for behavioral disclosure. It only states 'Update a Tag Manager account's settings' without mentioning that it is a partial update, that it fails with a stale fingerprint, or what permissions are required. This is minimal transparency for a mutation tool.

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 a single focused sentence with no filler. It front-loads the action ('Update') and clearly names the target resource, making it easy for an agent to parse quickly.

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?

The input schema is rich (100% parameter coverage) and an output schema exists, so the description need not explain return values or parameter details. However, it lacks behavioral context such as partial-update semantics and optimistic concurrency, which are important for correct invocation despite being partially encoded in the fingerprint parameter description.

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 extra parameter meaning beyond the schema; the account object, account_id, and fingerprint are already well-documented in the input schema. The description does not compensate for or add to that coverage.

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 uses a specific verb ('Update') and resource ('a Tag Manager account's settings'), which clearly identifies the tool's function. It distinguishes itself from sibling tools like list_accounts, get_account, and update_container by explicitly targeting account settings.

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, no prerequisites, and no mention of needing an existing account or using the fingerprint for concurrency control. The name implies update usage, but the description itself gives no explicit context or exclusions.

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

update_clientUpdate ClientA

Update a client in a workspace.

The client you send replaces the stored one, so read it with get_client first and send the whole thing back with your edits applied. Omitted fields are cleared, not preserved.

ParametersJSON Schema
NameRequiredDescriptionDefault
clientYesComplete Client resource.
client_idYesNumeric client ID.
account_idYesNumeric Tag Manager account ID.
fingerprintNoFingerprint from a previous read. When given, the update fails if the client changed in the meantime.
container_idYesNumeric container ID.
workspace_idYesNumeric workspace ID.

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A4.7/5.0
Behavior5/5

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

With no annotations provided, the description carries the full burden of behavioral disclosure. It clearly reveals that the stored client is fully replaced, that omitted fields are cleared, and that a prior read is necessary—non-obvious and potentially destructive behaviors that an agent must know.

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 compact and front-loaded: the purpose appears first, followed by the critical caveats about replacement and clearing. Every sentence earns its place, with no repetition of schema details or filler.

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

Completeness5/5

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

Given the full parameter schema coverage and an output schema, the description supplies the essential missing context: the read-modify-write workflow and the destructive clearing behavior. An agent has enough information to invoke update_client correctly and avoid data loss.

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 100%, so the baseline is 3. The description adds value beyond the schema by explaining that the client parameter must be the complete resource and that missing fields are cleared, which clarifies intent that the schema alone does not fully convey.

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?

States a specific verb and resource: 'Update a client in a workspace.' The description goes beyond a simple label by explaining the replacement semantics and referencing get_client, which distinguishes this tool from the sibling create_client, delete_client, and revert_client tools.

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?

Provides concrete guidance: read with get_client first and send the whole client back with edits. It clearly orients the agent to the correct workflow, though it does not explicitly state exclusions such as 'use create_client for new clients.'

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

update_containerUpdate ContainerC

Update a container's settings.

ParametersJSON Schema
NameRequiredDescriptionDefault
containerYesContainer resource with the fields to change, e.g. {"name": "example.com (web)", "notes": "Owned by marketing"}.
account_idYesNumeric Tag Manager account ID.
fingerprintNoFingerprint from a previous read. When given, the update fails if the container changed in the meantime.
container_idYesNumeric container ID.

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

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 disclosure burden. It indicates mutation but does not describe the optimistic concurrency behavior of the fingerprint parameter, whether the update is partial or full replacement, or any failure conditions beyond the schema.

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, front-loaded sentence with no filler words. It is concise, though its brevity sacrifices useful detail about the container settings.

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?

For a mutation tool with no annotations, four parameters, and a nested container object, the description is materially incomplete. It does not explain what 'settings' includes, how the fingerprint concurrency check works, or when the update would fail.

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 input schema already documents all parameters. The description adds no extra parameter meaning, but the baseline of 3 applies because the schema does the heavy lifting.

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 clear verb and resource: 'Update a container's settings.' It is unambiguous that this tool modifies an existing container, distinguishing it from create_container, get_container, and delete_container, though it does not specify which settings can be changed.

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?

There is no guidance on when to use this tool versus alternatives, no mention of prerequisites such as account_id or fingerprint, and no exclusion criteria. The intended use is only implied by the tool name and generic description.

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

update_environmentUpdate EnvironmentB

Update a container environment.

ParametersJSON Schema
NameRequiredDescriptionDefault
account_idYesNumeric Tag Manager account ID.
environmentYesEnvironment resource with the fields to change.
fingerprintNoFingerprint from a previous read. When given, the update fails if the environment changed in the meantime.
container_idYesNumeric container ID.
environment_idYesNumeric environment ID.

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

B3.2/5.0
Behavior2/5

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

With no annotations, the description carries the full burden of disclosing behavior, but it only says 'Update', which merely implies mutation. It does not disclose whether the update merges or replaces fields, how the fingerprint affects the operation, permission requirements, or side effects.

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 short and front-loaded, with no filler. It is slightly terse but earns its place by stating the action and resource.

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?

The input schema and output schema carry much of the load, including the environment object and fingerprint semantics. Still, the description alone gives no guidance on update semantics or alternatives, leaving an agent to infer the full 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%, and the schema already documents every parameter, so the baseline of 3 applies. The description itself adds no parameter-level detail beyond what the input schema provides.

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 names the action ('Update') and the resource ('a container environment'), so an agent can tell what the tool operates on and can distinguish it from read/delete environment tools. It does not explicitly disambiguate against sibling update_* tools, but the resource qualifier is enough to make the purpose clear.

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 implied by the verb and resource: use this tool to modify an existing container environment. There is no explicit indication of when not to use it or which alternative (create_environment, delete_environment, reauthorize_environment) would be more appropriate.

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

update_folderUpdate FolderB

Update a folder's name or notes.

ParametersJSON Schema
NameRequiredDescriptionDefault
folderYesFolder resource with the fields to set.
folder_idYesNumeric folder ID.
account_idYesNumeric Tag Manager account ID.
fingerprintNoFingerprint from a previous read. When given, the update fails if the folder changed in the meantime.
container_idYesNumeric container ID.
workspace_idYesNumeric workspace ID.

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

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 carry the behavioral load. It discloses only the mutation itself; it does not mention write side effects, required permissions, optimistic concurrency via fingerprint, or effects on child entities. This leaves the agent to infer behavior from the tool name.

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?

Single sentence, front-loaded, and free of filler. It is efficient, but so brief that behavioral and usage context must be pulled from elsewhere, preventing a top score.

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 complete parameter schema and the presence of an output schema, the description is minimally adequate for constructing a call. However, it leaves out usage alternatives and behavioral side effects, so it is not fully complete for an unannotated mutation tool.

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 parameters have schema descriptions, but the nested `folder` object is defined only as 'the fields to set' with additionalProperties allowed. The description adds value by identifying 'name or notes' as the relevant settable fields, which the schema alone does not specify.

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?

States an explicit verb ('Update'), resource ('folder'), and target fields ('name or notes'), making its role clear. It distinguishes from create/get/delete/revert folder tools by operation and target, though it does not name an alternative explicitly.

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 about when to choose this over create_folder, delete_folder, revert_folder, or move_entities_to_folder, and no prerequisites such as an existing folder or required permissions are mentioned. The only usage signal is the verb 'Update,' which is insufficient.

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

update_gtag_configUpdate Gtag ConfigA

Update a Google tag configuration.

The config you send replaces the stored one, so read it with get_gtag_config first and send the whole thing back with your edits applied.

ParametersJSON Schema
NameRequiredDescriptionDefault
account_idYesNumeric Tag Manager account ID.
fingerprintNoFingerprint from a previous read. When given, the update fails if the config changed in the meantime.
gtag_configYesComplete GtagConfig resource.
container_idYesNumeric container ID.
workspace_idYesNumeric workspace ID.
gtag_config_idYesNumeric Google tag config ID.

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A4.4/5.0
Behavior4/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 clearly discloses the full-replacement behavior and instructs read-before-write, which are key behavioral traits beyond the name. It does not cover permissions or reversibility, but the replacement semantics are the most critical operational detail and are well stated.

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 filler. The core operation is front-loaded, and the crucial replace-and-read-first warning is placed immediately after. Every sentence earns its place.

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 6-parameter mutation tool with a full schema and output schema, the description covers the essential behavior and workflow. Missing details like auth requirements or permission prerequisites are not stated, but the critical replace semantics and reading the current config are sufficient for correct invocation in most cases.

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?

The schema already documents all parameters (100% coverage), so baseline is 3. The description adds meaning by explaining how gtag_config should be used: fetch the full resource first and send it back with edits. This goes beyond the schema's 'Complete GtagConfig resource' label.

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?

States a clear action ('Update a Google tag configuration') with a specific resource. The second sentence clarifies that the update replaces the stored config, separating it from create or partial-update operations and reinforcing the operation's meaning.

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?

Provides explicit guidance to read with get_gtag_config first and send the entire config back with edits. This gives the agent a clear precondition and workflow, though it does not explicitly contrast with create_gtag_config or delete_gtag_config.

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

update_tagUpdate TagA

Update a tag in a workspace.

The tag you send replaces the stored one, so read it with get_tag first and send the whole thing back with your edits applied. Omitted fields are cleared, not preserved.

ParametersJSON Schema
NameRequiredDescriptionDefault
tagYesComplete Tag resource.
tag_idYesNumeric tag ID.
account_idYesNumeric Tag Manager account ID.
fingerprintNoFingerprint from a previous read. When given, the update fails if the tag changed in the meantime.
container_idYesNumeric container ID.
workspace_idYesNumeric workspace ID.

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A4.3/5.0
Behavior5/5

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

With no annotations, the description carries the full burden, and it discloses the critical destructive behavior: the sent tag replaces the stored one and omitted fields are cleared. It also warns agents to fetch before editing, preventing accidental data loss.

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 concise, front-loaded with the core action, and uses a second sentence only for a high-value warning about replacement behavior. No filler or repetition.

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 six-parameter mutation with no annotations, the description covers the essential workflow and the non-obvious replacement semantics, and an output schema exists. It could add a note about when to use create_tag instead, but overall it is sufficiently complete.

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 the schema documents IDs and fingerprint. The description adds important meaning to the 'tag' parameter by explaining it must be the complete resource and that omitted fields will be cleared.

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 a specific verb ('Update'), a resource ('a tag'), and a scope ('in a workspace'), so an agent knows what entity is acted on. It does not explicitly distinguish itself from sibling operations like create_tag or revert_tag, though the replace semantics make the update intent clear.

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?

It explicitly instructs the agent to read the tag with get_tag first and send the whole object back, which is clear context for the update workflow. It does not explicitly state when not to use it or name alternatives beyond get_tag, so it stops short of a full 5.

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

update_templateUpdate TemplateA

Update a custom template in a workspace.

The template you send replaces the stored one, so read it with get_template first and send the whole thing back with your edits applied.

ParametersJSON Schema
NameRequiredDescriptionDefault
templateYesComplete CustomTemplate resource.
account_idYesNumeric Tag Manager account ID.
fingerprintNoFingerprint from a previous read. When given, the update fails if the template changed in the meantime.
template_idYesNumeric template ID.
container_idYesNumeric container ID.
workspace_idYesNumeric workspace ID.

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A4.5/5.0
Behavior4/5

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

With no annotations provided, the description carries the behavioral disclosure burden. It clearly states that the submitted template replaces the stored one, which is a critical destructive behavior. It also implies a read-before-write workflow. It does not discuss auth, rate limits, or versioning, but the replace semantics are usefully exposed.

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 with no filler. The core purpose is front-loaded, and the second sentence provides essential operational nuance about replacement and read-modify-write behavior. Every sentence earns its place.

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

Completeness5/5

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

The description, combined with the fully documented input schema and output schema, gives the agent everything needed to call this tool correctly. It highlights the most important operational trap (replace, not patch) and points to the companion get_template call. The fingerprint concurrency behavior is already covered in the schema.

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%, giving a baseline of 3. The description adds meaningful parameter guidance beyond the schema by emphasizing that the 'template' parameter must be the complete resource, not a partial patch, and that it should come from a prior get_template call.

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 states a specific verb and resource ('Update a custom template in a workspace') and differentiates it clearly from sibling read/create/delete/revert operations. It also signals the unique replace semantics, making it easy to distinguish from create_template and get_template.

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 gives concrete when-to-use guidance: read the template with get_template first, then send the whole thing back with edits. It provides clear context for the read-modify-write workflow, though it does not explicitly enumerate exclusions such as 'use create_template for new templates.'

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

update_transformationUpdate TransformationA

Update a transformation in a workspace.

The transformation you send replaces the stored one, so read it with get_transformation first and send the whole thing back with your edits applied. Omitted fields are cleared, not preserved.

ParametersJSON Schema
NameRequiredDescriptionDefault
account_idYesNumeric Tag Manager account ID.
fingerprintNoFingerprint from a previous read. When given, the update fails if the transformation changed in the meantime.
container_idYesNumeric container ID.
workspace_idYesNumeric workspace ID.
transformationYesComplete Transformation resource.
transformation_idYesNumeric transformation ID.

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A4.4/5.0
Behavior5/5

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

With no annotations, the description carries full disclosure responsibility, and it delivers. It warns that the sent transformation replaces the stored one and that omitted fields are cleared, not preserved. This is critical behavioral information that prevents incorrect assumptions about merge semantics.

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 filler. The core operation is stated first, and the critical replacement/clearing caveat is delivered immediately afterward in a compact, readable way.

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

Completeness5/5

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

For a mutation tool with no annotations, the description covers the essential workflow, the key behavioral risk, and the referenced sibling tool. Since an output schema exists, not explaining the return value is acceptable. Nothing necessary for safe invocation is missing.

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 the schema already documents all parameters. The description adds real value for the transformation parameter by explaining that it must be the complete resource and that omissions are destructive, which meaningfully informs payload construction.

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 it updates a transformation in a workspace, providing a specific verb and resource. It does not explicitly contrast itself with create_transformation or revert_transformation, so sibling differentiation is mostly implicit rather than stated.

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 gives concrete usage guidance: read the transformation first with get_transformation, send the whole resource back with edits, and be aware that omitted fields are cleared. It does not discuss when to prefer create or revert over update, but the read-first workflow is an explicit and valuable instruction.

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

update_triggerUpdate TriggerA

Update a trigger in a workspace.

The trigger you send replaces the stored one, so read it with get_trigger first and send the whole thing back with your edits applied. Omitted fields are cleared, not preserved.

ParametersJSON Schema
NameRequiredDescriptionDefault
triggerYesComplete Trigger resource.
account_idYesNumeric Tag Manager account ID.
trigger_idYesNumeric trigger ID.
fingerprintNoFingerprint from a previous read. When given, the update fails if the trigger changed in the meantime.
container_idYesNumeric container ID.
workspace_idYesNumeric workspace ID.

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A4.3/5.0
Behavior4/5

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

With no annotations, the description carries the behavioral burden. It clearly discloses the replace-not-patch semantics and the destructive effect of omitting fields. This is critical behavioral information beyond what the schema states, though it does not cover authentication, rate limits, or response behavior.

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 tight, information-dense sentences. The critical replacement semantics are stated up front, and there is no filler or redundant restating of the tool name.

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

Completeness5/5

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

Given full parameter schema coverage, an output schema, and a description that explains the core replacement behavior, the agent has enough context to call the tool correctly. The fingerprint concurrency mechanism is already documented in the schema, so its absence from the description is not 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?

Schema description coverage is 100%, so the schema already documents all parameters. The description adds meaningful context for the 'trigger' parameter by emphasizing it must be the complete resource and replaces the stored one, but it does not elaborate on the ID parameters or fingerprint beyond what the schema provides.

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?

States a specific verb ('Update'), resource ('trigger'), and scope ('in a workspace'). Clearly distinguishes from sibling trigger tools like create_trigger, get_trigger, delete_trigger, and revert_trigger.

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?

Provides explicit usage guidance: read the trigger with get_trigger first, send the whole resource back with edits, and know that omitted fields are cleared. This effectively tells the agent how to invoke the tool correctly, though it does not explicitly contrast with create_trigger or revert_trigger.

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

update_user_permissionUpdate User PermissionA

Change a user's access to a Tag Manager account.

The request replaces the stored access levels rather than merging into them, so send the complete accountAccess and containerAccess you want.

ParametersJSON Schema
NameRequiredDescriptionDefault
account_idYesNumeric Tag Manager account ID.
permission_idYesNumeric user permission ID.
user_permissionYesUserPermission resource with the new access levels.

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A4.4/5.0
Behavior4/5

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

With no annotations, the description carries the behavioral disclosure burden. It discloses a critical non-obvious behavior: replacement rather than merge, and instructs callers to send the complete desired resource. It does not mention authorization requirements or reversibility, but it does cover the most safety-relevant mutation semantics.

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 with no filler: the first names the operation, and the second highlights the key behavioral caveat. It is front-loaded and easy to parse.

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 output schema exists and the input schema is fully documented, the description provides enough context for correct invocation, especially the replace-not-merge warning. The lack of any mention of required permissions or explicit differentiation from create_user_permission leaves a minor completeness gap, but the core behavior is well covered.

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 the baseline is 3. The description adds value by naming 'accountAccess' and 'containerAccess' within the user_permission object and clarifying that these must be the complete desired state, which supplements the schema's generic 'new access levels' wording.

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 a specific action ('Change a user's access') and a specific resource (Tag Manager account), which distinguishes it from sibling tools like get_user_permission, create_user_permission, and delete_user_permission.

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 conveys the update context by explaining that the request replaces existing access levels, implying it is for modifying an existing permission rather than creating one. It does not explicitly name create_user_permission as the alternative, so the guidance is clear but not fully explicit.

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

update_variableUpdate VariableA

Update a variable in a workspace.

The variable you send replaces the stored one, so read it with get_variable first and send the whole thing back with your edits applied. Omitted fields are cleared, not preserved.

ParametersJSON Schema
NameRequiredDescriptionDefault
variableYesComplete Variable resource.
account_idYesNumeric Tag Manager account ID.
fingerprintNoFingerprint from a previous read. When given, the update fails if the variable changed in the meantime.
variable_idYesNumeric variable ID.
container_idYesNumeric container ID.
workspace_idYesNumeric workspace ID.

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A4.3/5.0
Behavior5/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 of behavioral disclosure. It prominently states that the sent variable replaces the stored one and that omitted fields are cleared, which is a critical, non-obvious destructive behavior. This goes well beyond the schema and gives agents the essential safety warning.

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 exactly two sentences, front-loaded with the purpose and immediately followed by the most important operational warning. Every word earns its place, and there is no redundant content.

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 (6 params, nested object, output schema), the description covers the key behavioral caveat and the recommended workflow. It does not discuss authorization or the fingerprint's optimistic concurrency role, but these are either implied by schema or less critical for correct invocation. Overall, it is sufficiently complete.

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 the baseline is 3. The description adds meaningful semantics to the 'variable' parameter by explaining the replace behavior and the read-modify-write workflow, which is not fully captured by the schema's 'Complete Variable resource' note. This pushes it above baseline.

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 action ('Update a variable in a workspace') with a specific verb and resource. It does not explicitly differentiate from sibling update_* tools, but the resource name is unambiguous and the reference to get_variable helps distinguish update from create/read operations.

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 gives concrete usage guidance: read the variable with get_variable first, send the whole object back with edits, and be aware that omitted fields are cleared. This is an explicit procedure, though it does not mention when not to use the tool or name alternative tools beyond get_variable.

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

update_versionUpdate VersionA

Update a container version's name or notes.

Only the metadata is editable. A version's entities are a frozen snapshot; to change them, edit a workspace and create a new version.

ParametersJSON Schema
NameRequiredDescriptionDefault
account_idYesNumeric Tag Manager account ID.
version_idYesNumeric container version ID.
fingerprintNoFingerprint from a previous read. When given, the update fails if the version changed in the meantime.
container_idYesNumeric container ID.
container_versionYesContainerVersion resource, e.g. {"name": "Release 2026-09", "notes": "Adds consent mode"}.

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A4/5.0
Behavior3/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 discloses the key behavioral constraint that entities are frozen, but it doesn't mention other behaviors like the fingerprint's optimistic concurrency or potential side effects. It is adequate but not comprehensive.

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 waste. The action is front-loaded, and the constraint is stated immediately after. Every sentence earns its place.

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?

With an output schema present, return values need no explanation. The description covers the core constraint and usage. The fingerprint parameter is documented in the schema, so its purpose is clear. The description is complete for a metadata-update tool.

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 marginal value by specifying which fields (name, notes) are editable, but this is largely redundant with the schema's example. It does not deepen understanding 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 states a specific action (update), a resource (container version), and the editable fields (name or notes). It also clarifies that only metadata is editable, distinguishing it from create/delete/publish operations on versions.

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?

It explicitly says when to use this tool (to update metadata) and when not to (to change entities, edit a workspace and create a new version). While it doesn't name specific sibling tools, the rule is clear and actionable.

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

update_workspaceUpdate WorkspaceC

Update a workspace's name or description.

ParametersJSON Schema
NameRequiredDescriptionDefault
workspaceYesWorkspace resource with the fields to change.
account_idYesNumeric Tag Manager account ID.
fingerprintNoFingerprint from a previous read. When given, the update fails if the workspace changed in the meantime.
container_idYesNumeric container ID.
workspace_idYesNumeric workspace ID.

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

C2.9/5.0
Behavior2/5

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

With no annotations provided, the description carries the full behavioral burden, but it only states that an update occurs. It does not disclose permissions, side effects, optimistic-concurrency behavior via fingerprint, or what happens on conflict.

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, front-loaded sentence with no filler. It is appropriately concise for a simple mutation, though it could add behavioral context without becoming bloated.

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?

For a mutation tool with five parameters, four required IDs, no annotations, and a nested unconstrained workspace object, one sentence is insufficient. It omits how this differs from bulk_update_workspace, the significance of fingerprint, and the behavior/return of the operation; the output schema does not compensate for missing usage and safety 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 documents account_id, container_id, workspace_id, fingerprint, and the workspace object. The description adds the useful hint that the updatable fields are name or description, but this is marginal because the schema already says the workspace object contains 'fields to change.'

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 names a specific verb ('Update'), a resource ('workspace'), and the typical fields ('name or description'), so it is not a tautology. It distinguishes the tool from sibling workspace operations and other resource updates, though it does not explicitly contrast with bulk_update_workspace.

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?

There is no guidance on when to choose this tool over alternatives such as bulk_update_workspace or sync_workspace. The description implies a single-workspace field update, but it gives no context, exclusions, or prerequisites.

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

update_zoneUpdate ZoneA

Update a zone in a workspace.

The zone you send replaces the stored one, so read it with get_zone first and send the whole thing back with your edits applied. Omitted fields are cleared, not preserved.

ParametersJSON Schema
NameRequiredDescriptionDefault
zoneYesComplete Zone resource.
zone_idYesNumeric zone ID.
account_idYesNumeric Tag Manager account ID.
fingerprintNoFingerprint from a previous read. When given, the update fails if the zone changed in the meantime.
container_idYesNumeric container ID.
workspace_idYesNumeric workspace ID.

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A4.2/5.0
Behavior4/5

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

With no annotations, the description carries the behavioral burden. It clearly discloses the non-obvious destructive semantics: the sent zone replaces the stored one and omitted fields are cleared, not preserved. It does not mention concurrency/fingerprint behavior, but the schema documents that parameter.

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?

Three short sentences, each earning its place: what the tool does, the required read-modify-write workflow, and the most important gotcha. No filler or redundancy.

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

Completeness5/5

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

The critical update semantics are fully captured, the output schema covers return values, and the input schema covers all 6 parameters including fingerprint. An agent has what it needs to call this tool safely without opening the sibling tools.

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 the baseline is 3, but the description adds real meaning for the 'zone' parameter by explaining that it is the full replacement object and that omission of fields clears them. This goes beyond the schema's 'Complete Zone resource' description.

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?

States the operation and resource ('Update a zone in a workspace'), which separates it from the sibling zone operations (create_zone, get_zone, delete_zone, revert_zone). It does not explicitly call out those alternatives, but the zone scope is unambiguous.

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?

Provides strong usage guidance: read with get_zone first, send back the whole zone, and be aware that omitted fields are cleared. It gives clear context for a read-modify-write workflow, though it does not explicitly state when to choose create_zone or delete_zone instead.

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. 112 tool updatesv0.1.0
    • First observedbulk_update_workspace
    • First observedcheck_client_status
    • First observedcombine_containers
    • First observedcreate_built_in_variable
    • First observedcreate_client
    • First observedcreate_container
    • First observedcreate_environment
    • First observedcreate_folder
    • First observedcreate_gtag_config
    • First observedcreate_tag
    • First observedcreate_template
    • First observedcreate_transformation
    • First observedcreate_trigger
    • First observedcreate_user_permission
    • First observedcreate_variable
    • First observedcreate_version
    • First observedcreate_workspace
    • First observedcreate_zone
    • First observeddelete_built_in_variable
    • First observeddelete_client
    • First observeddelete_container
    • First observeddelete_environment
    • First observeddelete_folder
    • First observeddelete_gtag_config
    • First observeddelete_tag
    • First observeddelete_template
    • First observeddelete_transformation
    • First observeddelete_trigger
    • First observeddelete_user_permission
    • First observeddelete_variable
    • First observeddelete_version
    • First observeddelete_workspace
    • First observeddelete_zone
    • First observedfind_entities_by_name
    • First observedget_account
    • First observedget_client
    • First observedget_container
    • First observedget_container_snippet
    • First observedget_destination
    • First observedget_environment
    • First observedget_folder
    • First observedget_folder_entities
    • First observedget_gtag_config
    • First observedget_latest_version_header
    • First observedget_live_version
    • First observedget_tag
    • First observedget_template
    • First observedget_transformation
    • First observedget_trigger
    • First observedget_user_permission
    • First observedget_variable
    • First observedget_version
    • First observedget_workspace
    • First observedget_workspace_status
    • First observedget_zone
    • First observedimport_template_from_gallery
    • First observedlink_destination
    • First observedlist_accounts
    • First observedlist_all_containers
    • First observedlist_built_in_variables
    • First observedlist_clients
    • First observedlist_containers
    • First observedlist_destinations
    • First observedlist_environments
    • First observedlist_folders
    • First observedlist_gtag_configs
    • First observedlist_tags
    • First observedlist_templates
    • First observedlist_transformations
    • First observedlist_triggers
    • First observedlist_user_permissions
    • First observedlist_variables
    • First observedlist_version_headers
    • First observedlist_workspace_entities
    • First observedlist_workspaces
    • First observedlist_zones
    • First observedlookup_container
    • First observedmove_entities_to_folder
    • First observedmove_tag_id
    • First observedpublish_version
    • First observedpublish_workspace
    • First observedquick_preview_workspace
    • First observedreauthorize_environment
    • First observedresolve_workspace_conflict
    • First observedrevert_built_in_variable
    • First observedrevert_client
    • First observedrevert_folder
    • First observedrevert_tag
    • First observedrevert_template
    • First observedrevert_transformation
    • First observedrevert_trigger
    • First observedrevert_variable
    • First observedrevert_zone
    • First observedset_latest_version
    • First observedsummarize_container
    • First observedsync_workspace
    • First observedundelete_version
    • First observedupdate_account
    • First observedupdate_client
    • First observedupdate_container
    • First observedupdate_environment
    • First observedupdate_folder
    • First observedupdate_gtag_config
    • First observedupdate_tag
    • First observedupdate_template
    • First observedupdate_transformation
    • First observedupdate_trigger
    • First observedupdate_user_permission
    • First observedupdate_variable
    • First observedupdate_version
    • First observedupdate_workspace
    • First observedupdate_zone

TDQS

B3.4/5.0

Scored across 112 tools

Disambiguation4/5

The consistent list/get/create/update/delete/revert pattern makes most tools clearly distinct by entity. However, version-related tools (get_version, get_live_version, get_latest_version_header, set_latest_version) and publish-related tools (publish_version, publish_workspace, create_version) could be confused at a glance, though their descriptions disambiguate them well.

Naming Consistency5/5

Tool names follow a strict verb_noun convention throughout, with consistent CRUD verbs (list/get/create/update/delete/revert) applied per entity. Exceptions like lookup_container, quick_preview_workspace, and summarize_container are also verb-first and clear, so the pattern remains predictable.

Tool Count1/5

112 tools is an extreme count, far beyond the 50+ threshold for a score of 1. While the Google Tag Manager API is broad, exposing full CRUD for a dozen entity types plus many convenience helpers results in an overwhelming surface that would be difficult for an agent to navigate efficiently.

Completeness5/5

The surface covers the full lifecycle across accounts, permissions, containers, environments, versions, workspaces, and every workspace entity type (tags, triggers, variables, folders, templates, clients, transformations, zones, gtag configs). Convenience tools for searching, summarizing, and bulk operations close most practical gaps.

Maintenance

ActivityMaintained
ResponsivenessNo issues

Related MCP Connectors

Related MCP Servers

  • A
    license
    B
    quality
    C
    maintenance
    Enables comprehensive management of Google Tag Manager accounts, containers, workspaces, tags, triggers, and variables through OAuth2 authentication, allowing users to create, update, and publish GTM configurations via natural language.
    26
    32 npm
    MIT
  • A
    license
    Not graded
    quality
    D
    maintenance
    Enables AI agents to manage Google Tag Manager accounts, containers, workspaces, tags, triggers, variables, and versions via the Tag Manager API v2.
    2
    Apache 2.0
  • A
    license
    Not graded
    quality
    B
    maintenance
    Enables LLMs to manage Google Tag Manager containers through exported JSON files, with full CRUD operations on tags, triggers, variables, and folders, plus validation and analysis tools.
    15 npm
    MIT