Skip to main content
Glama
JiantaoFu

App Market Intelligence MCP

app-store-ratings

Analyze app ratings and review distributions from the App Store using numeric app ID or bundle ID. Provides total ratings and a star-level histogram for targeted market insights.

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
NameRequiredDescriptionDefault
appIdNoBundle ID (e.g., 'com.midasplayer.apps.candycrushsaga'). Either this or id must be provided.
countryNoCountry code to get ratings from (default: us)us
idNoNumeric App ID (e.g., 553834731). Either this or appId must be provided.

Implementation Reference

  • The handler function for the 'app-store-ratings' tool. It fetches ratings data from the App Store using the imported 'store' library (from '@jeromyfu/app-store-scraper') for the given app ID or bundle ID and country, then returns the data as JSON text content.
    async ({ id, appId, country }) => { const ratings = await store.ratings({ id, appId, country }); return { content: [{ type: "text", text: JSON.stringify(ratings) }] }; }
  • Zod schema defining the input parameters for the 'app-store-ratings' tool: optional numeric app ID or string bundle ID (one required), and optional country code (defaults to '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)
    Registration of the 'app-store-ratings' tool on the McpServer instance, specifying the tool name, 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) }] }; } );
  • Import of the 'store' library from '@jeromyfu/app-store-scraper' used by the app-store-ratings handler to fetch App Store ratings data.
    import store from '@jeromyfu/app-store-scraper';

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/JiantaoFu/AppInsightMCP'

If you have feedback or need assistance with the MCP directory API, please join our Discord server