Skip to main content
Glama
JiantaoFu

App Market Intelligence MCP

app-store-reviews

Fetch App Store reviews by ID or bundle ID to analyze user feedback, ratings, and version-specific insights for app market intelligence.

Instructions

Get reviews for an App Store app. Returns an array of reviews with:

  • id: Review ID

  • userName: Reviewer's name

  • userUrl: Reviewer's profile URL

  • version: App version reviewed

  • score: Rating (1-5)

  • title: Review title

  • text: Review content

  • url: Review URL

  • updated: Review date (ISO string)

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
appIdNoBundle ID (e.g., 'com.midasplayer.apps.candycrushsaga'). Either this or id must be provided.
countryNoCountry code to get reviews from (default: us)us
idNoNumeric App ID (e.g., 553834731). Either this or appId must be provided.
pageNoPage number to retrieve (default: 1, max: 10)
sortNoSort order (recent or helpful)recent

Implementation Reference

  • The asynchronous handler function that implements the core logic of the 'app-store-reviews' tool. It calls store.reviews with the provided parameters (mapping sort to appropriate enum) and returns the results as JSON-formatted text content.
    async ({ id, appId, country, page, sort }) => { const reviews = await store.reviews({ id, appId, country, page, sort: sort === "helpful" ? store.sort.HELPFUL : store.sort.RECENT }); return { content: [{ type: "text", text: JSON.stringify(reviews) }] }; }
  • Zod input schema validating parameters for the 'app-store-reviews' tool: id or appId (app identifier), country, page (1-10), and sort (recent/helpful).
    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 reviews from (default: us)"), page: z.number().min(1).max(10).default(1).describe("Page number to retrieve (default: 1, max: 10)"), sort: z.enum(["recent", "helpful"]).default("recent").describe("Sort order (recent or helpful)") },
  • src/server.js:120-148 (registration)
    The complete registration of the 'app-store-reviews' tool via server.tool(), including its description, input schema, and inline handler function.
    server.tool("app-store-reviews", "Get reviews for an App Store app. Returns an array of reviews with:\n" + "- id: Review ID\n" + "- userName: Reviewer's name\n" + "- userUrl: Reviewer's profile URL\n" + "- version: App version reviewed\n" + "- score: Rating (1-5)\n" + "- title: Review title\n" + "- text: Review content\n" + "- url: Review URL\n" + "- updated: Review date (ISO string)", { 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 reviews from (default: us)"), page: z.number().min(1).max(10).default(1).describe("Page number to retrieve (default: 1, max: 10)"), sort: z.enum(["recent", "helpful"]).default("recent").describe("Sort order (recent or helpful)") }, async ({ id, appId, country, page, sort }) => { const reviews = await store.reviews({ id, appId, country, page, sort: sort === "helpful" ? store.sort.HELPFUL : store.sort.RECENT }); return { content: [{ type: "text", text: JSON.stringify(reviews) }] }; } );

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