google-play-similar
Analyze competitor apps on Google Play by retrieving similar apps with key details like ratings, descriptions, pricing, and developer info to enhance market research and strategy.
Instructions
Get similar apps from Google Play. Returns a list of apps with:
url: Play Store URL
appId: Package name (e.g. 'com.company.app')
summary: Short description
developer: Developer name
developerId: Developer ID
icon: Icon image URL
score: Rating (0-5)
scoreText: Rating display text
priceText: Price display text
free: Boolean indicating if app is free
Input Schema
TableJSON Schema
| Name | Required | Description | Default |
|---|---|---|---|
| appId | Yes | Google Play package name (e.g., 'com.dxco.pandavszombies') | |
| country | No | Country code to get results from (default: us) | us |
| fullDetail | No | Include full app details in results (default: false), If fullDetail is true, includes all fields from app details endpoint. | |
| lang | No | Language code for result text (default: en) | en |
Implementation Reference
- src/server.js:554-557 (handler)Handler function that calls gplay.similar to fetch similar apps and returns the JSON-stringified result as MCP content.async ({ appId, lang, country, fullDetail }) => { const similar = await gplay.similar({ appId, lang, country, fullDetail }); return { content: [{ type: "text", text: JSON.stringify(similar) }] }; }
- src/server.js:548-553 (schema)Zod schema defining the input parameters for the tool: appId (required), lang, country, and fullDetail.{ appId: z.string().describe("Google Play package name (e.g., 'com.dxco.pandavszombies')"), lang: z.string().default("en").describe("Language code for result text (default: en)"), country: z.string().default("us").describe("Country code to get results from (default: us)"), fullDetail: z.boolean().default(false).describe("Include full app details in results (default: false), If fullDetail is true, includes all fields from app details endpoint.") },
- src/server.js:536-558 (registration)Full registration of the 'google-play-similar' tool using McpServer.tool(), including name, description, input schema, and handler function.server.tool("google-play-similar", "Get similar apps from Google Play. Returns a list of apps with:\n" + "- url: Play Store URL\n" + "- appId: Package name (e.g. 'com.company.app')\n" + "- summary: Short description\n" + "- developer: Developer name\n" + "- developerId: Developer ID\n" + "- icon: Icon image URL\n" + "- score: Rating (0-5)\n" + "- scoreText: Rating display text\n" + "- priceText: Price display text\n" + "- free: Boolean indicating if app is free\n", { appId: z.string().describe("Google Play package name (e.g., 'com.dxco.pandavszombies')"), lang: z.string().default("en").describe("Language code for result text (default: en)"), country: z.string().default("us").describe("Country code to get results from (default: us)"), fullDetail: z.boolean().default(false).describe("Include full app details in results (default: false), If fullDetail is true, includes all fields from app details endpoint.") }, async ({ appId, lang, country, fullDetail }) => { const similar = await gplay.similar({ appId, lang, country, fullDetail }); return { content: [{ type: "text", text: JSON.stringify(similar) }] }; } );
- src/server.js:30-30 (helper)Import of the google-play-scraper library (aliased as gplay), which provides the underlying similar() function used by the tool.import gplay from '@jeromyfu/google-play-scraper';