app-store-ratings
Retrieve App Store ratings data including total ratings count and star distribution histogram for market analysis and competitor research.
Instructions
Get ratings for an App Store app. Returns an object with:
ratings: Total number of ratings
histogram: Distribution of ratings by star level (1-5)
Input Schema
TableJSON Schema
| Name | Required | Description | Default |
|---|---|---|---|
| id | No | Numeric App ID (e.g., 553834731). Either this or appId must be provided. | |
| appId | No | Bundle ID (e.g., 'com.midasplayer.apps.candycrushsaga'). Either this or id must be provided. | |
| country | No | Country code to get ratings from (default: us) | us |
Implementation Reference
- src/server.js:228-231 (handler)Handler function that calls store.ratings() with id/appId/country parameters and returns the ratings data as JSON-formatted text content.async ({ id, appId, country }) => { const ratings = await store.ratings({ id, appId, country }); return { content: [{ type: "text", text: JSON.stringify(ratings) }] }; }
- src/server.js:223-227 (schema)Zod input schema defining optional id (number), appId (string), and country (string default 'us').{ id: z.number().optional().describe("Numeric App ID (e.g., 553834731). Either this or appId must be provided."), appId: z.string().optional().describe("Bundle ID (e.g., 'com.midasplayer.apps.candycrushsaga'). Either this or id must be provided."), country: z.string().default("us").describe("Country code to get ratings from (default: us)") },
- src/server.js:219-232 (registration)Full registration of the 'app-store-ratings' tool using server.tool(), including description, input schema, and inline handler function.server.tool("app-store-ratings", "Get ratings for an App Store app. Returns an object with:\n" + "- ratings: Total number of ratings\n" + "- histogram: Distribution of ratings by star level (1-5)", { id: z.number().optional().describe("Numeric App ID (e.g., 553834731). Either this or appId must be provided."), appId: z.string().optional().describe("Bundle ID (e.g., 'com.midasplayer.apps.candycrushsaga'). Either this or id must be provided."), country: z.string().default("us").describe("Country code to get ratings from (default: us)") }, async ({ id, appId, country }) => { const ratings = await store.ratings({ id, appId, country }); return { content: [{ type: "text", text: JSON.stringify(ratings) }] }; } );