naftiko: 1.0.0-alpha2 info: label: Trustpilot Review Management description: Unified review management capability combining business unit profiles, service review management, and invitation workflows. Used by customer experience teams and CRM integrations to monitor reviews, respond to customer feedback, tag and categorize reviews, and automate post-purchase review invitation campaigns. tags: - Reviews - Consumer Reviews - Business Profiles - Invitations - Trust - Ratings - Customer Experience created: '2026-05-03' modified: '2026-05-06' binds: - namespace: env keys: TRUSTPILOT_API_KEY: TRUSTPILOT_API_KEY TRUSTPILOT_OAUTH2_TOKEN: TRUSTPILOT_OAUTH2_TOKEN capability: consumes: - type: http namespace: trustpilot-business-units baseUri: https://api.trustpilot.com description: Trustpilot business unit profile and review data. authentication: type: apikey key: apikey value: '{{TRUSTPILOT_API_KEY}}' placement: query resources: - name: business-unit-search path: /v1/business-units/search description: Search for business units by name operations: - name: search-business-units method: GET description: Search for business units on Trustpilot by name. inputParameters: - name: name in: query type: string required: false description: Business name or partial name - name: country in: query type: string required: false description: ISO 3166-1 alpha-2 country code - name: page in: query type: integer required: false - name: perPage in: query type: integer required: false outputRawFormat: json outputParameters: - name: result type: object value: $. - name: business-unit-profile path: /v1/business-units/{businessUnitId}/profileinfo description: Business unit profile information operations: - name: get-business-unit-profile method: GET description: Retrieve company profile information. inputParameters: - name: businessUnitId in: path type: string required: true outputRawFormat: json outputParameters: - name: result type: object value: $. - name: business-unit-reviews path: /v1/business-units/{businessUnitId}/reviews description: Public business unit reviews operations: - name: get-business-unit-reviews method: GET description: Fetch public reviews for a business unit. inputParameters: - name: businessUnitId in: path type: string required: true - name: stars in: query type: array required: false - name: language in: query type: string required: false - name: orderBy in: query type: string required: false - name: page in: query type: integer required: false - name: perPage in: query type: integer required: false outputRawFormat: json outputParameters: - name: result type: object value: $. - name: business-unit-all-reviews path: /v1/business-units/{businessUnitId}/all-reviews description: All reviews with cursor pagination operations: - name: get-all-business-unit-reviews method: GET description: Retrieve all reviews with pageToken cursor pagination. inputParameters: - name: businessUnitId in: path type: string required: true - name: pageToken in: query type: string required: false - name: perPage in: query type: integer required: false outputRawFormat: json outputParameters: - name: result type: object value: $. - type: http namespace: trustpilot-service-reviews baseUri: https://api.trustpilot.com description: Trustpilot service review management and retrieval. authentication: type: bearer token: '{{TRUSTPILOT_OAUTH2_TOKEN}}' resources: - name: review path: /v1/reviews/{reviewId} description: Public review details operations: - name: get-review method: GET description: Fetch public review information by ID. inputParameters: - name: reviewId in: path type: string required: true outputRawFormat: json outputParameters: - name: result type: object value: $. - name: latest-reviews path: /v1/reviews/latest description: Latest reviews in a language operations: - name: get-latest-reviews method: GET description: Get the latest reviews in a specific language. inputParameters: - name: count in: query type: integer required: true - name: language in: query type: string required: true outputRawFormat: json outputParameters: - name: result type: object value: $. - name: review-reply path: /v1/private/reviews/{reviewId}/reply description: Reply to a review operations: - name: create-review-reply method: POST description: Post a company reply to a service review. inputParameters: - name: reviewId in: path type: string required: true outputRawFormat: json outputParameters: - name: result type: object value: $. body: type: json data: message: '{{tools.message}}' - name: delete-review-reply method: DELETE description: Remove a company response from a review. inputParameters: - name: reviewId in: path type: string required: true outputRawFormat: json outputParameters: - name: result type: object value: $. - name: review-tags path: /v1/private/reviews/{reviewId}/tags description: Review tag management operations: - name: get-review-tags method: GET description: Retrieve all tags for a review. inputParameters: - name: reviewId in: path type: string required: true outputRawFormat: json outputParameters: - name: result type: object value: $. - name: set-review-tags method: POST description: Set the tags of a service review. inputParameters: - name: reviewId in: path type: string required: true outputRawFormat: json outputParameters: - name: result type: object value: $. body: type: json data: tags: '{{tools.tags}}' - type: http namespace: trustpilot-invitations baseUri: https://api.trustpilot.com description: Trustpilot invitation management. authentication: type: bearer token: '{{TRUSTPILOT_OAUTH2_TOKEN}}' resources: - name: invitation-templates path: /v1/private/business-units/{businessUnitId}/templates description: Invitation email templates operations: - name: get-invitation-templates method: GET description: Retrieve available invitation templates. inputParameters: - name: businessUnitId in: path type: string required: true outputRawFormat: json outputParameters: - name: result type: object value: $. - name: email-invitations path: /v1/private/business-units/{businessUnitId}/email-invitations description: Send email invitations operations: - name: send-email-invitations method: POST description: Send email invitations for service and product reviews. inputParameters: - name: businessUnitId in: path type: string required: true outputRawFormat: json outputParameters: - name: result type: object value: $. body: type: json data: invitations: '{{tools.invitations}}' - name: invitation-links path: /v1/private/business-units/{businessUnitId}/invitation-links description: Service review invitation links operations: - name: create-invitation-link method: POST description: Create a unique invitation link for service reviews. inputParameters: - name: businessUnitId in: path type: string required: true outputRawFormat: json outputParameters: - name: result type: object value: $. body: type: json data: referenceNumber: '{{tools.referenceNumber}}' redirectUrl: '{{tools.redirectUrl}}' exposes: - type: rest port: 8080 namespace: trustpilot-review-management-api description: Unified REST API for review monitoring, response, and invitation management. resources: - path: /v1/business-units/search name: business-unit-search description: Search Trustpilot business units operations: - method: GET name: search-business-units description: Search for business units by name or domain. call: trustpilot-business-units.search-business-units outputParameters: - type: object mapping: $. - path: /v1/business-units/{businessUnitId}/profile name: business-unit-profile description: Business unit trust profile operations: - method: GET name: get-business-unit-profile description: Get company trust profile including TrustScore and review counts. call: trustpilot-business-units.get-business-unit-profile with: businessUnitId: rest.businessUnitId outputParameters: - type: object mapping: $. - path: /v1/business-units/{businessUnitId}/reviews name: reviews description: Business unit reviews operations: - method: GET name: get-reviews description: Get reviews for a business unit with star and language filtering. call: trustpilot-business-units.get-business-unit-reviews with: businessUnitId: rest.businessUnitId outputParameters: - type: object mapping: $. - path: /v1/reviews/{reviewId} name: review description: Individual review details operations: - method: GET name: get-review description: Get details for a specific review. call: trustpilot-service-reviews.get-review with: reviewId: rest.reviewId outputParameters: - type: object mapping: $. - path: /v1/reviews/{reviewId}/reply name: review-reply description: Review reply management operations: - method: POST name: create-review-reply description: Post a company reply to a review. call: trustpilot-service-reviews.create-review-reply with: reviewId: rest.reviewId outputParameters: - type: object mapping: $. - path: /v1/reviews/{reviewId}/tags name: review-tags description: Review tag management operations: - method: GET name: get-review-tags description: Get tags for a review. call: trustpilot-service-reviews.get-review-tags with: reviewId: rest.reviewId outputParameters: - type: object mapping: $. - path: /v1/invitations/email name: email-invitations description: Send review email invitations operations: - method: POST name: send-email-invitations description: Send review invitations to customers. call: trustpilot-invitations.send-email-invitations outputParameters: - type: object mapping: $. - path: /v1/invitations/links name: invitation-links description: Create review invitation links operations: - method: POST name: create-invitation-link description: Create a unique review invitation link. call: trustpilot-invitations.create-invitation-link outputParameters: - type: object mapping: $. - path: /v1/reviews/latest name: latest-reviews description: Latest reviews in a language operations: - method: GET name: get-latest-reviews description: Get the most recent reviews in a specific language. call: trustpilot-service-reviews.get-latest-reviews outputParameters: - type: object mapping: $. - type: mcp port: 9080 namespace: trustpilot-review-management-mcp transport: http description: MCP server for AI-assisted review monitoring, response drafting, and invitation management. tools: - name: search-business-units description: Search for businesses on Trustpilot to find their profile and trust score. hints: readOnly: true openWorld: true call: trustpilot-business-units.search-business-units with: name: tools.name country: tools.country outputParameters: - type: object mapping: $. - name: get-business-unit-profile description: Get the TrustScore, star rating distribution, and contact details for a business. hints: readOnly: true openWorld: false call: trustpilot-business-units.get-business-unit-profile with: businessUnitId: tools.businessUnitId outputParameters: - type: object mapping: $. - name: get-business-unit-reviews description: Get public reviews for a business with filtering by stars and language. hints: readOnly: true openWorld: false call: trustpilot-business-units.get-business-unit-reviews with: businessUnitId: tools.businessUnitId stars: tools.stars language: tools.language outputParameters: - type: object mapping: $. - name: get-all-business-unit-reviews description: Retrieve all reviews for a business using cursor pagination for large review sets. hints: readOnly: true openWorld: false call: trustpilot-business-units.get-all-business-unit-reviews with: businessUnitId: tools.businessUnitId pageToken: tools.pageToken outputParameters: - type: object mapping: $. - name: get-review description: Get details of a specific Trustpilot review including rating, text, and consumer info. hints: readOnly: true openWorld: false call: trustpilot-service-reviews.get-review with: reviewId: tools.reviewId outputParameters: - type: object mapping: $. - name: get-latest-reviews description: Get the most recent reviews in a specific language across Trustpilot. hints: readOnly: true openWorld: true call: trustpilot-service-reviews.get-latest-reviews with: count: tools.count language: tools.language outputParameters: - type: object mapping: $. - name: create-review-reply description: Post a company reply to a customer review on Trustpilot. hints: readOnly: false openWorld: false call: trustpilot-service-reviews.create-review-reply with: reviewId: tools.reviewId outputParameters: - type: object mapping: $. - name: delete-review-reply description: Remove a company reply from a review. hints: readOnly: false destructive: true idempotent: true call: trustpilot-service-reviews.delete-review-reply with: reviewId: tools.reviewId outputParameters: - type: object mapping: $. - name: get-review-tags description: Get tags assigned to a review for categorization and filtering. hints: readOnly: true openWorld: false call: trustpilot-service-reviews.get-review-tags with: reviewId: tools.reviewId outputParameters: - type: object mapping: $. - name: set-review-tags description: Set tags on a review to categorize it by topic, campaign, or issue type. hints: readOnly: false openWorld: false call: trustpilot-service-reviews.set-review-tags with: reviewId: tools.reviewId outputParameters: - type: object mapping: $. - name: get-invitation-templates description: Get available email invitation templates for review requests. hints: readOnly: true openWorld: false call: trustpilot-invitations.get-invitation-templates with: businessUnitId: tools.businessUnitId outputParameters: - type: object mapping: $. - name: send-email-invitations description: Send email review invitations to customers after purchase or service delivery. hints: readOnly: false openWorld: false call: trustpilot-invitations.send-email-invitations with: businessUnitId: tools.businessUnitId outputParameters: - type: object mapping: $. - name: create-invitation-link description: Generate a unique review invitation link to share with customers. hints: readOnly: false openWorld: false call: trustpilot-invitations.create-invitation-link with: businessUnitId: tools.businessUnitId outputParameters: - type: object mapping: $.