Skip to main content
Glama

ga4_check_compatibility

Check which dimensions and metrics can be combined in one report. Pass the ones you plan to use; the answer marks each as COMPATIBLE or INCOMPATIBLE and lists what else fits.

Instructions

Check which dimensions and metrics can be combined in one report. Pass the ones you plan to use; the answer marks each as COMPATIBLE or INCOMPATIBLE and lists what else fits. Requires: Google Analytics Data API (analyticsdata.googleapis.com) enabled on the quota project; Lector (Viewer) en la propiedad de GA4. If it fails for access, the error explains how to fix it; ga4_check_access checks everything at once.

Input Schema

NameRequiredDescriptionDefault
metricsNoMetric API names
propertyNoSaved property name (see ga4_list_properties). Defaults to the default property.
dimensionsNoDimension API names
only_compatibleNoReturn only fields compatible with the selection

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv2.1.0

TDQS

A3.9/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 does reasonably well: it states the return semantics (each field marked COMPATIBLE or INCOMPATIBLE plus what else fits), the prerequisites (Data API enabled on the quota project, Viewer access on the GA4 property), and that access failures return a self-explanatory fix message. It does not cover rate limits or how large selections are handled.

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?

Three sentences, front-loaded with the core purpose before prerequisites and error behavior. One sentence mixes languages ("Lector (Viewer) en la propiedad de GA4"), an inconsistency that slightly hurts polish but not comprehension.

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?

There is no output schema, and the description compensates by explaining the COMPATIBLE/INCOMPATIBLE result shape and the enrichment list. Combined with prerequisites and error guidance, an agent has enough to call it correctly; only edge-case behavior (empty selection, large lists) is unaddressed.

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, and the description's 'pass the ones you plan to use' adds only intent framing. It does not clarify why 'only_compatible' exists or what 'what else fits' means relative to the empty-array defaults, so baseline 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 opening sentence gives a specific verb and resource: validating whether dimensions and metrics can be combined in a single report. This clearly separates it from report-execution siblings like ga4_run_report and metadata siblings like ga4_metadata, though it never names those alternatives explicitly.

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?

"Pass the ones you plan to use" tells the agent how to invoke it, and it points to ga4_check_access for a broader one-shot health check. It lacks an explicit 'do not use this for X' exclusion, so it falls short of a full routing statement.

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