Skip to main content
Glama
google-data-mcp

google-data-mcp

by seliem-attia

GA4: Check compatibility

ga4_check_compatibility
Read-only

Verify GA4 dimensions and metrics can be combined before running a report; incompatible requests identify the problem field, and listAddable returns fields you can still add.

Instructions

Checks whether the dimensions and metrics fit together in one ga4_run_report (not every combination is allowed). compatible=false → requested shows which field is the problem. listAddable=true additionally returns all fields that can still be added.

Input Schema

NameRequiredDescriptionDefault
metricsNo
propertyYesGA4 property ID, e.g. '123456789' or 'properties/123456789'
dimensionsNo
listAddableNoDefault false
metricFilterNoGA4 FilterExpression, same syntax as for ga4_run_report
dimensionFilterNoGA4 FilterExpression, same syntax as for ga4_run_report

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.6.1

TDQS

A4.2/5.0
Behavior4/5

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

Annotations already cover the read-only and open-world profile, and the description adds real behavioral detail beyond them: the compatible=false outcome, that 'requested' identifies the problematic field, and that listAddable=true expands the result with all addable fields. It does not explain error conditions or rate limits, so a 4 rather than 5.

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 tight sentences, zero filler. Scope and rationale come first, followed by the two response-mode behaviors, each earning 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 no output schema, the description carries the burden of explaining return values, and it does so for the two key modes (compatible/requested and listAddable). Given six parameters with one required and nested filter objects, it is largely complete, though it could clarify defaults when metrics/dimensions are omitted.

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 67%, with property and filter parameters documented in the schema. The description adds meaning for listAddable beyond the schema's bare 'Default false', but says nothing about metrics, dimensions, or the metricFilter/dimensionFilter semantics beyond the schema's own note.

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 — checks whether dimensions and metrics fit together in one ga4_run_report — and explicitly names the sibling tool whose inputs it validates. An agent can immediately distinguish it from ga4_run_report or ga4_get_metadata.

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 for use by tying the check to ga4_run_report and noting 'not every combination is allowed', which implies a pre-flight validation role. It does not explicitly say 'call this before ga4_run_report' or state exclusions, so it falls short of the 5 bar.

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