Skip to main content
Glama

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault
GA4_MCP_CONFIGNoOverride the config file path (default: ~/.config/ga4-mcp/config.json)
GA4_PROPERTIESNoRead-only GA4 properties configuration
GA4_PROPERTY_IDNoRead-only GA4 property ID
GA4_QUOTA_PROJECTNoRead-only GCP quota project

Instructions

Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.

This server publishes no instructions, or was last inspected before Glama recorded them.

Capabilities

Features and capabilities supported by this server

Protocol revision2025-11-25

CapabilityDetails
tools
{
  "listChanged": true
}

Tools

Functions exposed to the LLM to take actions

NameDescription
ga4_configureA

Save a GA4 property so every other tool can use it by name, and remember it across sessions. Give either property_id or firebase_project (the linked GA4 property is looked up). Choose how to authenticate with auth_type. The connection is tested before saving, unless skip_test is true. Saving an existing name replaces it. Requires: Google Analytics Data API (analyticsdata.googleapis.com) enabled on the quota project; Lector (Viewer) en la propiedad de GA4; con firebase_project, además Firebase Viewer en ese proyecto. If it fails for access, the error explains how to fix it; ga4_check_access checks everything at once.

ga4_list_propertiesA

List the GA4 properties this server remembers: name, property id, Firebase project, quota project, how it authenticates (secrets masked) and which one is the default.

ga4_set_defaultA

Choose which saved GA4 property tools use when a call names none.

ga4_remove_propertyA

Forget a saved GA4 property. Properties that come from environment variables can't be removed here.

ga4_test_connectionA

Check that a saved property's credentials can read its GA4 data: returns active users and events for the last 7 days, or the API error. Requires: Google Analytics Data API (analyticsdata.googleapis.com) enabled on the quota project; Lector (Viewer) en la propiedad de GA4. If it fails for access, the error explains how to fix it; ga4_check_access checks everything at once.

ga4_property_from_firebaseA

Find the GA4 property linked to a Firebase project, with the data stream for each Android and iOS app. Use it before ga4_configure when you only know the Firebase project. Requires: Firebase Management API (firebase.googleapis.com) enabled on the quota project; Firebase Viewer (o Lector) en el proyecto de Firebase. If it fails for access, the error explains how to fix it; ga4_check_access checks everything at once.

ga4_firebase_appsA

List the Android, iOS and web apps of a Firebase project, with their app ids, package names and bundle ids. Requires: Firebase Management API (firebase.googleapis.com) enabled on the quota project; Firebase Viewer (o Lector) en el proyecto de Firebase. If it fails for access, the error explains how to fix it; ga4_check_access checks everything at once.

ga4_check_accessA

Check, for a saved property, which Google APIs are enabled and reachable (Data API, Admin API, Firebase Management API) and whether the credentials can write (analytics.edit scope). Returns which tools work, which are blocked, and the exact steps to unblock each. Call it before using Admin tools (custom dimensions, streams, key events...) or when a tool fails for access.

ga4_metadataA

List the dimensions and metrics available in the GA4 property, including custom event parameters registered as custom dimensions (customEvent:*). Use before ga4_run_report to find valid API names. Requires: Google Analytics Data API (analyticsdata.googleapis.com) enabled on the quota project; Lector (Viewer) en la propiedad de GA4. If it fails for access, the error explains how to fix it; ga4_check_access checks everything at once.

ga4_check_compatibilityA

Check which dimensions and metrics can be combined in one report. Pass the ones you plan to use; the answer marks each as COMPATIBLE or INCOMPATIBLE and lists what else fits. Requires: Google Analytics Data API (analyticsdata.googleapis.com) enabled on the quota project; Lector (Viewer) en la propiedad de GA4. If it fails for access, the error explains how to fix it; ga4_check_access checks everything at once.

ga4_run_reportA

Run any GA4 Data API report. Dimensions and metrics use API names (see ga4_metadata), e.g. dimensions ["eventName","platform"], metrics ["eventCount","totalUsers"]. Filters and orderBys use the Data API JSON shape. Requires: Google Analytics Data API (analyticsdata.googleapis.com) enabled on the quota project; Lector (Viewer) en la propiedad de GA4. If it fails for access, the error explains how to fix it; ga4_check_access checks everything at once.

ga4_batch_reportsA

Run up to 5 reports in one call (Data API batchRunReports). Each request uses the raw RunReportRequest JSON shape: dateRanges, dimensions, metrics, dimensionFilter, orderBys, limit… Requires: Google Analytics Data API (analyticsdata.googleapis.com) enabled on the quota project; Lector (Viewer) en la propiedad de GA4. If it fails for access, the error explains how to fix it; ga4_check_access checks everything at once.

ga4_pivot_reportA

Pivot table report (Data API runPivotReport): rows and columns from different dimensions, e.g. platform across columns and eventName down rows. Each pivot lists its fieldNames and limit. Requires: Google Analytics Data API (analyticsdata.googleapis.com) enabled on the quota project; Lector (Viewer) en la propiedad de GA4. If it fails for access, the error explains how to fix it; ga4_check_access checks everything at once.

ga4_realtime_reportA

Realtime report for the last 30 minutes (Data API runRealtimeReport). Realtime has its own, smaller set of fields: dimensions like eventName, platform, country, city, unifiedScreenName, appVersion, minutesAgo; metrics activeUsers, eventCount, screenPageViews, keyEvents. Requires: Google Analytics Data API (analyticsdata.googleapis.com) enabled on the quota project; Lector (Viewer) en la propiedad de GA4. If it fails for access, the error explains how to fix it; ga4_check_access checks everything at once.

ga4_event_countsA

Event count and unique users for a list of events (or every event starting with a prefix), optionally over time (day, ISO week or month) and split by one more dimension such as platform or country. Unique users are deduplicated within each period, so they cannot be summed across periods. Requires: Google Analytics Data API (analyticsdata.googleapis.com) enabled on the quota project; Lector (Viewer) en la propiedad de GA4. If it fails for access, the error explains how to fix it; ga4_check_access checks everything at once.

ga4_top_eventsA

Most frequent events in a period, with event count, unique users and events per user. Optionally only events starting with a prefix. Requires: Google Analytics Data API (analyticsdata.googleapis.com) enabled on the quota project; Lector (Viewer) en la propiedad de GA4. If it fails for access, the error explains how to fix it; ga4_check_access checks everything at once.

ga4_compare_periodsA

Compare two date ranges side by side: each row gets the metric in the current period, the previous period, and the relative change. Good for week over week or month over month. Requires: Google Analytics Data API (analyticsdata.googleapis.com) enabled on the quota project; Lector (Viewer) en la propiedad de GA4. If it fails for access, the error explains how to fix it; ga4_check_access checks everything at once.

ga4_active_usersA

Daily active users with their 7-day and 28-day rolling counts (DAU, WAU, MAU) and stickiness ratios, optionally split by platform or another dimension. Requires: Google Analytics Data API (analyticsdata.googleapis.com) enabled on the quota project; Lector (Viewer) en la propiedad de GA4. If it fails for access, the error explains how to fix it; ga4_check_access checks everything at once.

ga4_cohort_retentionA

Weekly or monthly retention of first-time users: one cohort per week (or month) of first visit, with active users in each following period and the share retained. Requires: Google Analytics Data API (analyticsdata.googleapis.com) enabled on the quota project; Lector (Viewer) en la propiedad de GA4. If it fails for access, the error explains how to fix it; ga4_check_access checks everything at once.

ga4_screen_viewsB

App screens (or web pages) by views, users and engagement time. Optionally only screens whose name contains a text. Requires: Google Analytics Data API (analyticsdata.googleapis.com) enabled on the quota project; Lector (Viewer) en la propiedad de GA4. If it fails for access, the error explains how to fix it; ga4_check_access checks everything at once.

ga4_acquisitionA

Where new users come from: first-user source, medium and campaign, with new users, active users and key events. Requires: Google Analytics Data API (analyticsdata.googleapis.com) enabled on the quota project; Lector (Viewer) en la propiedad de GA4. If it fails for access, the error explains how to fix it; ga4_check_access checks everything at once.

ga4_tech_breakdownA

Users and events by platform, app version, operating system version or device model; optionally only for some events. Useful to spot a version or device where a step fails. Requires: Google Analytics Data API (analyticsdata.googleapis.com) enabled on the quota project; Lector (Viewer) en la propiedad de GA4. If it fails for access, the error explains how to fix it; ga4_check_access checks everything at once.

ga4_funnelA

Sequential funnel over GA4 events (Data API runFunnelReport, v1alpha): counts users who completed each step in order, with completion and abandonment rates per step. Optionally broken down by a dimension such as platform. The endpoint is alpha and can return user counts that disagree with ga4_event_counts for the same events and dates (for example more users at a step than ever fired its event): cross-check before reporting. Requires: Google Analytics Data API (analyticsdata.googleapis.com) enabled on the quota project; Lector (Viewer) en la propiedad de GA4. If it fails for access, the error explains how to fix it; ga4_check_access checks everything at once.

ga4_step_conversionA

Funnel built from unique users per event (not sequential): for each event in order, users, share of the first step and share kept from the previous step, optionally split by a dimension such as platform. Reliable where ga4_funnel's alpha counts are not, but a user can count at a later step without having done the earlier ones. Requires: Google Analytics Data API (analyticsdata.googleapis.com) enabled on the quota project; Lector (Viewer) en la propiedad de GA4. If it fails for access, the error explains how to fix it; ga4_check_access checks everything at once.

ga4_account_summariesA

List every Google Analytics account and property these credentials can access, with property ids and names. Useful to find the property id to configure. Requires: Google Analytics Admin API (analyticsadmin.googleapis.com) enabled on the quota project; cualquier rol en al menos una cuenta de GA4. If it fails for access, the error explains how to fix it; ga4_check_access checks everything at once.

ga4_property_detailsA

Property settings: display name, time zone, currency, industry, service level and creation date. Requires: Google Analytics Admin API (analyticsadmin.googleapis.com) enabled on the quota project; Lector (Viewer) en la propiedad de GA4. If it fails for access, the error explains how to fix it; ga4_check_access checks everything at once.

ga4_data_streamsB

Data streams of the property: one per Android app, iOS app or website, with package name, bundle id or URL. Requires: Google Analytics Admin API (analyticsadmin.googleapis.com) enabled on the quota project; Lector (Viewer) en la propiedad de GA4. If it fails for access, the error explains how to fix it; ga4_check_access checks everything at once.

ga4_custom_dimensionsB

Event and user parameters registered as custom dimensions. Only these parameters can be used in reports, as customEvent: or customUser:. Requires: Google Analytics Admin API (analyticsadmin.googleapis.com) enabled on the quota project; Lector (Viewer) en la propiedad de GA4. If it fails for access, the error explains how to fix it; ga4_check_access checks everything at once.

ga4_custom_metricsB

Numeric event parameters registered as custom metrics, usable in reports as customEvent:. Requires: Google Analytics Admin API (analyticsadmin.googleapis.com) enabled on the quota project; Lector (Viewer) en la propiedad de GA4. If it fails for access, the error explains how to fix it; ga4_check_access checks everything at once.

ga4_create_custom_dimensionA

Register an event parameter (for example destination) as a custom dimension so reports can use it as customEvent:. This changes the property for everyone. Data is only available from the day it is registered, not before. Needs the Editor role and the analytics.edit scope. Requires: Google Analytics Admin API (analyticsadmin.googleapis.com) enabled on the quota project; Editor en la propiedad de GA4; OAuth scope analytics.edit. If it fails for access, the error explains how to fix it; ga4_check_access checks everything at once.

ga4_key_eventsB

Events marked as key events (formerly conversions) in the property. Requires: Google Analytics Admin API (analyticsadmin.googleapis.com) enabled on the quota project; Lector (Viewer) en la propiedad de GA4. If it fails for access, the error explains how to fix it; ga4_check_access checks everything at once.

ga4_audiencesB

Audiences defined in the property, with their membership rules. Requires: Google Analytics Admin API (analyticsadmin.googleapis.com) enabled on the quota project; Lector (Viewer) en la propiedad de GA4. If it fails for access, the error explains how to fix it; ga4_check_access checks everything at once.

ga4_bigquery_linksA

BigQuery export links of the property: target project, daily or streaming export, and which streams are exported. Raw event data with every parameter lives there. Requires: Google Analytics Admin API (analyticsadmin.googleapis.com) enabled on the quota project; Lector (Viewer) en la propiedad de GA4. If it fails for access, the error explains how to fix it; ga4_check_access checks everything at once.

ga4_firebase_linksB

Firebase projects linked to the property. Requires: Google Analytics Admin API (analyticsadmin.googleapis.com) enabled on the quota project; Lector (Viewer) en la propiedad de GA4. If it fails for access, the error explains how to fix it; ga4_check_access checks everything at once.

ga4_data_retentionB

How long GA4 keeps event-level and user-level data for explorations. Requires: Google Analytics Admin API (analyticsadmin.googleapis.com) enabled on the quota project; Lector (Viewer) en la propiedad de GA4. If it fails for access, the error explains how to fix it; ga4_check_access checks everything at once.

ga4_change_historyA

Recent configuration changes in the property: who changed what and when (Admin API searchChangeHistoryEvents). Requires: Google Analytics Admin API (analyticsadmin.googleapis.com) enabled on the quota project; Editor o Administrador en la cuenta de GA4; OAuth scope analytics.edit. If it fails for access, the error explains how to fix it; ga4_check_access checks everything at once.

Prompts

Interactive templates invoked by user choice

NameDescription

No prompts

Resources

Contextual data attached and managed by the client

NameDescription

No resources

TDQS

A3.6/5.0

Scored across 36 tools

Disambiguation4/5

Most tools target clearly distinct GA4 surfaces (top events vs. realtime vs. pivot vs. batch reports; custom dimensions vs. custom metrics; list vs. create dimension). A few pairs are genuinely close — ga4_top_events vs. ga4_event_counts, ga4_funnel vs. ga4_step_conversion, ga4_check_access vs. ga4_test_connection, and the three Firebase tools (property_from_firebase / firebase_apps / firebase_links) — but the descriptions explicitly cross-reference and differentiate them, which mitigates the risk.

Naming Consistency4/5

All 36 tools share a uniform ga4_ prefix and snake_case, so the family is immediately recognizable. Most names are noun-phrase report/resource names (ga4_active_users, ga4_audiences, ga4_data_streams) while a handful use verb_noun (ga4_create_custom_dimension, ga4_list_properties, ga4_run_report, ga4_configure); the mix is readable but not a single strict verb_noun pattern.

Tool Count3/5

36 tools is heavy for one server and well past the comfortable 3-15 range, partly because many convenience wrappers (top_events, event_counts, active_users, acquisition, tech_breakdown, screen_views, cohort_retention, compare_periods, step_conversion) are thin specializations of ga4_run_report. The breadth of GA4 Data + Admin + Firebase + connection-management domains justifies a large surface, but consolidation would make selection easier.

Completeness4/5

Reporting coverage is excellent — generic, batch, pivot, realtime, funnel, cohort, and many prebuilt reports — and admin read coverage spans properties, streams, audiences, key events, links, retention, and change history. The main gap is write/CRUD depth: only custom dimension creation exists, with no update/delete of dimensions, key events, or streams, though connection setup, access diagnostics, and metadata discovery are all present.

Maintenance

ActivityMaintained
ResponsivenessNo issues