Server provides 7 read-only tools with consistent naming (verb_noun pattern: list_*, get_*) and reasonable descriptions (avg ~180 chars). All tools have input schemas with type declarations. However, parameter descriptions are minimal (often just 'The GTM account ID (numeric)' without context on when/why to use), output schemas are undocumented (LLMs cannot plan downstream calls), and error handling is absent. No tool annotations (readOnlyHint, idempotentHint). Descriptions meet baseline length but lack LLM-optimization guidance (e.g., 'Call this first to discover available containers'). No pagination support despite list_* tools that could return large result sets.
Returns the currently published (live) version of the specified GTM container. Args: account_id: The GTM account ID (numeric) container_id: The GTM container ID (numeric) Returns the live container version including: - containerVersionId: The version ID - name: The version name - description: The version description - container: Container information - tag: List of tags in this version - trigger: List of triggers in this version - variable: List of variables in this version - fingerprint: Fingerprint of the version
Returns a list of Google Tag Manager accounts accessible by the authenticated user. Each account includes: - accountId: The GTM account ID - name: The account name - shareData: Whether the account shares data with Google - path: The resource path (accounts/{accountId})
Returns a list of GTM containers for the specified account. Args: account_id: The GTM account ID (numeric, e.g. 1234567890) Each container includes: - containerId: The container ID - name: The container name - publicId: The GTM container ID shown in the UI (e.g. GTM-XXXXXXX) - usageContext: Where the container is used (web, androidSdk5, iosSdk5, amp, server) - domainName: Associated domains - path: The resource path
Returns a list of GTM tags in the specified workspace. Args: account_id: The GTM account ID (numeric) container_id: The GTM container ID (numeric) workspace_id: The workspace ID (numeric) Each tag includes: - tagId: The tag ID - name: The tag name - type: The tag type (e.g. ua, gaawe, html, img) - firingTriggerId: List of trigger IDs that fire this tag - blockingTriggerId: List of trigger IDs that block this tag - tagFiringOption: When to fire (oncePerEvent, oncePerLoad, unlimited) - paused: Whether the tag is paused - parameter: Tag configuration parameters
Output schemas undocumented. Tool descriptions state what fields are returned (e.g., 'Each account includes: accountId, name, shareData, path') but no formal schema is provided. LLMs cannot plan downstream tool calls or extract specific fields without guessing at response structure.
Parameter descriptions lack context and guidance. All account_id/container_id/workspace_id params repeat '(numeric)' but do not explain when to call this tool, what to do if the ID is unknown, or how to discover valid IDs. Missing dependency hints like 'Call list_accounts() first if you don't have an account_id.'
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | C | 62 | 2026-07-28+ | v2 |
Returns a list of GTM triggers in the specified workspace. Args: account_id: The GTM account ID (numeric) container_id: The GTM container ID (numeric) workspace_id: The workspace ID (numeric) Each trigger includes: - triggerId: The trigger ID - name: The trigger name - type: The trigger type (e.g. pageview, click, customEvent, formSubmission, historyChange) - filter: Conditions that must be true for the trigger to fire - parameter: Trigger configuration parameters
Returns a list of GTM variables in the specified workspace. Args: account_id: The GTM account ID (numeric) container_id: The GTM container ID (numeric) workspace_id: The workspace ID (numeric) Each variable includes: - variableId: The variable ID - name: The variable name - type: The variable type (e.g. v (Data Layer Variable), u (URL), k (1st Party Cookie), jsm (Custom JavaScript)) - parameter: Variable configuration parameters - enablingTriggerId: Trigger IDs that enable this variable
Returns a list of GTM workspaces for the specified container. Args: account_id: The GTM account ID (numeric) container_id: The GTM container ID (numeric) Each workspace includes: - workspaceId: The workspace ID - name: The workspace name - description: The workspace description - fingerprint: The fingerprint of the workspace - tagManagerUrl: Link to the workspace in the GTM UI - path: The resource path
No pagination support. list_* tools (list_accounts, list_containers, list_tags, etc.) do not accept limit/offset/page_size parameters or return pagination metadata (total_count, next_cursor). Large result sets will blow context windows and degrade LLM reasoning.
No error handling or recovery guidance. Tools do not document what errors can occur (auth failure, invalid account_id, API rate limit) or what the LLM should do next. Raw API errors will be returned without actionable guidance.
No tool annotations. Tools lack readOnlyHint, idempotentHint, or destructiveHint metadata. LLMs cannot determine which tools are safe to retry or which have side effects, increasing risk of misuse.