get_product_review
Retrieve specific product review data from Klaviyo using its unique ID to analyze customer feedback and improve marketing strategies.
Input Schema
TableJSON Schema
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | ID of the product review to retrieve |
Implementation Reference
- src/tools/reviews.js:35-47 (handler)The handler function for the get_product_review tool. It retrieves the specific product review by its ID using the klaviyoClient and returns formatted JSON response or error.async (params) => { try { const review = await klaviyoClient.get(`/product-reviews/${params.id}/`); return { content: [{ type: "text", text: JSON.stringify(review, null, 2) }] }; } catch (error) { return { content: [{ type: "text", text: `Error retrieving product review: ${error.message}` }], isError: true }; } },
- src/tools/reviews.js:32-34 (schema)Zod input schema for the get_product_review tool, requiring a string 'id' parameter.{ id: z.string().describe("ID of the product review to retrieve") },
- src/tools/reviews.js:30-49 (registration)Direct registration of the get_product_review tool on the server using server.tool().server.tool( "get_product_review", { id: z.string().describe("ID of the product review to retrieve") }, async (params) => { try { const review = await klaviyoClient.get(`/product-reviews/${params.id}/`); return { content: [{ type: "text", text: JSON.stringify(review, null, 2) }] }; } catch (error) { return { content: [{ type: "text", text: `Error retrieving product review: ${error.message}` }], isError: true }; } }, { description: "Get a specific product review from Klaviyo" } );
- src/server.js:47-47 (registration)Invocation of registerReviewTools which registers the get_product_review tool among others to the main MCP server.registerReviewTools(server);