Skip to main content
Glama

Import every review from a review page

import_from_url

Our server fetches EVERY review (all pages, with reviewer photos and review images) from a public review page and imports them into a space, exact words, duplicates skipped. Works directly, with no token, for G2, Yelp, Google Maps, Google Play, Facebook, Amazon and the App Store (full history: our server runs a scraper on testimonials.ltd's own account, within a monthly review allowance per account), the Chrome Web Store and the Shopify App Store. For Capterra, Trustpilot, Tripadvisor, Product Hunt and Clutch it answers status "use_another_route" with what to do instead (Claude's own fetch, or an optional apify_token from the user's own Apify account), as it does when the monthly allowance is used up. Large imports take several calls: each call works for about 40 seconds and returns progress ("Imported N of M total reviews") and a job_id; call again with just job_id until status is "done". Use preview=true first to show the user the source, total and a sample.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
urlNoPublic review page, app store or Maps link
stopNo
job_idNoContinue (or with stop=true, stop) an earlier import
methodNoauto
statusNoapproved
previewNoOnly read the first page and return total + sample; imports nothing
space_idNoSpace id, slug or name. Optional when the account has one space.
countriesNoApp Store storefront codes to include (default: the link's country plus the largest storefronts), or ["all"]
min_ratingNoLeave out reviews below this many stars
apify_tokenNoOptional: the user's own Apify API token (never stored), billed to their Apify account. Not needed for G2, Yelp, Google Maps, Google Play, Facebook, Amazon or the App Store unless the monthly allowance is used up. When used, pass it again on every job_id call.
copy_imagesNo
max_reviewsNoOptional cap; default is everything
low_rating_statusNoStatus for 1 to 3 star reviews (e.g. pending), overriding status

Schema Changelog

Changes observed during successful MCP inspections.

No schema history has been recorded yet.

TDQS

A4.5/5.0
Behavior5/5

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

Annotations only declare the generic profile (non-readonly, open-world, non-idempotent, non-destructive), while the description adds substantial behavior: duplicates are skipped, exact words are preserved, no token is needed for the primary sources, there is a monthly per-account allowance, each call runs ~40 seconds and returns a job_id plus progress, and the apify_token is never stored and is billed to the user. This is exactly the extra context annotations cannot carry.

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?

The core behavior is front-loaded in the first sentence, followed by source coverage, the async job flow, and the preview recommendation. It is dense with parentheticals and slightly run-on, but nearly every clause carries operational information rather than filler.

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 13-parameter, zero-required tool with no output schema, the description covers the calling workflow (preview then job_id loop), the progress/status return format, and the allowance/alternative-source behavior. What is not covered is minor (exact response fields, full source-by-source matrix), and annotations carry the safety profile, so an agent has enough to invoke it correctly.

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 69%, and the description adds real meaning beyond it: the job_id continuation/stop loop, what preview=true returns (source, total, sample) and that it imports nothing, the semantics of apify_token and its persistence across job_id calls, and low_rating_status overriding status for 1-3 star reviews. It leaves method, countries, min_rating, copy_images, and max_reviews to the schema, but adds clear value on the non-obvious parameters.

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?

The description states a specific verb+resource (fetch/import reviews from a public review page into a space) and enumerates the exact sources supported, distinguishing it from the generic sibling import_testimonials. An agent knows immediately what this tool does and its scope.

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 gives concrete workflow guidance: run preview=true first, pass apify_token only for the listed second-tier sources or when the allowance is exhausted, and expect use_another_route with an alternative (Claude's own fetch). It does not explicitly contrast against the sibling import_testimonials, so it falls just short of a full when/when-not/alternatives statement.

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