Skip to main content
Glama

ga4_configure

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.

Instructions

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.

Input Schema

NameRequiredDescriptionDefault
nameYesShort label for this property, e.g. "my-app-prod"
key_fileNoAbsolute path to the credentials JSON. Required when auth_type is credentials_file
auth_typeNoHow to authenticate: "adc" uses the machine's Application Default Credentials (gcloud auth application-default login); "credentials_file" uses a service account key or authorized_user JSON at key_file; "access_token" uses a raw OAuth token (expires in about an hour)adc
skip_testNoSave without testing the connection
descriptionNoFree note about this property
property_idNoGA4 property id (numbers only), e.g. "123456789"
access_tokenNoOAuth access token. Required when auth_type is access_token
make_defaultNoUse this property when a tool call names none
quota_projectNoGoogle Cloud project billed for API quota. Needed with adc user credentials; defaults to firebase_project. Not needed for service accounts
firebase_projectNoFirebase project id; used to look up the GA4 property when property_id is not given, e.g. "my-firebase-project"

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv2.1.0

TDQS

A4.3/5.0
Behavior4/5

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

With no annotations, the description carries the full burden and does much of it: it discloses that the connection is validated before saving unless skip_test is true, that re-saving an existing name overwrites it, and lists the exact GCP API and IAM roles required (including an extra Firebase Viewer role when resolving via firebase_project). It never explicitly says the operation mutates persisted state or describes the failure mode when overwriting an in-use name.

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?

Front-loaded with purpose, then inputs, then requirements, then error routing — every sentence carries operational information. The one flaw is the mid-description language switch ("Lector (Viewer) en la propiedad de GA4; con firebase_project, además Firebase Viewer..."), which is inconsistent with the rest and mildly harder to parse.

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 10-parameter, annotation-free mutation tool with no output schema, the description covers the prerequisites, validation behavior, overwrite semantics, and troubleshooting path an agent needs before calling it. It omits what a successful save returns (confirmation, resolved property id) and gives no hint about the defaulting behavior make_default enables beyond the schema text.

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 100%, so the baseline is 3, but the description adds the either/or relationship between property_id and firebase_project plus the fact that the Firebase path performs a lookup, neither of which the schema encodes. It does not add meaning for quota_project, make_default, or key_file beyond what the schema already says.

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?

"Save a GA4 property so every other tool can use it by name, and remember it across sessions" gives a specific verb (save/register), resource (GA4 property), and the resulting effect (named, persisted reference). That clearly separates it from ga4_list_properties, ga4_set_default, and ga4_remove_property, which do not persist a new configuration.

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 states the two mutually exclusive inputs (property_id or firebase_project), how to pick an auth_type, and routes access failures to ga4_check_access and ga4_test_connection. It stops short of explicit negative guidance such as when to prefer ga4_set_default over re-saving with make_default.

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