Skip to main content
Glama
google-data-mcp

google-data-mcp

by seliem-attia

GTM: Back up workspace

gtm_export_workspace
Read-only

Back up a complete GTM workspace to a local JSON file, including unsaved changes GTM does not version yet, so you can restore tags, triggers, variables, and folders before risky edits.

Instructions

Backs up a complete workspace (all tags, triggers, variables, folders, templates, built-in variables) as a local JSON file — including unsaved changes that GTM itself does not version yet.

Input Schema

NameRequiredDescriptionDefault
labelNoShort reason in the file name, e.g. 'before_relaunch' (default 'manual')
accountIdYesGTM accountId (from gtm_list_accounts)
containerIdYesGTM containerId, numeric
workspaceIdYesWorkspace ID (from gtm_list_workspaces / gtm_create_workspace)

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.6.1

TDQS

A3.8/5.0
Behavior4/5

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

Annotations declare readOnlyHint=true and openWorldHint=true, so the API-side safety profile is already covered. The description adds genuinely non-obvious behavior beyond that: the export captures unsaved changes that GTM does not version. It does not say where the local file is written or whether an existing file is overwritten, which is the main remaining behavioral 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?

One front-loaded sentence that states the action, the scope, the contents, the output artifact, and a key nuance with no wasted words. Nothing is buried or repeated.

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 export tool with full schema coverage and no output schema, the description covers the essential: what is captured, that it includes unversioned state, and the file type. The gap is the return value — no output schema exists, yet the description does not say what path or filename is returned, which an agent would need in order to chain a subsequent backup_read.

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 four parameters including the label semantics and the cross-references (gtm_list_accounts, gtm_list_workspaces) are already documented structurally. The description adds nothing about parameters. Baseline 3 applies when the schema carries the whole burden.

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 gives a specific verb (backs up) and a precisely enumerated resource (a complete workspace: tags, triggers, variables, folders, templates, built-in variables) with the output form stated (local JSON file). It implicitly distinguishes itself from gtm_export_container and gtm_export_version by scoping to the workspace, though it never names those siblings, so an agent must infer the boundary.

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

Usage Guidelines3/5

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

Usage is only implied — the label example 'before_relaunch' hints at the take-a-snapshot-before-changing workflow, and the 'unsaved changes' phrase suggests it is for capturing uncommitted state. There is no explicit statement of when to choose this over gtm_export_container or gtm_export_version, and no prerequisites or exclusions.

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