Revunda: app review complaints
Server Details
Top complaint themes in 1-star reviews of 531 App Store, Google Play and Shopify apps. Read-only.
- Status
- Healthy
- Last Tested
- Transport
- Streamable HTTP · MCP 2025-11-25
- URL
TDQS
Scored across 4 tools
The four tools have clearly distinct query targets: cost calculation, app-specific complaint lookup, covered-app discovery, and theme-level prevalence. The two complaint-focused tools are differentiated by lookup direction: one goes from app to themes, the other from theme to overall/sector/app stats.
Three tools use a verb_noun pattern (estimate_one_star_cost, get_app_complaints, list_covered_apps), but what_users_complain_about is an interrogative phrase rather than an action name. Snake_case is consistent, but the verb convention is mixed.
Four tools is well within the healthy range and each covers a distinct query type for the complaint-analytics domain. The set is focused rather than padded or thin.
The surface covers app discovery, app-specific complaint themes, theme prevalence, and cost estimation, which addresses the core domain. Minor gaps include no raw review retrieval or direct side-by-side app comparison, though existing tools partially compensate.
Available Tools
4 toolsestimate_one_star_costEstimate 1-star reviews and the 5-star ratings neededARead-onlyIdempotentInspect
Same maths as Revunda's 1-star review cost calculator: estimated 1-star reviews per month by complaint theme (sector shares from the 29,785-review study), money exposure if you give a cost per 1-star, 5-star ratings that offset one 1-star, and 5-star ratings needed to reach a target rating. Sectors: parcels, telecom, taxi, energy, news, betting, travel, streaming, insurance, smarthome, banks, shopping, food, health, other.
| Name | Required | Description | Default |
|---|---|---|---|
| rating | No | Optional current average rating. | |
| sector | No | Optional sector key for theme shares and the default 1-star share. | |
| ratings_count | No | Optional current number of ratings. | |
| target_rating | No | Optional target average rating. | |
| cost_per_one_star | No | Optional: your own estimate of what one 1-star review costs you, any currency. | |
| reviews_per_month | No | Total new reviews per month (all star ratings). | |
| one_star_share_pct | No | Optional: your own % of reviews that are 1-star. If omitted, the sector average is used. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The annotations already establish that this is a read-only, idempotent, closed-world calculation. The description adds useful domain context: it is based on Revunda's calculator, uses a 29,785-review study, and derives outputs from sector shares. It does not explain fallback behavior when parameters are omitted, which keeps it below a 5.
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 front-loaded and avoids multiple paragraphs, but it is a single long run-on sentence. The full sector list duplicates the enum in the schema, so part of the text does not earn its place.
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?
There is no output schema, so the description usefully enumerates the calculation outputs and explains the study-based sector context. It is nearly complete, but it omits what happens with no inputs and does not clarify default calculation behavior beyond the schema's note about sector averages.
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 100%, so all seven parameters are already documented in structured form. The description restates the sector list and output concepts, but adds little per-parameter meaning beyond what the schema already provides; baseline 3 is appropriate.
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 names a specific estimation task and enumerates the concrete outputs: 1-star volume by theme, monetary exposure, offset ratio, and ratings needed for a target. It is clear what the tool does, though it does not explicitly distinguish itself from the sibling complaint/app tools.
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?
Usage is implied by the listed outputs and optional inputs, but there is no explicit when-to-use guidance, no prerequisites, and no mention of alternatives. An agent can infer it is for 1-star cost estimation, but must decide for itself when that is appropriate.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_app_complaintsGet an app's top review complaintsARead-onlyIdempotentInspect
Top complaint themes in an app's low-star reviews, with real counts and shares from Revunda's studies, plus a link to the app's Revunda page. Pass an app name (e.g. 'AccuWeather'), an App Store URL or numeric id, a Google Play URL or package name (e.g. 'com.commbank.netbank'), or a Shopify App Store URL or handle (e.g. 'judgeme'). If the app is not covered, returns covered:false and a link to Revunda's free check for any app.
| Name | Required | Description | Default |
|---|---|---|---|
| app | Yes | App name, store URL, App Store numeric id, Google Play package name or Shopify app handle. | |
| store | No | Optional store filter. Default 'any'. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare the safety profile (readOnly, idempotent, non-destructive), so the description's job is to add behavior — and it does: response includes real counts and shares, a Revunda page link, and a covered:false outcome with a redirect link for uncovered apps. What's missing is any hint about latency, coverage limits or how many themes come back.
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-loaded with the value proposition, then the input rules and the failure path. Nothing is wasted, though the second sentence strings four input formats together and could be a touch tighter.
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 no output schema, the description carries the return-value burden and does it partially — themes, counts, shares, page link, covered flag. An agent would still be guessing whether the store filter changes the result set or just disambiguates, but nothing critical is missing for a correct call.
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 coverage is 100%, so the baseline is 3; the description earns the bump by giving concrete example values for the app parameter ('AccuWeather', 'com.commbank.netbank', 'judgeme') that show the accepted formats faster than reading the schema alone. The store enum is left entirely to the schema, which is acceptable.
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?
Opens with a specific verb+resource: 'Top complaint themes in an app's low-star reviews, with real counts and shares.' That clearly separates it from list_covered_apps and estimate_one_star_cost, though it never explicitly names what_users_complain_about, which sounds adjacent.
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?
It gives concrete guidance on accepted input forms and the uncovered-app fallback, which is genuinely useful. But it never states when an agent should pick this over what_users_complain_about or when to set the store filter, so routing between siblings is left implied.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_covered_appsList apps covered by Revunda dataARead-onlyIdempotentInspect
List or search the apps that have complaint data in Revunda's studies. Filter by store, by sector/category (e.g. 'Banks & payments', 'Product reviews') or by a name search. Returns name, store, sample size, top complaint and link.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Max results, default 25. | |
| query | No | Optional name search, e.g. 'bank' or 'uber'. | |
| store | No | Optional store filter. Default 'any'. | |
| sector | No | Optional sector or Shopify category, case-insensitive substring match. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly, idempotent, non-destructive, closed-world, so the safety profile is covered. The description adds genuinely new behavioral context by enumerating the return payload (name, store, sample size, top complaint, link), which matters since no output schema exists. It doesn't mention pagination or how limit interacts with total results, keeping it below 5.
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?
Three compact sentences: purpose first, filter options second, return payload last. No filler, no redundancy with the schema, and the most important information is front-loaded.
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?
For a low-risk, annotation-covered, zero-required-parameter list tool this covers purpose, filterable dimensions, and return shape. The remaining gap is behavioral detail on result volume (pagination, what happens when limit truncates results), which the description never addresses.
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 coverage is 100%, so the baseline is 3, but the description adds real value beyond the schema by giving concrete sector/category example values ('Banks & payments', 'Product reviews') that clarify what string to pass. It does not explain the store enum values or limit behavior beyond what the schema already documents.
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?
States a specific verb+resource ('List or search the apps that have complaint data in Revunda's studies') and names the scope of the dataset. It is clearly distinguishable from get_app_complaints and what_users_complain_about by being the discovery/catalog step, though it never names those siblings explicitly.
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 explains the available filters but gives no explicit when-to-use guidance, no mention of the sibling tools, and no statement of what to call next (e.g. get_app_complaints for a chosen app). Usage is only implied by the word 'search' and the returned fields.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
what_users_complain_aboutComplaint theme statisticsARead-onlyIdempotentInspect
How often a complaint theme appears in 1-star reviews overall and by sector, and which apps get it most. App stores themes: login (Login & account access), crash (Crashes & won’t open), slow (Slow, loading & lag), update (Broke after an update), support (Customer service), billing (Charges, fees & refunds), payment (Payment or checkout fails), ux (Redesign & confusing UI), ads (Ads), notif (Notifications & alerts). Shopify App Store themes (market='shopify'): support (Slow or no support), bugs (Bugs & broke the store), billing (Charges & refunds), after_uninstall (Charged after uninstalling/cancelling), price_change (Price increases & plan changes), missing (Missing features & limits), slow (Slow store & app speed), leftover (Code left after uninstall), scam (Called it a scam or misleading), expensive (Too expensive for what it does), hard (Hard to use or set up), lockin (Export, import & migration pain), sync (Sync, orders & inventory errors). Omit theme to get the ranking of all themes.
| Name | Required | Description | Default |
|---|---|---|---|
| theme | No | Theme key or words, e.g. 'login', 'ads', 'refund', 'crash'. Optional. | |
| market | No | 'app_stores' (App Store + Google Play, default) or 'shopify'. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover read-only/idempotent safety, so the description's job is added context — and it delivers the theme taxonomy, the sector dimension, and the 'which apps get it most' output shape. It does not mention anything about pagination or result limits, which is the only real gap.
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?
Purpose is front-loaded in the first sentence, then the dense theme lists follow, which is the right ordering. The enumeration is long but each entry is load-bearing since the keys are arbitrary shorthand that cannot be guessed.
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?
There is no output schema, so the description must convey return shape — and it does: frequency overall, frequency by sector, and top apps per theme. Combined with the full theme key vocabulary for both markets, an agent has everything needed to call this correctly.
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 coverage is 100%, but the schema only says 'theme key or words, e.g. login, ads, refund, crash' — the description adds the complete enumerated key list for each market with human-readable glosses, which is information an agent could not derive from the schema alone. The market parameter's two modes are also explained.
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 opening sentence gives a precise verb-and-resource framing: frequency of a complaint theme in 1-star reviews, broken down overall, by sector, and by top apps. This is clearly distinct from get_app_complaints (per-app complaints) and estimate_one_star_cost, and the two-market split is stated up front.
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 final line, 'Omit theme to get the ranking of all themes,' gives explicit conditional guidance for the optional parameter, and the per-market theme vocabularies tell the agent which values are valid in which mode. It stops short of naming siblings as alternatives, but the usage context is unambiguous.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
4 tool updates
- First observed
estimate_one_star_cost - First observed
get_app_complaints - First observed
list_covered_apps - First observed
what_users_complain_about
Related MCP Connectors
App Store + Google Play reviews: top complaints, what got worse by version, cross-store comparisons.
What users hate about ANY iOS/Android app: clustered complaints, evidence, trends. No key needed.
Analyze App Store and Google Play reviews: themes that cost stars, regressions, feature requests.
App Store + Google Play reviews with per-app complaint summary for agents.
Related MCP Servers
- AlicenseAqualityAmaintenanceMines public App Store and Steam reviews to surface the complaints, rating drops per version, and common pain points across one app or a set of competitors, with no API keys required. Enables natural-language comparison of up to eight apps or games by country and category so users can spot product opportunities and gaps.426 PyPIMIT
- FlicenseNot gradedqualityCmaintenanceAutomates ingestion and analysis of Google Play Store reviews, clustering them into themes with quotes and action ideas, and delivers a weekly pulse note through Google Docs and Gmail.-
- FlicenseNot gradedqualityDmaintenanceEnables automated ingestion of App Store/Play Store reviews, synthesis of themes and actions, and publishing to Google Docs and Gmail drafts via Google Workspace MCP.-
- AlicenseAqualityDmaintenanceEnables querying Shopify App Store intelligence including 17,000+ apps, 829,000+ reviews, category rankings, and AI-analyzed review sentiment, with optional integration of user's own app metrics.9MIT
Glama MCP Gateway
Add one secure layer between your agents and this server.