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.
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.
Tool Definition Quality
Average 3.5/5 across 5 of 5 tools scored.
Each tool targets a distinct aspect: catalog for discovering metrics/dimensions, funnel for conversion steps, report for general reporting, sources for listing connected properties, and manage_surface for selectors. No ambiguity.
All tools share the 'marketing_' prefix, and most follow 'get_<noun>' pattern except 'manage_surface'. This minor deviation is consistent with its dual get/update purpose.
Five tools is well-scoped for an analytics reporting server, covering core functionalities without being excessive or insufficient.
Covers discovery, reporting, and configuration; missing some create/delete operations but aligns with its reporting focus.
Available Tools
5 toolsmarketing_get_catalogList supported marketing reporting sources, metrics, and dimensionsBRead-onlyInspect
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. Do not use this for GA4 account discovery or data retrieval.
| Name | Required | Description | Default |
|---|---|---|---|
| source | No |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already indicate read-only and non-destructive. Description adds that the tool returns canonical graph, sources, metrics, dimensions, and live connectors, which is helpful but not extensive behavioral detail.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, front-loading the primary use case and adding a negative use case. Every sentence is meaningful with no waste.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With only one optional parameter and no output schema, the description should cover the parameter. It does not explain the 'source' parameter, leaving a significant gap. The purpose is clear, but the missing parameter semantics make it incomplete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Input schema has one parameter 'source' with no description or enum. Description does not mention the parameter at all, leaving its purpose entirely unclear. Schema description coverage is 0%, so the description fails to compensate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description clearly states the tool discovers the marketing reporting graph, sources, metrics, dimensions, and live connectors. It distinguishes from GA4 discovery but doesn't fully differentiate from sibling 'marketing_get_sources' which may overlap.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Tells when to use (for discovery of catalog) and when not to use (GA4 account discovery or data retrieval). Does not list alternative sibling tools by name, but implication is clear.
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 dataARead-onlyInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| app | No | Optional 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. | |
| type | Yes | ||
| limit | No | ||
| funnel | No | Multi-step funnel definition. Use this only for ordered step analysis, not for general website analytics reporting. | |
| property | No | Google Analytics property identifier. Accepts a numeric GA4 property ID like 481373915 or a resource name like properties/481373915. | |
| surfaceId | No | default | |
| dateRanges | Yes | One or more GA4 date ranges. Use two date ranges for period-over-period comparisons or significance checks. | |
| propertyId | No | Numeric GA4 property ID for the funnel report. | |
| appStreamId | No | Optional data stream ID when the funnel should run against a specific app or website stream. | |
| bingSiteUrl | No | ||
| ga4PropertyId | No | Google Analytics property identifier. Accepts a numeric GA4 property ID like 481373915 or a resource name like properties/481373915. | |
| funnelBreakdown | No | ||
| funnelNextAction | No | ||
| returnPropertyQuota | No | ||
| searchConsoleSiteUrl | No | ||
| funnelVisualizationType | No |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, openWorldHint=true, and destructiveHint=false. The description adds context about the types of funnels and cross-source capabilities but does not disclose additional behavioral traits such as rate limits, quota handling, or data freshness. Given annotations, the description provides adequate but not extra 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single paragraph that is reasonably concise and front-loads the main purpose. It could benefit from bullet points or clearer structure, but it is not overly verbose and each sentence adds value.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Considering the tool's complexity (16 parameters, nested objects, no output schema), the description is insufficient. It gives a high-level overview but lacks guidance on how to structure the funnel parameter, use filters, or interpret results. An agent would need additional knowledge to correctly invoke the tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is low at 44%, and the tool description does not compensate. The description only mentions date ranges and funnel types; it does not explain key parameters like app, funnel, funnelBreakdown, or filter expressions. The schema provides some descriptions, but overall parameter semantics are insufficient for an agent to use the tool correctly.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states it is for ordered conversion-step analysis and cross-source holistic_bundle landing-page funnels. It provides specific examples like session_start → add_to_cart → purchase and mentions covering drop-off, conversion paths, and acquisition-to-conversion context. This distinguishes it from sibling tools like marketing_get_report.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description tells when to use the tool: for ordered conversion-step analysis and cross-source funnels. It also indicates using one or two date ranges for comparison. However, it does not explicitly state when not to use it or compare to alternative tools like marketing_get_report.
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 dataARead-onlyInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| app | No | Optional 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. | |
| site | No | ||
| limit | No | ||
| offset | No | ||
| source | No | ||
| maxRows | No | ||
| metrics | Yes | GA4 metric API names such as sessions, activeUsers, conversions, eventCount, totalRevenue, or engagedSessions. Include explicit numerator and denominator metrics when requesting significance context. | |
| siteUrl | No | ||
| sources | No | ||
| orderBys | No | Optional 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 }]. | |
| pageSize | No | ||
| property | No | Google Analytics property identifier. Accepts a numeric GA4 property ID like 481373915 or a resource name like properties/481373915. | |
| surfaceId | No | Optional analysis surface ID. When omitted, the default surface is used if no explicit selector is provided. | |
| dateRanges | Yes | One or more GA4 date ranges. Use two date ranges for period-over-period comparisons or significance checks. | |
| dimensions | No | Optional 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. | |
| metricMode | No | canonical | |
| propertyId | No | Numeric Google Analytics 4 property ID for website analytics or app analytics. Use this when the user references a GA4 property directly. | |
| sourceMode | No | auto | |
| appStreamId | No | GA4 app or web data stream ID when the request targets a specific app stream or website stream. | |
| significance | No | Optional significance context for GA4 rate comparisons. Use this only when the user asks whether a change is statistically significant or meaningful. | |
| keepEmptyRows | No | ||
| metricFilters | No | ||
| returnAllRows | No | ||
| sourceOptions | No | ||
| dimensionFilters | No | ||
| metricFilterExpression | No | ||
| dimensionFilterExpression | No |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already indicate read-only and open-world behavior. Description adds valuable context: merging of sources aligned on landing_page, passthrough of unknown GA4 names to API, limitations across sources (GA4 lacks query, Search Console lacks sessions), and defaults for sources. No contradiction with annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Description is long but front-loaded with key points. It is well-structured, covering purpose, usage, and technical details. However, it could be more concise; some sentences are dense and may require multiple reads. Earns its place but not optimally concise.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's complexity (27 parameters, no output schema), the description covers many aspects: data sources, merging, dimension restrictions, period-over-period, passthrough. But it lacks output format details and does not explain all parameters. For a complex tool, this is moderately complete but has notable gaps.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is low (37%), so description must compensate. It adds meaning for dateRanges (single vs dual for period-over-period), sources, and sourceMode. But many parameters (e.g., app, site, limit, offset) are not explained beyond their schema definitions. The description partially mitigates the gap but not fully.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description clearly states it is the primary reporting tool for GA4 properties/sites, covering totals, trends, breakdowns, and period-over-period comparisons. It mentions specific metrics and dimensions. However, it does not explicitly differentiate from sibling tools like marketing_get_funnel or marketing_get_sources, though the context implies distinct purposes.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Description implies it is the go-to report tool and suggests narrowing with sources or sourceMode='single' for specific queries. It notes per-source detail stays in sourceSections, hinting at when to use alternate sources. However, it does not explicitly state when to use siblings like get_funnel or get_sources, leaving some ambiguity.
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 sourcesARead-onlyInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| sources | No | ||
| surfaceId | No | default |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint and destructiveHint. The description adds valuable behavioral details about what's 'listed' (connected and missing sources, mappings), helping the agent understand the tool's output without a schema.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is informative and front-loaded with a comprehensive list. Each sentence adds value, though the list could be slightly more structured. No wasted words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no output schema and 2 parameters, the description adequately states the tool's purpose and when to use it. However, it lacks details on output format (JSON? array?) and does not fully describe parameter usage, leaving some gaps for the agent.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%. The description mentions items matching the sources enum (GA4, Search Console, Bing) but does not explain the surfaceId parameter. Key parameter surfaceId is left undocumented, failing to compensate for the missing schema descriptions.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb 'Lists' and enumerates many concrete resource types (GA4 properties, web streams, app streams, etc.), clearly differentiating from sibling tools like marketing_get_catalog or marketing_get_report.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly states 'Use this before reporting when property/site selectors are unknown', providing clear context. While it doesn't say when not to use, the statement implies alternatives exist for known selectors.
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 mappingsBInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| name | No | ||
| action | Yes | ||
| selectors | No | ||
| surfaceId | No | default | |
| mainDomain | No | ||
| selectorSets | No |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already indicate readOnlyHint=false and destructiveHint=false. The description adds behavioral context by naming the two actions (get vs update) and mentioning the specific selector types. However, it lacks detail on side effects (e.g., whether update overwrites or merges) and does not disclose any permission or limitation info beyond the annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is exceptionally concise: two short sentences. The first sentence states the general purpose, and the second gives specific usage instructions for the 'action' parameter. Every word adds value, with no redundancy or filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's complexity (6 parameters, nested objects, no output schema), the description is far from complete. It omits explanations for 'name', 'surfaceId', 'mainDomain', 'selectorSets', and the detailed structure of 'selectors'. While the core action is clear, the agent would lack context for correctly using most parameters.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
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 mentions the 'action' parameter and loosely lists the three selector types (ga4, search_console, bing_webmaster). Key parameters like 'name', 'surfaceId', 'mainDomain', and 'selectorSets' are completely unexplained. The nested structure of 'selectors' is also not described, offering minimal improvement over the bare schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
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 an analysis surface, specifying two distinct actions via the 'action' parameter. It lists the three supported selector types (GA4, Search Console, Bing Webmaster). However, it does not explicitly differentiate from sibling tools like marketing_get_catalog, but the resource focus is distinct enough.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explicitly instructs when to use each action: 'Use action='get' to inspect mappings and action='update' to persist... selectors.' This provides clear context for the two modes. No exclusions or alternative tools are mentioned, but the sibling tools likely serve different purposes (e.g., getting reports, catalogs), so the guidance is adequate.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Claim this connector by publishing a /.well-known/glama.json file on your server's domain with the following structure:
{
"$schema": "https://glama.ai/mcp/schemas/connector.json",
"maintainers": [{ "email": "your-email@example.com" }]
}The email address must match the email associated with your Glama account. Once published, Glama will automatically detect and verify the file within a few minutes.
Control your server's listing on Glama, including description and metadata
Access analytics and receive server usage reports
Get monitoring and health status updates for your server
Feature your server to boost visibility and reach more users
For users:
Full audit trail – every tool call is logged with inputs and outputs for compliance and debugging
Granular tool control – enable or disable individual tools per connector to limit what your AI agents can do
Centralized credential management – store and rotate API keys and OAuth tokens in one place
Change alerts – get notified when a connector changes its schema, adds or removes tools, or updates tool definitions, so nothing breaks silently
For server owners:
Proven adoption – public usage metrics on your listing show real-world traction and build trust with prospective users
Tool-level analytics – see which tools are being used most, helping you prioritize development and documentation
Direct user feedback – users can report issues and suggest improvements through the listing, giving you a channel you would not have otherwise
The connector status is unhealthy when Glama is unable to successfully connect to the server. This can happen for several reasons:
The server is experiencing an outage
The URL of the server is wrong
Credentials required to access the server are missing or invalid
If you are the owner of this MCP connector and would like to make modifications to the listing, including providing test credentials for accessing the server, please contact support@glama.ai.
Discussions
No comments yet. Be the first to start the discussion!