mcp-review-platform-reputation-enricher
Look up a company's Trustpilot reputation from its domain and return one flat, Clay-ready enrichment row.
Resolve a bare
company_domainto a Trustpilot business unit/profile.Return TrustScore, star score, review count, 1–5 star breakdown, claimed/verified status, and Trustpilot categories.
Set
minReviewCount(none,10,50,100,500) to mark whetherrating_is_meaningful.Cache successful lookups for seven days by default, or force fresh fetches with
skipCache.Carry
company_namethrough for table joins.Include G2, Capterra, and Glassdoor as explicit
skippedstatus columns; v1 queries Trustpilot only.Distinguish empty outcomes:
blocked,not_found,not_extractable, andskipped.Read-only; requires an
APIFY_TOKEN, and per schema requires the caller's own Trustpilot API key; consumes Apify credits.
Resolves a company domain to its Trustpilot business unit and returns TrustScore, star rating, review counts, one-to-five star breakdown, claimed and verified status, and categories via Trustpilot's Business Units API.
Review Platform Reputation Enricher MCP Server
An MCP server that resolves a company domain to its Trustpilot rating, review count and claimed status. It wraps the Mamba Labs Trustpilot Reputation Enricher actor on Apify and returns a Clay-ready flat JSON row to any MCP client.
What's Inside
Related MCP server: mcp-legal-entity-resolver
What it does
Give it a Trustpilot business unit id, or a company domain, and it returns the TrustScore, review count, star score, and the one to five star breakdown. One flat row per company. By default it reads Trustpilot's public TrustBox data endpoint, which Trustpilot's robots.txt allows. No Trustpilot API key is needed.
The business unit id is the reliable route: supplied, it always resolves. A domain alone resolves only when the company's own site embeds a Trustpilot widget, so most domains come back not_found without the id. A row's trustpilot_business_id can be fed back as the id on a later call. Setting publicPageAccess to unblocker reads Trustpilot's public company page through Apify Unblocker instead, which resolves a domain with no id and adds categories, claimed status, and verification. Trustpilot's robots.txt disallows those pages to automated agents, so that route is your call, and it spends Unblocker units from your own Apify account.
The tool keeps four kinds of empty apart: a refused request reports blocked, a domain with no business unit reports not_found, a value nobody could read reports not_extractable, and a source that was never queried reports skipped. G2, Capterra and Glassdoor ship as explicit skipped status columns, so the row shape does not change when a source is added.
All of the lookup runs on Apify. This package is a thin client that calls the actor and hands back the result unchanged.
Quick start
You need Node.js 18 or newer and an Apify account with an API token.
Add this to your Claude Desktop config:
{
"mcpServers": {
"mamba-review-platform-reputation-enricher": {
"command": "npx",
"args": ["-y", "@mambalabsdev/mcp-review-platform-reputation-enricher"],
"env": {
"APIFY_TOKEN": "your-apify-token"
}
}
}
}Get your token at https://console.apify.com/account/integrations, paste it in, and restart Claude Desktop. The get_trustpilot_reputation tool will be available.
Prerequisites
Node.js 18 or newer
An Apify account with an API token
Example prompts
"Get the Trustpilot rating for the business unit 4992d8e10000640005041a9a."
"What is the star breakdown for this company on Trustpilot?"
"Look up this domain's Trustpilot reputation and flag it only if it has at least 100 reviews."
"Is this company's Trustpilot profile claimed and verified? Use the public page route."
Inputs
company_domain(optional): bare company domain, for examplemonzo.com. Used to look for a Trustpilot business unit id in the company's own widget embed. SupplyingtrustpilotBusinessUnitIdinstead skips this step and always resolves.company_name(optional): carried through to the output row for joining. The lookup is keyed on the business unit id, so the name never changes which business is returned.trustpilotBusinessUnitId(optional): the 24 character Trustpilot business unit id, for example57da77be0000ff000594bcdb. The fastest and most reliable input. Find it in the page source of any site running a Trustpilot widget, asdata-businessunit-id, or reusetrustpilot_business_idfrom an earlier row.publicPageAccess(optional):off(the default) orunblocker.unblockerreads Trustpilot's public company page through Apify Unblocker, which resolves a domain with no id and adds categories, claimed status, and verification. A row resolved this way chargespublic-page-profile-returnedinstead ofreputation-resolved, never both.minReviewCount(optional): one ofnone,10,50,100or500. It setsrating_is_meaningfulon the row. A 5.0 rating from two reviews and a 4.2 from nine hundred are not comparable numbers, and this is the column that says which one you are looking at. It never drops a row and never changes the rating returned.includeCategories(optional): has no effect on the default route, because Trustpilot publishes categories only on its public company page.trustpilot_categoriesis null unlesspublicPageAccessisunblocker. Kept so saved configurations keep working.sources(optional): which review sources to query. Version 1 servestrustpilotonly. G2, Capterra and Glassdoor appear as columns and always reportskipped, with the reason on the row. This setting exists so a saved configuration keeps working when a source is added.skipCache(optional): when false (the default) a successful lookup is cached for seven days and reused. Set true to force a fresh fetch.
Output
The tool returns the actor's flat JSON row for the company, with 33 snake_case fields and no nested objects. trustpilot_status is the field to read before any rating, trustpilot_route and trustpilot_id_source say how the business unit was resolved, and rating_is_meaningful reflects the review count threshold you set. See the Apify Store page for the full output schema.
Example output
{
"degraded": false,
"degradation_reason": null,
"company_domain": "mattressonline.co.uk",
"company_name": "Mattress Online",
"trustpilot_business_id": "4992d8e10000640005041a9a",
"trustpilot_url": "https://www.trustpilot.com/review/www.mattressonline.co.uk",
"trustpilot_name": "MattressOnline.co.uk",
"trustpilot_rating": 4.8,
"trustpilot_review_count": 72332,
"trustpilot_stars": 5,
"trustpilot_one_star": 1618,
"trustpilot_two_stars": 768,
"trustpilot_three_stars": 1485,
"trustpilot_four_stars": 5850,
"trustpilot_five_stars": 62611,
"trustpilot_country_code": "GB",
"trustpilot_route": "widget",
"trustpilot_id_source": "homepage_embed",
"trustpilot_claimed_status": "not_extractable",
"trustpilot_is_claimed": null,
"rating_is_meaningful": true,
"trustpilot_status": "ok",
"g2_status": "skipped",
"capterra_status": "skipped",
"glassdoor_status": "skipped",
"coverage": 1,
"fetch_status": "ok",
"run_date": "2026-08-23T06:39:38.824Z"
}Features
TrustScore, star score and total review count
The full one to five star breakdown, not just the average
Claimed and verified status, plus Trustpilot categories, on the optional public page route
Four kinds of empty, each with its own status, so a refusal is never a zero
G2, Capterra and Glassdoor ship as explicit skipped columns
33 flat snake_case fields, one row per company
No Trustpilot API key needed
Full actor documentation
This server is a thin client and holds no lookup logic. For the complete input and output reference, pricing, and run history, see the Apify Store page:
https://apify.com/mambalabs/review-platform-reputation-enricher
Mamba Labs GTM Suite
This server is one of the Mamba Labs GTM Suite MCP servers. Every actor in the suite takes a domain or a company and returns one flat row, so they stack in the same Clay table without reshaping anything. The actor behind this server is the Trustpilot Reputation Enricher, immutable Apify actor ID 3lIqfCt61j4hqE1xz.
Built by Mamba Labs | npm | Apify Store
License
MIT
Built by Mamba Labs. https://apify.com/mambalabs
Available Tools
1 toolget_trustpilot_reputationGet Trustpilot ReputationARead-onlyIdempotent
Resolve a company domain to its Trustpilot business unit and return the TrustScore, review count, star score, claimed and verified status and categories, through Trustpilot's documented Business Units API. Returns one flat Clay ready row. Requires the CALLER's own Trustpilot API key; without one every row reports skipped rather than pretending to have looked. A refused request reports blocked and a domain with no business unit reports not_found, and those two are never conflated. G2, Capterra and Glassdoor ship as skipped status columns so the row shape does not change when a source is added. Read only; requires an APIFY_TOKEN and consumes Apify credits per call.
| Name | Required | Description | Default |
|---|---|---|---|
| sources | No | Which review sources to query. v1 serves Trustpilot only. G2, Capterra and Glassdoor appear as columns and always report skipped, with the reason on the row, because all three refused every documented route and none publishes an API we can use as documented. This setting exists so a saved configuration keeps working when a source is added. Sent as a string for Clay compatibility. | |
| skipCache | No | When "false" (default) a successful lookup is cached for seven days and reused, which costs you nothing on a repeated run. Set "true" to force a fresh fetch. Sent as a string for Clay compatibility. | |
| company_name | No | Optional. Carried through to the output row for joining. The Trustpilot lookup is keyed on the domain, so the name does not change which business unit is returned. | |
| company_domain | No | Bare company domain, for example stripe.com. Trustpilot business units are keyed on the company website domain, so this is the correct and only lookup key. | |
| minReviewCount | No | Sets rating_is_meaningful on the row. A 5.0 rating from two reviews and a 4.2 from nine hundred are not comparable numbers, and this is the column that says which one you are looking at. It never drops a row and never changes the rating returned. Sent as a string for Clay compatibility. | |
| trustpilotApiKey | No | YOUR OWN Trustpilot API key, free to create at developers.trustpilot.com. REQUIRED: the Business Units API is not open, so without a key this actor reports skipped rather than guessing. Marked secret, so the value never renders on this page. | |
| includeCategories | No | When "true" (default) the Trustpilot categories the business is listed under are returned. They are a useful cheap proxy for what a company actually sells, which is often not what its homepage says. Sent as a string for Clay compatibility. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Beyond the readOnly/idempotent annotations, the description discloses failure modes ('blocked' vs 'not_found' are never conflated), the skipped behavior without an API key, stable row shape across sources, and Apify credit consumption. This gives the agent accurate expectations for side effects and error handling.
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 with the primary function, then moves to output shape, prerequisites, error semantics, and cost. Each sentence carries distinct information and the length is justified by the tool's nuanced behavior.
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 supplies the return shape and key statuses, while the input schema handles parameter details. The combination fully covers expected inputs, outputs, failure states, and operational requirements for an agent to invoke it 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?
The input schema already covers all seven parameters with 100% description coverage, so the description does not need to repeat parameter details. It adds only high-level context (e.g., API key requirement and source limitations) rather than new per-parameter semantics, which keeps it at the baseline 3.
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 opens with a specific verb+resource: 'Resolve a company domain to its Trustpilot business unit' and enumerates returned fields (TrustScore, review count, star score, claimed/verified status, categories). It also adds the output shape ('one flat Clay ready row'), so an agent knows exactly what this tool produces.
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?
Although there are no sibling tools, the description gives clear when-to-use context: it is for Trustpilot reputation from a domain, and it explicitly says G2, Capterra and Glassdoor are not queried and always report skipped. It also sets the prerequisite of the caller's own Trustpilot API key and warns that without one rows report skipped.
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.
1 tool update
v1.0.0- First observed
get_trustpilot_reputation
TDQS
Scored across 1 tool
With only one tool, there is no possibility of confusing it with another tool. Its sole purpose — resolving a domain to Trustpilot reputation data — is clearly described.
The single tool name follows a clear get_<source>_<data> convention and reads consistently with standard API naming. There are no other tools to conflict with the pattern.
One tool is on the thin side for a server named as a review-platform reputation enricher, especially since G2, Capterra, and Glassdoor are only represented as skipped statuses. However, the one tool is non-trivial and performs a complete Trustpilot lookup, so the count is borderline rather than extreme.
The tool covers Trustpilot reputation retrieval well, but the server's broader reputation-enrichment scope is not met: G2, Capterra, and Glassdoor are explicitly not fetched, only marked as skipped. An agent needing reputation data from those platforms would hit a dead end.
Maintenance
Related MCP Connectors
Remote MCP server to enrich company profiles with structured B2B data and confidence scores.
MCP server for Tomba email finder, verification, and contact enrichment API
Apify MCP — run web-scraping Actors and fetch their dataset results.
17 data tools in one MCP server, run on Apify: Google Shopping, Flights, Hotels, News, Images, Videos, Ads Transparency, Jobs and Trends; YouTube transcripts; AI visibility checks; Google Maps leads; App Store and Google Play reviews. Pay per result. Sign in with Apify (OAuth) or an API token.
Related MCP Servers
- AlicenseAqualityAmaintenanceMCP server for the Mamba Labs People Finder & Email Verifier actor on Apify. Give it a company domain, name or LinkedIn URL and it returns the people at that company who match your role, seniority and department filters, each as a structured contact record with an optional verified business email.196 npmMIT
- AlicenseAqualityAmaintenanceMCP server that resolves a company domain to its registered legal entity, returning legal name, company number, jurisdiction, status, LEI, and VAT number via the Apify Legal Entity Resolver actor.136 npmMIT
- AlicenseAqualityBmaintenanceMCP server for the Mamba Labs Bluesky Brand Presence Mapper actor on Apify. Resolve a company domain to its Bluesky account with exact follower, following and post counts.129 npmMIT
- AlicenseAqualityCmaintenanceMCP server for the Mamba Labs GitHub Organization Signal Scanner actor on Apify. Resolve a company domain to its GitHub organization with repo, language and activity signals.131 npmMIT