Skip to main content
Glama
get-mcp-ads

Google Analytics 4 by Get MCP Ads

ga4 run realtime report

ga4_run_realtime_report
Read-onlyIdempotent

Run read-only realtime GA4 reports to monitor active users, event counts, and dimensions from recent minutes using supported metrics and filters.

Instructions

Run a read-only GA4 Data API realtime report. Realtime supports only a limited subset of dimensions and metrics.

Input Schema

NameRequiredDescriptionDefault
limitNoMaximum number of returned items or rows. The declared bounds and default apply; use pagination for additional results.
metricsNoRealtime metric API names, e.g. activeUsers, eventCount
orderBysNoNative GA4 OrderBy JSON.
dimensionsNoRealtime dimension API names, e.g. eventName, city, deviceCategory
propertyIdYesGA4 property ID (numeric, e.g., 123456789)
metricFilterNoNative realtime-compatible GA4 FilterExpression JSON.
minuteRangesNoOptional named realtime minute ranges; zero is the current minute.
keepEmptyRowsNoKeep provider rows whose selected metrics are all zero, where supported.
dimensionFilterNoNative realtime-compatible GA4 FilterExpression JSON.

Output Schema

NameRequiredDescriptionDefault
resultYesOriginal tool result: parsed JSON when the text is JSON, otherwise the text or multiple MCP content blocks. Provider fields depend on the selected query.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed6 schema fields changedv2.1.1
    • removedInput schema / additionalProperties
      Removed value: -false
    • addedInput schema / properties / dimensionFilter / propertyNames
      Added value: +{
      +  "type": "string"
      +}
    • addedInput schema / properties / metricFilter / propertyNames
      Added value: +{
      +  "type": "string"
      +}
    • removedInput schema / properties / minuteRanges / items / additionalProperties
      Removed value: -false
    • addedInput schema / properties / orderBys / items / propertyNames
      Added value: +{
      +  "type": "string"
      +}
    • changedOutput schema / properties / result / anyOf
      Previous value: -[
      -  {
      -    "additionalProperties": true,
      -    "properties": {},
      -    "type": "object"
      -  },
      -  {
      -    "items": {},
      -    "type": "array"
      -  },
      -  {
      -    "type": "string"
      -  },
      -  {
      -    "type": "number"
      -  },
      -  {
      -    "type": "boolean"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]New value: +[
      +  {
      +    "additionalProperties": {},
      +    "properties": {},
      +    "type": "object"
      +  },
      +  {
      +    "items": {},
      +    "type": "array"
      +  },
      +  {
      +    "type": "string"
      +  },
      +  {
      +    "type": "number"
      +  },
      +  {
      +    "type": "boolean"
      +  },
      +  {
      +    "type": "null"
      +  }
      +]
  2. First observedv2.0.1

TDQS

B3.4/5.0
Behavior3/5

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

Annotations already declare readOnlyHint, idempotentHint, and destructiveHint=false, so 'read-only' is redundant. The second sentence adds genuine value by warning that only a limited subset of dimensions and metrics is supported, but it does not say how to discover that subset or what error behavior to expect.

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 short sentences, zero filler, with the operation stated first and the realtime limitation second. It is efficient, though for a 9-parameter tool with nested objects it is close to under-specified rather than merely tight.

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?

An output schema exists, so return values need not be explained, but for a tool with nested FilterExpression/OrderBy JSON and minute-range semantics the description gives no pointer to compatibility checking or metadata lookup for valid dimension/metric names. Adequate to identify the tool, thin for calling it correctly on first try.

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 every parameter is already documented, including minuteRanges, limit, and the native JSON filter expressions. The description adds only a general constraint about which dimensions/metrics are valid, not per-parameter meaning, so baseline 3 is appropriate.

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 names a specific verb and resource ('Run a read-only GA4 Data API realtime report'), and the word 'realtime' implicitly separates it from the sibling ga4_run_report. It does not explicitly state the sibling distinction, so it stops short of a 5.

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?

Use for realtime data is implied by the name and first sentence, but there is no explicit when-to-use/when-not guidance and no mention of ga4_run_report, ga4_check_compatibility, or ga4_get_metadata as alternatives for standard or validated queries.

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