Skip to main content
Glama

Get PWA retention

get_pwa_retention
Read-onlyIdempotent

PWA install cohorts & retention: per-cohort day-N (or week-N) retention matrix, aggregate retention/LTV curve, DAU/WAU/MAU, open rate, CPI/ARPU/ARPPU. Cohorts = PWA installs in the period; opens are followed up to today. Cells for days a cohort has not reached yet are null.

Input Schema

NameRequiredDescriptionDefault
osNo
ispNo
pwaNoPWA id
cityNo
siteNoPlacement / zone id as passed by the ad network
sub1NoFilter by sub1
sub2NoFilter by sub2
sub3NoFilter by sub3
sub4NoFilter by sub4
sub5NoFilter by sub5
sub6NoFilter by sub6
sub7NoFilter by sub7
sub8NoFilter by sub8
sub9NoFilter by sub9
userNoWorkspace member id(s), comma-separated — the campaign owner at click time (needs the "See statistics per team member" permission; ignored otherwise)
offerNoOffer id
sub10NoFilter by sub10
sub11NoFilter by sub11
sub12NoFilter by sub12
sub13NoFilter by sub13
sub14NoFilter by sub14
sub15NoFilter by sub15
deviceNomobile / tablet / desktop
periodNoReporting period (default 7days). Use 'custom' with date_from/date_to.
sourceNoTraffic source id
browserNo
countryNoCountry ISO alpha-2 code, e.g. ES
date_toNoYYYY-MM-DD (with period=custom)
horizonNoDays/weeks after install to return (default 30 / 12, max 90 / 26)
landingNoLanding id
campaignNoCampaign ALIAS (the short code, not the numeric id)
creativeNoCreative id from the click URL
languageNo
pwa_tagsNoComma-separated tag ids — pwas carrying any of them
referrerNo
utm_termNoExact utm_term value from the click URL
date_fromNoYYYY-MM-DD (with period=custom)
pwa_groupNoPwa group id
smartlinkNoSmartlink id
source_idNoSource id as passed by the ad network
offer_tagsNoComma-separated tag ids — offers carrying any of them
utm_mediumNoExact utm_medium value from the click URL
utm_sourceNoExact utm_source value from the click URL
ad_campaignNoThe ad network's own campaign id (external_campaign_id)
aff_networkNoAffiliate network id
granularityNoCohort granularity (default day)
offer_groupNoOffer group id
source_tagsNoComma-separated tag ids — sources carrying any of them
unique_onlyNoCount unique clicks only
utm_contentNoExact utm_content value from the click URL
exclude_botsNoExclude bot traffic (bots are counted by default)
landing_tagsNoComma-separated tag ids — landings carrying any of them
source_groupNoSource group id
utm_campaignNoExact utm_campaign value from the click URL
campaign_tagsNoComma-separated tag ids — campaigns carrying any of them
landing_groupNoLanding group id
campaign_groupNoCampaign group id
smartlink_tagsNoComma-separated tag ids — smartlinks carrying any of them
connection_typeNo
smartlink_groupNoSmartlink group id

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A3.5/5.0
Behavior4/5

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

Annotations already establish read-only, idempotent, non-destructive, closed-world behavior, so the bar is lower. Beyond that, the description adds genuine data semantics: cohorts are PWA installs within the period, opens are tracked forward to today, and not-yet-reached cells are null rather than zero — important to avoid misreading the matrix. It omits permission requirements and any row/cell 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?

Two sentences, front-loaded with the output inventory, then the cohort/null semantics. The metric list is dense but each item maps to a real returned field, and nothing is redundant given the absence of an output schema. Minor cost is that the metric enumeration reads as a crammed list rather than structured output description.

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?

There is no output schema, so the description effectively serves as the return-value contract, and it does so well by naming every metric group plus the null-cell convention. What is missing for a 60-parameter analytics tool is anything about output shape (matrix dimensions, aggregation rules beyond cohorts) or limits on horizon/cohort count.

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

Parameters3/5

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

With 88% schema description coverage across 60 params, the schema carries parameter documentation and the baseline is 3. The description adds interpretive context only indirectly — the day-N/week-N phrasing hints at the granularity/horizon interplay, and 'cohorts = PWA installs in the period' clarifies the period param — but it never explains filters, defaults, or how filters interact with cohort 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 names the resource and enumerates the exact metrics returned (per-cohort day-N/week-N retention matrix, aggregate retention/LTV curve, DAU/WAU/MAU, open rate, CPI/ARPU/ARPPU), so an agent knows precisely what this returns. It does not, however, distinguish itself from siblings such as get_cohorts, get_statistics, or get_push_analytics, which an agent could plausibly confuse it with.

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?

There is no explicit when-to-use guidance, no when-not-to-use, and no named alternative among the many overlapping analytics siblings (get_cohorts, get_statistics, get_report). Usage is only implied by the tool name and the list of metrics, leaving the agent to guess whether this or get_cohorts is the right call.

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

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources