Skip to main content
Glama

Get reviews

rivioo_get_reviews
Read-onlyIdempotent

Returns a page of full reviews of one app: reviews, not counts. To count how many reviews mention a theme, use rivioo_search_reviews. Every review has a review_id, and a url when the store has one (App Store reviews have no per-review link), to cite when quoting. App Store results are per country. Google Play results are per language, from all countries: the country picks the languages (English plus its main language). Pass review_ids (from rivioo_search_reviews) to read those reviews, or a window with filters to read reviews newest first. response_format concise returns id, rating, date, version, title, body and url; detailed adds language and developer reply. Each review uses one review of quota the first time it reaches this account in 30 days; reading it again in that time is free. Pass next_cursor with the same arguments for the next page.

Input Schema

NameRequiredDescriptionDefault
daysNoWindow of this many days ending now. Defaults to 30. Use posted_from instead for exact dates.
limitNoReviews per page, newest first. Default 25.
storeYes'ios' for the App Store or 'android' for Google Play.
app_idYesNumeric App Store id (such as 324684580) or Google Play package name (such as com.spotify.music), from rivioo_my_apps or rivioo_find_app.
cursorNonext_cursor from the previous call, with the same arguments, for the next page.
countryNoTwo-letter storefront country such as us or gb. For the App Store it picks the country's reviews; for Google Play it picks the review languages (English plus the country's main language), read from all countries. Optional for saved apps, which use the user's default country.
ratingsNoOnly these star ratings, such as [1, 2].
review_idsNoRead exactly these reviews. Window and filters are ignored.
app_versionNoOnly reviews of this exact app version.
posted_fromNoWindow start, inclusive, in UTC unless an offset is given. Use instead of days.
max_age_hoursNoReuse reviews collected within this many hours; older data is collected again automatically (newest reviews only). Default 24.
posted_beforeNoWindow end, exclusive. Defaults to now.
response_formatNoconcise
has_developer_replyNotrue for reviews the developer replied to, false for reviews without a reply.

Output Schema

NameRequiredDescriptionDefault
appYes
notesYesShort facts about this result: what the reviews cover, whether the sample is small, what the counts mean and how reviews are identified.
quotaYes
cachedYestrue when the results come from reviews collected before this call.
statusYesfresh: collected during this call. cached: held reviews within max_age_hours. collecting: a collection is still running and results are partial. stale: older than max_age_hours. collection_failed: the latest collection failed.
windowYes
reviewsYes
coverageYes
warningsYes
collectionYes
next_cursorYes
collected_atYesWhen the held reviews were last collected, UTC.
max_age_hoursYes
not_found_review_idsYes
not_shown_review_idsYes
total_matching_reviewsYesReviews in the window matching the filters, or the IDs found.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4.8/5.0
Behavior5/5

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

Annotations already cover the safe-read profile, and the description still adds substantial behavior: per-review quota cost (one per review per 30 days, free on re-read), App Store per-country vs Google Play per-language-from-all-countries semantics, and conditional url availability. This is exactly the context annotations cannot convey.

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 and the sibling distinction, and nearly every sentence carries non-obvious information (quota, platform semantics, pagination). It is dense and runs long, though, with several ideas packed per sentence that bullet points would have surfaced faster.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a 14-parameter tool with an output schema, the description covers everything an agent needs: two input modes, pagination contract, platform scoping, quota economics, and response_format effects. Nothing material is left to inference.

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 93%, so the schema carries most parameter meaning (baseline 3). The description adds value above that base: review_ids should come from rivioo_search_reviews, next_cursor must be passed with the same arguments, and response_format's concise vs detailed field lists are spelled out.

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?

States a specific verb+resource (returns a page of full reviews of one app) and immediately distinguishes itself from rivioo_review_stats with 'reviews, not counts'. The sibling routing sentence makes the boundary crisp without opening any other schema.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicit when-to-use: use rivioo_search_reviews to count theme mentions, use this to read full reviews. It also names the two operating modes (review_ids for known reviews vs a window with filters for newest-first) and how to page with next_cursor using the same arguments.

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