Skip to main content
Glama
stucchi

Google Analytics 4 MCP Server

by stucchi

Google Analytics 4 MCP Server

MCP server for Google Analytics 4 — create properties, configure data streams, manage conversions, and run reports via the Admin & Data APIs.

Setup (one-time, ~3 minutes)

  1. Google Cloud ConsoleIAM & Admin → Service Accounts

    • Create a service account (any name)

    • Click it → Keys → Add Key → JSON → Download

  2. Enable APIs in your GCP project:

  3. GA4 Admin → Property Access Management → Add the service account email (from the JSON) as Editor

  4. Configure credentials (pick one):

    • Option A (recommended): Copy the JSON content into the GA_CREDENTIALS env var in your MCP config

    • Option B: Save the file to ~/.google-analytics-4-mcp/credentials.json

Done. No browser flow, no consent screen, no tokens to refresh.

Related MCP server: Delmain GA4 MCP

Installation

Claude Code

claude mcp add google-analytics -e GA_CREDENTIALS='{"type":"service_account",...}' -- uvx google-analytics-4-mcp

Claude Desktop

Add to claude_desktop_config.json:

{
  "mcpServers": {
    "google-analytics": {
      "command": "uvx",
      "args": ["google-analytics-4-mcp"],
      "env": {
        "GA_CREDENTIALS": "{\"type\":\"service_account\",\"project_id\":\"...\", ...}"
      }
    }
  }
}

From source

git clone https://github.com/stucchi/mcp-google-analytics.git
cd mcp-google-analytics
uv run google-analytics-4-mcp

Getting Started

  1. Check auth: Call check_auth_status to verify the service account is configured

  2. List accounts: Call list_accounts to see your GA4 accounts

  3. Setup a property: Use create_propertycreate_web_data_streamget_tracking_snippet

  4. Query data: Use run_report with dimensions and metrics

Tools (23)

Auth

Tool

Description

check_auth_status

Verify service account is configured and valid

Admin API

Tool

Description

list_accounts

List accessible GA4 accounts

list_properties

List properties for an account

create_property

Create a GA4 property

get_property

Get property details

delete_property

Soft-delete a property

list_data_streams

List data streams

create_web_data_stream

Create web stream → get Measurement ID

delete_data_stream

Delete a data stream

get_tracking_snippet

Generate gtag.js HTML snippet

list_key_events

List conversion events

create_key_event

Mark event as conversion

delete_key_event

Remove conversion

list_custom_dimensions

List custom dimensions

create_custom_dimension

Create custom dimension

list_custom_metrics

List custom metrics

create_custom_metric

Create custom metric

list_google_ads_links

List Google Ads links

create_google_ads_link

Link Google Ads account

get_measurement_protocol_secret

Get/create Measurement Protocol secret

Data API

Tool

Description

run_report

Run report with dimensions, metrics, dates, filters

run_realtime_report

Real-time active users and events

get_metadata

List available dimensions and metrics

Environment Variables

Variable

Default

Description

GA_CREDENTIALS

Service Account JSON key content (copy-paste the entire JSON)

GA_CREDENTIALS_PATH

~/.google-analytics-4-mcp/credentials.json

Alternative: path to the JSON key file

GA_CREDENTIALS takes priority over GA_CREDENTIALS_PATH.

Example Usage

You: "Set up Google Analytics for my website https://mcpadvisor.stucchi.consulting"

Assistant calls: list_accounts → create_property → create_web_data_stream → get_tracking_snippet

Result: Property created with Measurement ID G-XXXXXXXXXX and ready-to-paste HTML snippet.
You: "Show me the top 10 countries by sessions in the last 7 days"

Assistant calls: run_report(property_id="...", dimensions=["country"], metrics=["sessions"], start_date="7daysAgo", limit=10)

License

MIT

Available Tools

23 tools
check_auth_statusA

Check if the Google Analytics service account is configured and valid.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4/5.0
Behavior3/5

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

With no annotations, the description carries the full burden. It only states the purpose without detailing behavior like return type, error cases, or prerequisites. The existence of an output schema may mitigate this, but the description alone is minimal.

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?

The description is a single, clear sentence with no unnecessary words. It is front-loaded and efficient.

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?

Given the tool's simplicity (zero parameters, output schema present), the description is mostly complete. It could mention prerequisites or side effects but is sufficient for a basic auth check.

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?

The input schema has no parameters, so the baseline is 4. The description adds no parameter info, which is acceptable since there are none.

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?

The description clearly states the tool's function with a specific verb ('Check') and resource ('Google Analytics service account configured and valid'), and it distinguishes itself from sibling tools that focus on creating or listing entities.

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?

The description implies when to use this tool (to verify auth status) but provides no explicit guidance on when not to use it or alternatives. Given the tool's simplicity and lack of parameters, this is adequate but not exemplary.

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

create_custom_dimensionC

Create a custom dimension.

ParametersJSON Schema
NameRequiredDescriptionDefault
scopeNoEVENT
descriptionNo
property_idYes
display_nameYes
parameter_nameYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

C2.3/5.0
Behavior2/5

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

With no annotations provided, the description carries full burden for behavioral disclosure. It only states 'create' implying a mutation, but lacks details about side effects, required permissions, rate limits, or what the output schema contains. Minimal behavioral transparency.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness2/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is extremely short (five words), but this brevity comes at the cost of essential information. It is an under-specification rather than a model of conciseness. The structure is flat with no front-loading of key details.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness1/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given 5 parameters with 0% schema coverage, no annotations, and an output schema that is not mentioned, the description is thoroughly incomplete. It fails to provide necessary context for an AI agent to understand the tool's behavior, parameters, or output.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, meaning the input schema has no parameter descriptions. The description adds no information about the five parameters (including required ones like property_id, parameter_name, display_name) or their semantics. This is a critical gap.

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 'Create a custom dimension' clearly states the action (create) and resource (custom dimension). However, it does not distinguish this tool from sibling tools like create_custom_metric, which also creates a custom entity. A score of 4 reflects clarity without sibling differentiation.

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 guidance is provided on when to use this tool versus alternatives such as create_custom_metric or create_key_event. There are no prerequisites, context for appropriate usage, or exclusions. The description gives no usage direction.

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

create_custom_metricC

Create a custom metric.

ParametersJSON Schema
NameRequiredDescriptionDefault
scopeNoEVENT
descriptionNo
property_idYes
display_nameYes
parameter_nameYes
measurement_unitNoSTANDARD

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

C2.4/5.0
Behavior2/5

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

With no annotations provided, the description must disclose behavioral traits. It only states the action without discussing side effects, idempotency, quotas, permissions, or error behavior. This is insufficient for safe invocation.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is extremely concise (one short sentence). While concise, it sacrifices informativeness. A brief addition about parameter usage would improve utility without losing brevity.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness1/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the presence of an output schema and 6 parameters (3 required), the description is woefully incomplete. It fails to explain the resource type, parameter roles, or expected behavior, leaving the agent without critical context.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, and the description does not explain any of the 6 parameters. It adds no meaning beyond the parameter names, forcing the agent to guess their purpose.

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 'Create a custom metric' clearly states the action and resource, distinguishing it from sibling tools like create_custom_dimension. However, it lacks a brief explanation of what a custom metric is in this context, preventing a perfect score.

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 guidance on when to use this tool vs alternatives such as list_custom_metrics or update_custom_metric. The description does not mention prerequisites, restrictions, or when not to use it.

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

create_key_eventC

Mark an event as a key event (conversion).

ParametersJSON Schema
NameRequiredDescriptionDefault
event_nameYes
property_idYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

C2.4/5.0
Behavior2/5

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

No annotations are provided, so the description must carry full behavioral transparency. It does not disclose whether the operation is idempotent, whether it overwrites existing key event status, or what happens if the event is already a key event. This is insufficient.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness2/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is very short (one sentence, 7 words), but it under-specifies the tool. Conciseness is valued, but not at the cost of omitting essential information.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool has 2 parameters, an output schema, and a clear domain (Google Analytics key events), the description should at least explain the purpose of the parameters and the result. It fails to do so, leaving the agent to guess critical details.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema has 0% description coverage, and the tool description does not explain what the two required parameters (event_name, property_id) represent, what formats they expect, or how they relate to the operation. The description adds no value beyond the schema's structural types.

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 clearly states the action ('mark an event as a key event') and the resource ('event'), with parenthetical clarification ('conversion'). It distinguishes from sibling tools like delete_key_event and list_key_events, but could be more explicit about what a key event is.

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?

The description provides no guidance on when to use this tool versus alternatives (e.g., when creating versus listing or deleting key events). No prerequisites, contexts, or exclusions are mentioned.

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

create_propertyC

Create a new GA4 property.

ParametersJSON Schema
NameRequiredDescriptionDefault
time_zoneNoEurope/Rome
account_idYes
display_nameYes
currency_codeNoEUR

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

C2.1/5.0
Behavior1/5

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

No annotations provided, so description carries full burden. It does not disclose any behavioral traits such as side effects, required permissions, or whether the property is created in a specific state. This is insufficient for an agent to understand the tool's impact.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness2/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is extremely short (one sentence) but misses critical information. Conciseness should not come at the expense of completeness; here it is under-specified, making it insufficient.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness1/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given 4 parameters with no schema descriptions, no annotations, and the presence of an output schema that is not referenced, the description is incomplete. It does not mention return values, error cases, or any contextual details needed for a create operation.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 0% and description adds no value. Parameters like account_id, display_name, time_zone, currency_code are not explained. The agent has to guess format or valid values, which is poor for correct invocation.

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?

Description clearly states 'Create a new GA4 property' with specific verb and resource. It distinguishes from sibling tools that create other resources like custom dimensions or metrics. However, it lacks any detail about the creation process.

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 guidance on when to use this tool vs alternatives, or any prerequisites. The description does not specify that the user must have an existing account or that creation is a high-level operation only done once per property.

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

create_web_data_streamC

Create a web data stream and get the Measurement ID (G-XXXXX).

ParametersJSON Schema
NameRequiredDescriptionDefault
default_uriYes
property_idYes
display_nameNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

C2.7/5.0
Behavior2/5

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

No annotations exist, so the description must disclose side effects and safety. It only mentions creating and getting an ID, with no details on permissions, irreversibility, quotas, or other behavioral impacts.

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?

The description is a single, clear sentence that efficiently conveys the core action and primary output.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given 3 parameters (2 required) and an output schema, the description is too minimal. It omits details on what a web data stream is, validation constraints (e.g., URI format), and the purpose of the Measurement ID.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, but the description adds no meaning to the parameters (default_uri, property_id, display_name). It does not clarify formats, allowed patterns, or relationship to the Measurement ID.

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 clearly states the action ('create a web data stream') and the key output ('get the Measurement ID'), distinguishing it from sibling tools like 'create_property'.

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 guidance on when to use this tool vs alternatives (e.g., list_data_streams or create_property). No prerequisites or context provided, such as needing an existing property.

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

delete_data_streamC

Delete a data stream.

ParametersJSON Schema
NameRequiredDescriptionDefault
stream_idYes
property_idYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

C2.2/5.0
Behavior2/5

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

No annotations are provided, so the description must disclose behavioral traits. It only says 'delete' without mentioning permanence, required permissions, or consequences, making it insufficient for safe invocation.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is very concise (5 words) but lacks structure. It front-loads the action but omits necessary details, making it merely adequate rather than well-structured.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's simplicity (2 params, output schema exists), the description should at least explain the scope or impact of deletion. It is too minimal to be considered complete.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The description provides no information about the parameters (property_id and stream_id). With 0% schema description coverage, the description fails to add any meaning beyond the schema titles.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose3/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states the basic action ('delete a data stream') but does not differentiate it from other delete operations like delete_key_event or delete_property. The name alone conveys the purpose, but no context about what kind of data stream is given.

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 guidance on when to use this tool versus alternatives. For instance, it does not explain that this tool is specifically for web data streams or how it differs from delete_property.

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

delete_key_eventC

Remove an event from key events (conversions).

ParametersJSON Schema
NameRequiredDescriptionDefault
property_idYes
key_event_idYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

C2.6/5.0
Behavior2/5

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

No annotations are provided, so the description must fully disclose behavioral traits. It does not mention whether the operation is destructive, reversible, requires permissions, or any side effects.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single sentence with no fluff, but it lacks structure (e.g., separate sections). It is under-specified rather than appropriately concise.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness1/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool has 2 parameters, no annotations, and an output schema, the description is inadequate. It does not cover parameter semantics, return value, or limits.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, and the description does not explain the parameters 'property_id' and 'key_event_id'. No additional meaning beyond the schema is provided.

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?

The description uses a specific verb 'Remove' and identifies the resource as 'event from key events (conversions)'. It clearly distinguishes this tool from sibling tools like 'create_key_event' and 'list_key_events'.

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 guidance on when to use this tool versus alternatives such as 'create_key_event' or 'list_key_events'. No prerequisites or context provided.

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

delete_propertyA

Soft-delete a GA4 property (can be restored within 35 days).

ParametersJSON Schema
NameRequiredDescriptionDefault
property_idYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A3.8/5.0
Behavior4/5

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

Discloses soft-delete behavior and 35-day restore window. No annotations provided, but description adds useful context.

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?

Single sentence, front-loaded with action, no unnecessary words.

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?

Adequate for a delete tool, but lacks permissions, error scenarios, or return value hints (though output schema may cover return). Could be more comprehensive.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

No parameter description in schema (0% coverage) and description adds no details about 'property_id' beyond its name.

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?

Description clearly states the tool soft-deletes a GA4 property and mentions the restore window. Differentiates from sibling tools like delete_data_stream.

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?

Implicitly indicates it's a reversible action (soft-delete) but does not specify when to use it vs alternatives or prerequisites.

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

get_measurement_protocol_secretC

Get or create a Measurement Protocol API secret for server-side event tracking.

ParametersJSON Schema
NameRequiredDescriptionDefault
stream_idYes
property_idYes
display_nameNoMCP Server

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

C2.7/5.0
Behavior2/5

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

With no annotations, the description carries the full burden. It mentions 'get or create' but does not disclose behavioral traits like idempotency, authentication requirements, or what happens on conflict. The existence of an output schema somewhat compensates, but the description itself adds minimal behavioral context.

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?

The description is a single, concise sentence of 14 words, efficiently front-loading the core action. No wasted or redundant information.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool has 3 parameters, an output schema, and no annotations, the description is insufficient. It lacks parameter explanations, usage context, and guidance on when to apply. The output schema exists but is not referenced.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, and the description does not explain any parameters (stream_id, property_id, display_name). The description adds no semantic value beyond the parameter names and types given in the schema.

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 clearly states the tool gets or creates a Measurement Protocol API secret for server-side event tracking. The verb-resource combination is specific, but the dual action ('get or create') introduces slight ambiguity. It distinguishes from sibling tools, none of which directly handle measurement protocol secrets.

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 guidance on when to use this tool versus alternatives. Siblings include various data stream and property management tools, but no context is given for selecting this one.

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

get_metadataA

List all available dimensions and metrics for a GA4 property.

Useful to discover which dimension/metric names you can use in run_report.

ParametersJSON Schema
NameRequiredDescriptionDefault
property_idYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A3.5/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full burden. It only states that the tool 'lists' data, without disclosing any behavioral traits such as whether it returns both standard and custom dimensions/metrics, data freshness, permissions required, or pagination behavior. This is minimal disclosure.

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?

The description is two short sentences, both highly relevant and free of filler. The first sentence states the core function, and the second adds practical context. Every word earns 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?

Given the tool's simplicity (single parameter, output schema present), the description covers the essential purpose and usage. However, it could mention that the listing includes both standard and custom dimensions/metrics, which would improve completeness. The output schema likely documents return values, so that's not required.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema has one required parameter (property_id) with 0% schema description coverage, meaning no description in the schema. The tool description does not add any explanation for this parameter beyond its name. For a critical parameter like property_id, the description should clarify its format or meaning, but it does not.

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?

The description clearly states the tool lists all available dimensions and metrics for a GA4 property, using the verb 'list' and specifying the resource. It distinguishes from siblings like run_report by positioning this as a discovery tool to get names for use in run_report.

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 second sentence explicitly says 'useful to discover which dimension/metric names you can use in run_report,' providing clear context for when to use this tool. However, it does not mention alternatives or when not to use it, which is a minor omission.

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

get_propertyC

Get details of a GA4 property.

ParametersJSON Schema
NameRequiredDescriptionDefault
property_idYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

C2.8/5.0
Behavior2/5

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

With no annotations, the description carries the full burden. It states 'Get details', implying read-only, but lacks disclosure of permissions, rate limits, or any side effects. The behavior is assumed but not explicitly confirmed.

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?

The description is a single sentence with no extraneous words. It is efficient, though it sacrifices completeness for brevity.

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?

Given the presence of an output schema and a single required parameter, the description is minimally adequate. However, for a tool with many siblings and no annotations, it could provide more context about scope and constraints.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, but the description only adds 'GA4 property' context. The required parameter property_id is not explained in format or source. The description does little to compensate for the lack of parameter documentation.

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 clearly states the tool retrieves details of a GA4 property, which is a specific verb+resource. However, it does not explicitly distinguish from sibling 'list_properties' which also retrieves property information but in a list form.

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 guidance is provided on when to use this tool versus alternatives like list_properties, or any prerequisites. The agent must infer from the name alone.

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

get_tracking_snippetB

Generate the gtag.js HTML tracking snippet ready to paste into your website.

ParametersJSON Schema
NameRequiredDescriptionDefault
measurement_idYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

B3.3/5.0
Behavior3/5

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

The description implies a no-side-effect read operation (generating HTML), but with no annotations, it should explicitly state that no data is modified and what the output format is. Lacks detail on authentication or rate limits.

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?

Extremely concise single sentence with no wasted words. Could include a brief parameter hint without becoming verbose.

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?

Given low complexity (1 param, output schema exists), the description is minimally adequate but fails to cover parameter semantics or output expectations, relying on the output schema which is not shown.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, and the description does not explain the 'measurement_id' parameter (e.g., how to obtain it, its format). The schema only defines it as a required string, leaving the agent without context.

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?

The description uses a specific verb ('Generate') and resource ('gtag.js HTML tracking snippet'), clearly distinguishing it from sibling tools that manage accounts, properties, or reports.

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 guidance on when to use or not use this tool, nor any alternatives mentioned. Since no sibling tool does snippet generation, explicit usage context would still be helpful.

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

list_accountsA

List all Google Analytics accounts accessible by the authenticated user.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A3.6/5.0
Behavior2/5

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

No annotations are provided, so the description must convey behavioral traits. It only states the action (list accounts) without disclosing permissions, read-only nature, or error conditions. For a 0-param tool, minimal disclosure but still lacking.

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?

Single sentence, no wasted words. Clearly conveys the tool's purpose.

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?

For a simple list operation with 0 parameters and an output schema, the description is adequate. Could mention that it returns a list but not necessary.

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?

Schema has 0 parameters, so baseline is 4. Description adds no param info, but none is needed. Schema coverage is 100%.

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?

The description clearly states it lists all Google Analytics accounts accessible by the user. The verb 'list' and resource 'accounts' are specific, and it distinguishes from sibling tools like list_properties.

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 guidance on when to use this tool versus alternatives (e.g., list_properties for properties). The description does not mention any conditions or exclusions.

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

list_custom_dimensionsC

List custom dimensions for a property.

ParametersJSON Schema
NameRequiredDescriptionDefault
property_idYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

C2.6/5.0
Behavior2/5

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

The description lacks behavioral details beyond the basic action. It does not disclose that this is a read-only operation, nor does it mention pagination, sorting, filtering, or authorization requirements. With no annotations, the description carries the full burden, and it falls short.

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?

The description is a single sentence with no waste. It is front-loaded with the action and resource. However, it is too brief to be considered ideal; a bit more structure (e.g., listing key details) would make it more helpful without harming conciseness.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Despite having an output schema, the description does not hint at return values or structure. For a simple list tool, the agent would benefit from knowing what fields are returned or that it returns an array of custom dimension objects. The description is incomplete for practical use.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, and the description provides no additional meaning for the single parameter 'property_id'. The agent is left without any hint about what value to provide or how to obtain it. The description adds no value beyond the schema's technical definition.

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 clearly states the action (list) and resource (custom dimensions) scoped to a property. However, it does not differentiate from sibling tool 'list_custom_metrics', which has a similar structure and scope. A more specific description would include that it lists dimension definitions specifically, but it's still clear enough.

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 guidance is provided on when to use this tool versus alternatives like 'create_custom_dimension' or 'list_custom_metrics'. There is no mention of prerequisites, context, or situations to avoid. This leaves the agent to infer usage from the name alone.

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

list_custom_metricsC

List custom metrics for a property.

ParametersJSON Schema
NameRequiredDescriptionDefault
property_idYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

C2.9/5.0
Behavior2/5

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

With no annotations provided, the description bears full responsibility. It only states 'list', implying a read-only operation, but lacks details on pagination, ordering, filtering, permissions, or response structure. The existence of an output schema is noted but not described.

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?

The description is a single sentence that is efficiently brief. However, it is slightly under-specified, but for conciseness it communicates the core action without extraneous words.

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?

Given the tool's simplicity (one required parameter) and the presence of an output schema (though not detailed), the description covers the basic action. However, it lacks information about pagination, permission requirements, or links to related tools, making it minimally adequate.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, meaning the 'property_id' parameter has no description in the schema itself. The description does not explain what 'property_id' is or its format, failing to compensate for the lack of schema documentation.

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?

The description clearly states the verb 'list' and the resource 'custom metrics', with the scope 'for a property'. It distinguishes the tool from siblings like 'list_custom_dimensions' (different resource) and 'create_custom_metric' (different action).

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?

The description provides no guidance on when to use this tool versus alternatives like 'list_custom_dimensions' or 'list_properties'. No prerequisites, context, or exclusion criteria are mentioned.

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

list_data_streamsB

List all data streams for a GA4 property.

ParametersJSON Schema
NameRequiredDescriptionDefault
property_idYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

B3.4/5.0
Behavior2/5

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

No annotations provided, so description carries full burden. It only states the action without disclosing side effects, authorization needs, pagination, or rate limits. Although an output schema exists, the description does not mention what the tool returns.

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?

Single sentence, 8 words, no redundancy. Every word contributes to the purpose. Efficient and front-loaded.

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?

Given the simple nature (one param, output schema present), the description is minimally adequate. However, it lacks context about property existence or connection to sibling tools like delete_data_stream, which could be useful.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

With 0% schema description coverage, the description adds no meaning beyond the parameter name 'property_id'. It could specify the format or expected value, but does not. The schema alone does not provide semantic context.

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?

Description clearly states the verb 'List', the resource 'data streams', and the scope 'for a GA4 property'. It is specific and distinguishes from sibling tools like create_web_data_stream and delete_data_stream.

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?

No explicit guidance on when to use this tool versus alternatives like list_properties or list_accounts. The description implies usage when listing data streams for a property but lacks when-not-to-use or prerequisite information.

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

list_key_eventsC

List key events (conversions) configured for a property.

ParametersJSON Schema
NameRequiredDescriptionDefault
property_idYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

C2.6/5.0
Behavior2/5

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

No annotations are provided, so the description carries full burden. It only states it lists key events with no mention of read-only nature, pagination, filtering, or side effects. The behavior is implied but not explicitly disclosed.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Single sentence with no wasted words, but it sacrifices completeness. Could include brief details on parameter or return without becoming lengthy.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Although an output schema exists, the description does not explain what the tool returns (e.g., list of key event objects). With minimal description and 0% param coverage, it is incomplete for an agent to use effectively.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, yet the description does not elaborate on property_id beyond its name. No format, source, or example is given, leaving the agent to infer its meaning from context.

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 clearly states the tool lists key events (conversions) for a property. It uses specific verb 'list' and resource 'key events', and the parenthetical clarifies 'conversions'. It distinguishes from sibling list tools by specifying 'for a property', implying scoping.

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 guidance on when to use this tool versus alternatives like list_properties or create_key_event. It does not indicate prerequisites, sequence, or context for use.

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

list_propertiesC

List all GA4 properties for an account.

ParametersJSON Schema
NameRequiredDescriptionDefault
account_idYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

C2.9/5.0
Behavior2/5

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

No annotations are provided, so the description must carry the full burden. It only states 'list all' without mentioning read-only nature, pagination, or any side effects.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is concise but overly minimal. It contains only one sentence, lacking structure and additional details that would improve clarity.

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?

Given the presence of an output schema, some return value details are missing but less critical. However, the description omits important context like pagination or filtering behavior.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 0%; the description does not elaborate on the account_id parameter. It only implies the parameter's purpose via the phrase 'for an account', which is insufficient.

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?

The description clearly states the action (list), resource (GA4 properties), and scope (for an account), effectively distinguishing from sibling tools like get_property and list_accounts.

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 guidance on when to use this tool versus alternatives, nor any prerequisites or context provided. The description is too minimal to aid decision-making.

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

run_realtime_reportC

Run a real-time report showing active users and live events.

ParametersJSON Schema
NameRequiredDescriptionDefault
metricsNo
dimensionsNo
property_idYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

C2.7/5.0
Behavior2/5

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

With no annotations provided, the description must convey behavioral traits. It only mentions 'real-time' without defining its meaning (e.g., data latency, refresh rate) or any constraints like rate limits or required permissions. Fails to compensate for missing annotations.

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?

One sentence, verb-first, clear action and output. No fluff. However, brevity sacrifices necessary detail; front-loading is good but could expand with a second sentence for parameters or usage.

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?

Output schema exists which covers return values, but the description lacks context on data freshness, supported metrics/dimensions, and operational details. Given the tool's real-time nature, more context is needed for effective use.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema has 0% description coverage for parameters. The description adds no meaning beyond the schema property names. For example, 'metrics' and 'dimensions' are not explained (e.g., valid values, syntax). This is a critical gap.

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?

Description clearly states the verb 'Run' and the resource 'real-time report', specifying output shows 'active users and live events'. However, it does not distinguish from sibling tool 'run_report' which likely runs standard reports, missing an opportunity to clarify the difference.

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 guidance on when to use this tool versus alternatives like 'run_report' or when to avoid it. The agent has no context about prerequisites or suitability for real-time vs. historical data scenarios.

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

run_reportC

Run a GA4 report with dimensions, metrics, date range, and optional filters.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNo
offsetNo
metricsYes
end_dateNotoday
dimensionsYes
start_dateNo28daysAgo
property_idYes
dimension_filter_nameNo
dimension_filter_valueNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

C2.8/5.0
Behavior2/5

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

With no annotations, the description carries full burden but only states it 'runs a report', lacking disclosure of behavioral traits such as output format, read-only nature, rate limits, or authentication needs.

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?

The description is a single, concise sentence with no unnecessary words, achieving high clarity in minimal space.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Despite having an output schema and 9 parameters, the description fails to explain return values, default behaviors (e.g., default dates), or constraints, leaving significant gaps for effective use.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the description must compensate. It only lists general categories (dimensions, metrics, date range, filters) without explaining specific parameters like limit, offset, property_id, or filter fields.

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 clearly states it runs a GA4 report with dimensions, metrics, date range, and filters. However, it does not distinguish this tool from the sibling 'run_realtime_report', which could lead to confusion.

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 guidance is provided on when to use this tool versus alternatives like run_realtime_report, or any prerequisites. The agent receives no context for decision-making.

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

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections. Dates show when Glama detected each change.

  1. 23 tool updatesv0.1.1
    • First observedcheck_auth_status
    • First observedcreate_custom_dimension
    • First observedcreate_custom_metric
    • First observedcreate_google_ads_link
    • First observedcreate_key_event
    • First observedcreate_property
    • First observedcreate_web_data_stream
    • First observeddelete_data_stream
    • First observeddelete_key_event
    • First observeddelete_property
    • First observedget_measurement_protocol_secret
    • First observedget_metadata
    • First observedget_property
    • First observedget_tracking_snippet
    • First observedlist_accounts
    • First observedlist_custom_dimensions
    • First observedlist_custom_metrics
    • First observedlist_data_streams
    • First observedlist_google_ads_links
    • First observedlist_key_events
    • First observedlist_properties
    • First observedrun_realtime_report
    • First observedrun_report

TDQS

B3.1/5.0
Disambiguation5/5

Each tool targets a distinct resource or action: accounts, properties, data streams, custom dimensions/metrics, key events, Google Ads links, reports, metadata, auth, snippet. No two tools have overlapping purposes; even similar pairs like create/delete are clearly differentiated.

Naming Consistency5/5

All tools use a consistent verb_noun pattern with underscores, e.g., 'create_custom_dimension', 'run_realtime_report', 'list_properties'. No mixing of styles or unclear verb choices.

Tool Count4/5

23 tools cover a wide range of GA4 management tasks. While slightly on the higher side, each tool serves a specific need without redundancy, making the count reasonable for comprehensive server scope.

Completeness3/5

Covers core CRUD and reporting but lacks update operations for custom dimensions/metrics, properties, and key events. Missing some advanced features (e.g., user management, filters), limiting full lifecycle coverage.

Maintenance

ActivityInactive
ResponsivenessNo issues

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Connectors

Related MCP Servers

  • A
    license
    A
    quality
    C
    maintenance
    Enables querying Google Analytics 4 properties using natural language through MCP clients. Supports customizable reports with any dimensions and metrics, listing properties, and real-time data.
    4
    MIT
  • A
    license
    Not graded
    quality
    C
    maintenance
    Connects to Google Analytics 4 to run reports, manage configurations, and retrieve admin data using natural language.
    GPL 3.0
  • A
    license
    Not graded
    quality
    B
    maintenance
    Enables interaction with Google Analytics through Admin and Data APIs, allowing retrieval of account details, reports, and realtime data via natural language.
    Apache 2.0

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/stucchi/mcp-google-analytics'

If you have feedback or need assistance with the MCP directory API, please join our Discord server