Skip to main content
Glama
google-data-mcp

google-data-mcp

by seliem-attia

GA4: Report

ga4_run_report
Read-only

Run GA4 Data API reports to retrieve metrics and dimensions with date ranges, filters, sorting, and row limits for analytics queries.

Instructions

GA4 core report (Data API runReport). Example metrics: sessions, totalUsers, newUsers, screenPageViews, conversions, engagementRate, averageSessionDuration, bounceRate. Example dimensions: date, pagePath, pageTitle, sessionDefaultChannelGroup, sessionSource, sessionMedium, country, deviceCategory, landingPage.

Input Schema

NameRequiredDescriptionDefault
limitNoMax. rows (default 50)
endDateNoEnd: ISO date or 'yesterday'/'today' (default yesterday)
metricsYesMetrics, e.g. ['sessions','totalUsers','conversions']
propertyYesGA4 property ID, e.g. '123456789' or 'properties/123456789'
startDateNoStart: ISO date or relative like '28daysAgo' (default 28daysAgo)
dimensionsNoOptional dimensions, e.g. ['date'] or ['pagePath']
metricFilterNoGA4 FilterExpression on metrics, e.g. {"filter":{"fieldName":"sessions","numericFilter":{"operation":"GREATER_THAN","value":{"int64Value":"10"}}}}
orderByMetricNoSort descending by this metric
dimensionFilterNoGA4 FilterExpression on dimensions. Examples: {"filter":{"fieldName":"pagePath","stringFilter":{"matchType":"CONTAINS","value":"blog"}}} · {"filter":{"fieldName":"eventName","inListFilter":{"values":["click","generate_lead"]}}} · AND combination: {"andGroup":{"expressions":[{"filter":{...}},{"filter":{...}}]}}
orderByDimensionNoSort ascending by this dimension (e.g. 'date' for time series)

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.6.1

TDQS

B3.1/5.0
Behavior2/5

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

Annotations already declare readOnlyHint=true and openWorldHint=true. The description adds no behavioral context such as API quotas, data freshness, pagination behavior, or return shape, so it only identifies the underlying runReport call.

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?

Two sentences, front-loaded with purpose and then compact example lists. The lists are dense but useful, and there is no filler or repetition.

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 10-parameter report tool with nested filter objects and no output schema, the description is thin. It omits what a report response contains and how filters/ordering combine, though the schema already covers those parameters.

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?

With 100% schema coverage the baseline is 3. The description earns a 4 by expanding the list of valid metric and dimension names well beyond the schema's brief examples, directly aiding construction of the required metrics array and optional dimensions array.

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 'GA4 core report (Data API runReport)' – a specific verb and resource – and lists example metrics and dimensions. It does not explicitly differentiate from siblings like ga4_realtime_report or ga4_run_funnel_report, keeping it at 4.

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 explicit when-to-use guidance or prerequisites are provided. The word 'core' hints it is not the realtime or funnel report, but the agent must infer the choice from sibling names; no exclusions or alternatives are named.

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