Skip to main content
Glama

Google Analytics (unofficial)

Server Details

Connect Google Analytics to ChatGPT. Query GA4 data in plain English and get instant insights.

Status
Healthy
Last Tested
Transport
Streamable HTTP
URL

Glama MCP Gateway

Connect through Glama MCP Gateway for full control over tool access and complete visibility into every call.

MCP client
Glama
MCP server

Full call logging

Every tool call is logged with complete inputs and outputs, so you can debug issues and audit what your agents are doing.

Tool access control

Enable or disable individual tools per connector, so you decide what your agents can and cannot do.

Managed credentials

Glama handles OAuth flows, token storage, and automatic rotation, so credentials never expire on your clients.

Usage analytics

See which tools your agents call, how often, and when, so you can understand usage patterns and catch anomalies.

100% free. Your data is private.
Tool DescriptionsA

Average 4.1/5 across 5 of 5 tools scored.

Server CoherenceA
Disambiguation5/5

Each tool has a clearly distinct purpose: catalog for schema discovery, report for standard reporting, funnel for conversion analysis, sources for account/property discovery, and manage_surface for selector management. There is no overlap or ambiguity between them.

Naming Consistency5/5

All tool names follow a consistent marketing_verb_noun pattern: get_catalog, get_funnel, get_report, get_sources, and manage_surface. The verb and noun structure is uniform and predictable.

Tool Count5/5

Five tools is well-scoped for an analytics server, covering discovery, reporting, funnel analysis, source/account listing, and surface configuration without being bloated or too thin.

Completeness5/5

The tool surface covers the core analytics lifecycle: discover schema (catalog), connect to sources (sources), manage settings (manage_surface), and retrieve data (report and funnel). No obvious gaps exist; even advanced needs like pass-through dimensions are handled within get_report.

Available Tools

5 tools
marketing_get_catalogList supported marketing reporting sources, metrics, and dimensionsA
Read-only
Inspect

Use this when the user wants to discover the canonical marketing reporting graph, available sources, supported metrics, supported dimensions, or which connectors are live today. Each source also reports a passthrough field describing whether native fields beyond the curated list are accepted (GA4 accepts any native dimension/metric; Search Console accepts any native dimension; Bing is limited to the curated fields). Do not use this for GA4 account discovery or data retrieval.

ParametersJSON Schema
NameRequiredDescriptionDefault
sourceNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
metricsYes
sourcesYes
versionYes
dimensionsYes
Behavior4/5

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

Annotations already declare readOnlyHint, openWorldHint, and non-destructive behavior. The description adds beneficial context about the `passthrough` field behavior per source and the dynamic nature of live connectors, which goes beyond the annotations. No contradiction.

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 sentences, front-loaded with use cases, then a specific output field callout, then an exclusion. Every sentence contributes meaning without filler.

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?

Output schema exists so return values don't need detailed explanation. The description covers when to use, what it provides, and a key behavioral nuance. However, the undocumented `source` parameter leaves some ambiguity for correct invocation.

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 the description never mentions the optional `source` parameter, its accepted values, or how it affects results. The description fails to compensate for the schema's complete lack of 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 lists the marketing reporting catalog (sources, metrics, dimensions, connectors), with a specific verb and resource. It does not explicitly differentiate from the sibling marketing_get_sources, which may also list sources.

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?

It explicitly says when to use ('when the user wants to discover...') and provides a clear negative case ('Do not use for GA4 account discovery or data retrieval'), but does not name alternative sibling tools.

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

marketing_get_funnelGet marketing funnel dataA
Read-only
Inspect

Use for ordered conversion-step analysis: GA4 ordered_steps step funnels (e.g. session_start → add_to_cart → purchase) and cross-source holistic_bundle landing-page funnels joining GA4, Google Search Console, and Bing Webmaster. Covers funnel drop-off between steps (e.g. from landing on the site to adding to cart to purchasing), conversion paths, and acquisition-to-conversion context. Pass one date range for a single window or two date ranges for period-over-period comparison.

ParametersJSON Schema
NameRequiredDescriptionDefault
appNoOptional app or web stream selector. Use this when the user identifies the GA4 source by stream ID, measurement ID, Firebase app ID, or stream name.
typeYes
limitNo
funnelNoMulti-step funnel definition. Use this only for ordered step analysis, not for general website analytics reporting.
propertyNoGoogle Analytics property identifier. Accepts a numeric GA4 property ID like 481373915 or a resource name like properties/481373915.
surfaceIdNodefault
dateRangesYesOne or more GA4 date ranges. Use two date ranges for period-over-period comparisons or significance checks.
propertyIdNoNumeric GA4 property ID for the funnel report.
appStreamIdNoOptional data stream ID when the funnel should run against a specific app or website stream.
bingSiteUrlNo
ga4PropertyIdNoGoogle Analytics property identifier. Accepts a numeric GA4 property ID like 481373915 or a resource name like properties/481373915.
funnelBreakdownNo
funnelNextActionNo
returnPropertyQuotaNo
searchConsoleSiteUrlNo
funnelVisualizationTypeNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
rowsNo
chartNo
scopeNo
warningsNo
comparisonNo
sourceStateNo
reportSummaryNo
analyticsLinksNo
Behavior4/5

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

Annotations already declare readOnlyHint=true and destructiveHint=false, so the description need not repeat safety traits. It adds valuable behavioral context beyond the schema: it explains the tool joins GA4, Search Console, and Bing Webmaster for holistic_bundle funnels, and that two date ranges enable period-over-period comparison. This is meaningful operational guidance not present in the structured annotations.

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 three sentences long, yet every sentence carries specific, non-redundant information: the primary use case, the two funnel modes with examples, coverage areas, and date range options. It is front-loaded with the key phrase 'Use for ordered conversion-step analysis' and contains no filler or repetition.

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 complexity (16 parameters, nested objects, output schema), the description provides a solid high-level overview: it covers both funnel types, gives example steps, and explains the date range comparison feature. It does not delve into filter expression construction or when to choose one funnel type over the other, but the output schema and property-level schema descriptions cover some of those gaps. Overall it is sufficient for an agent to understand the tool's role and basic usage.

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 coverage is only 44%, but the description compensates by giving semantic meaning to the type parameter (ordered_steps vs holistic_bundle) with concrete examples, and clarifies dateRanges usage (one window vs. two for comparison). It does not explain all 16 parameters, but the schema itself provides descriptions for several key ones (app, property, dateRanges, funnel), and the description adds examples that make the core parameters more actionable.

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 purpose with a specific verb ('get') and resource ('marketing funnel data'), and distinguishes it from siblings by detailing two funnel analysis modes (ordered_steps and holistic_bundle) with concrete examples like session_start → add_to_cart → purchase. It covers funnel drop-off, conversion paths, and acquisition-to-conversion context, making the scope unmistakable versus catalog, report, sources, or surface management tools.

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 provides explicit context: 'Use for ordered conversion-step analysis' and lists the specific funnel types it supports. It also explains when to use one date range vs. two for period-over-period comparisons. However, it does not name alternate tools or explicitly state when not to use this tool, leaving the exclusion implicit.

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

marketing_get_reportGet holistic marketing report dataA
Read-only
Inspect

Primary reporting tool for a given GA4 property or site. Use for totals, trends, and breakdowns by dimension across GA4 website traffic and app analytics, Google Search Console site traffic, and Bing Webmaster — including last-30-days summaries, revenue, leads, sessions, users, engagement/time-on-page (average_session_duration, user_engagement_duration), and period-over-period comparisons. Drill deep: GA4 supports up to 9 grouped dimensions (date/hour, geo, device/browser/OS, source/medium/channel, landing_page/page_path, etc.). Defaults to all mapped connected sources merged into one standardized view, aligned on the shared grain (typically landing_page) so a page row blends GA4 sessions+engagement with Search Console/Bing clicks/impressions/CTR/position; per-source detail (e.g. full query lists) stays in sourceSections. Note GA4 has no query dimension and Search Console/Bing have no sessions/engagement, so those cannot share one row — query is a Search Console/Bing breakdown. Narrow with sources or sourceMode='single'. Any GA4 dimension/metric name not in the catalog is passed through to the GA4 API automatically; metricMode='source_native' forces a pure GA4-native report. Pass one date range for a single window or two date ranges for period-over-period comparison.

ParametersJSON Schema
NameRequiredDescriptionDefault
appNoOptional app or web stream selector. Use this when the user identifies the GA4 source by stream ID, measurement ID, Firebase app ID, or stream name.
siteNo
limitNo
offsetNo
sourceNo
maxRowsNo
metricsYesGA4 metric API names such as sessions, activeUsers, conversions, eventCount, totalRevenue, or engagedSessions. Include explicit numerator and denominator metrics when requesting significance context.
siteUrlNo
sourcesNo
orderBysNoOptional sort order. Each entry requires fieldName (a GA4 API name like sessions or date) and optional desc (true for descending). Example: [{ fieldName: "sessions", desc: true }].
pageSizeNo
propertyNoGoogle Analytics property identifier. Accepts a numeric GA4 property ID like 481373915 or a resource name like properties/481373915.
surfaceIdNoOptional analysis surface ID. When omitted, the default surface is used if no explicit selector is provided.
dateRangesYesOne or more GA4 date ranges. Use two date ranges for period-over-period comparisons or significance checks.
dimensionsNoOptional GA4 dimensions such as date, country, deviceCategory, landingPagePlusQueryString, or dateRange. Omit entirely for aggregate totals (renders as KPI widget). Only include when the user asks for a breakdown or trend.
metricModeNocanonical
propertyIdNoNumeric Google Analytics 4 property ID for website analytics or app analytics. Use this when the user references a GA4 property directly.
sourceModeNoauto
appStreamIdNoGA4 app or web data stream ID when the request targets a specific app stream or website stream.
significanceNoOptional significance context for GA4 rate comparisons. Use this only when the user asks whether a change is statistically significant or meaningful.
keepEmptyRowsNo
metricFiltersNo
returnAllRowsNo
sourceOptionsNo
dimensionFiltersNo
metricFilterExpressionNo
dimensionFilterExpressionNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
rowsNo
chartNo
scopeNo
lineageNo
metricsNo
warningsNo
comparisonNo
confidenceNo
sourceStateNo
significanceNo
reportSummaryNo
analyticsLinksNo
resolvedEntitiesNo
Behavior5/5

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

Annotations already declare readOnlyHint=true, openWorldHint=true, destructiveHint=false, and the description adds substantial behavioral context: defaults to merged sources aligned on a shared grain, pass-through of unknown GA4 names, sourceMode behavior, and dimension/data availability limitations. This goes well beyond the annotations without contradicting them.

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 dense paragraph (~200 words). It is front-loaded with 'Primary reporting tool' and each sentence adds a behavior or constraint. While it could benefit from bullet points, it remains efficient for the tool's complexity.

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

Completeness5/5

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

Given 27 parameters, nested objects, and an output schema, the description covers the core report semantics: merged view, per-source sections, supported dimensions/metrics, date range behavior, and source narrowing. The output schema handles return values, and annotations cover safety. This is a complete enough description.

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 coverage is only 37% (27 params), but the description compensates by explaining key parameter semantics: dateRanges (one vs two for period-over-period), metrics examples (sessions, users, revenue), dimensions supported, sources/sourceMode, and metricMode='source_native'. It does not cover pagination/filters, but the most decision-critical params are explained.

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 opens with 'Primary reporting tool for a given GA4 property or site' and specifies 'Use for totals, trends, and breakdowns by dimension across GA4 website traffic and app analytics' – a clear verb+resource+scope that distinguishes it from siblings like marketing_get_funnel or marketing_get_sources.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicitly states 'Use for totals, trends, and breakdowns' and gives direct operational guidance: 'Narrow with sources or sourceMode='single'', 'Pass one date range for a single window or two date ranges for period-over-period comparison', and notes limitations about GA4 vs Search Console/Bing dimensions. This clearly frames when to use this tool and how to adjust it.

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

marketing_get_sourcesDiscover marketing data sourcesA
Read-only
Inspect

Lists connected and missing GA4, Google Analytics properties, property IDs, web streams, app streams, measurement IDs, Firebase app IDs, Google Search Console sites, Bing Webmaster sites, and current analysis surface mappings. Use this before reporting when property/site selectors are unknown.

ParametersJSON Schema
NameRequiredDescriptionDefault
sourcesNo
surfaceIdNodefault

Output Schema

ParametersJSON Schema
NameRequiredDescription
sourcesYes
surfaceYes
Behavior4/5

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

The annotations already indicate readOnlyHint=true, destructiveHint=false, and openWorldHint=true, so the safety profile is known. The description adds valuable behavioral context by enumerating the exact types of data returned (GA4 properties, web streams, app streams, GSC sites, etc.) and the 'connected and missing' distinction. No contradictions with annotations. It stops short of describing return format details, but the output schema covers that.

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 compact, with two sentences. The first sentence is a long list but is information-dense and necessary to convey the tool's scope. The second sentence gives crisp usage guidance. There is no fluff or redundancy. It could be slightly improved by breaking the list, but overall it is well-structured and appropriately sized.

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 read-only annotations and the presence of an output schema, the description covers the essential context: what the tool lists, when to use it, and its discovery purpose. The main gap is parameter semantics, which is captured in dimension 4. The tool is simple (list sources) and the description, combined with schema and annotations, is sufficiently complete for an agent to invoke it correctly in most cases.

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%, meaning no parameter descriptions exist in the schema. The tool description does not explain the 'sources' array or 'surfaceId' parameter at all. The enum in the schema gives some hint for 'sources', but 'surfaceId' remains completely unexplained. The usage guidance mentions 'property/site selectors' but does not connect them to the parameters. This is a significant gap for a tool with 2 parameters.

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: 'Lists connected and missing GA4, Google Analytics properties, property IDs, web streams, app streams, measurement IDs, Firebase app IDs, Google Search Console sites, Bing Webmaster sites, and current analysis surface mappings.' This specific verb+resource distinguishes it from sibling tools like marketing_get_report or marketing_get_funnel, which serve different purposes.

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 provides a clear usage context: 'Use this before reporting when property/site selectors are unknown.' This tells the agent when to invoke this tool, though it does not explicitly mention alternatives or exclusions. It is more specific than a generic 'use this to get sources' and effectively guides the agent to use this tool as a discovery step before reporting.

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

marketing_manage_surfaceGet or update analysis surface mappingsAInspect

Gets or updates persisted selectors for a website/app analysis surface. Use action='get' to inspect mappings and action='update' to persist GA4, Search Console, or Bing Webmaster selectors.

ParametersJSON Schema
NameRequiredDescriptionDefault
nameNo
actionYes
selectorsNo
surfaceIdNodefault
mainDomainNo
selectorSetsNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
appliedNo
surfaceNo
sourceStateNo
Behavior3/5

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

Annotations are limited (readOnlyHint=false, destructiveHint=false, openWorldHint=false), so the description carries some burden. It discloses that 'update' persists selectors, which is a useful behavioral trait. However, it does not explain whether update overwrites existing mappings, whether mainDomain is required, or how selectors relates to selectorSets. This leaves ambiguity about exactly what happens when updating.

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 sentences and front-loads the core purpose. The first sentence states the action and resource; the second sentence gives action-specific usage. Every sentence earns its place with no redundancy or filler.

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?

The tool has a complex schema with conflicting-looking parameters (selectors vs selectorSets), a default surfaceId, and an optional mainDomain, but the description only explains action and the general concept of selectors. Even with an output schema present, an agent would not know which parameters to populate when updating or how selectorSets differs. The description is not complete enough for reliable invocation.

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 explains the meaning of action and broadly mentions GA4, Search Console, and Bing Webmaster selectors, but it does not clarify roles of name, surfaceId, mainDomain, selectors vs selectorSets, or how they interact with the update action. This is insufficient for a tool with 6 parameters and nested objects.

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 gets or updates persisted selectors for a website/app analysis surface, using a specific verb and resource. This distinguishes it from sibling tools like marketing_get_report or marketing_get_sources, which focus on reading analytics data rather than managing surface mappings.

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, explicit guidance on when to use each action: 'get' to inspect mappings and 'update' to persist selectors. It does not mention alternative tools, but it provides enough context for the primary decision of which action to invoke. No exclusions are stated.

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

Discussions

No comments yet. Be the first to start the discussion!

Related MCP Servers

  • A
    license
    A
    quality
    B
    maintenance
    Connects Google Analytics 4 data to Claude, Cursor and other MCP clients, enabling natural language queries of website traffic, user behavior, and analytics data with access to 200+ GA4 dimensions and metrics.
    10
    235
    Apache 2.0
  • A
    license
    -
    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
    -
    quality
    D
    maintenance
    Enables querying Google Analytics 4 data using natural language through MCP clients like Claude and Cursor, supporting 200+ dimensions and metrics for traffic, user behavior, and e-commerce analysis.
    MIT
  • F
    license
    A
    quality
    C
    maintenance
    Connects Claude to Google Analytics 4 for querying website analytics via natural language, enabling traffic summaries, top pages, traffic sources, and user engagement.
    4

View all MCP Servers

Try in Browser

Your Connectors

Sign in to create a connector for this server.

Resources