Skip to main content
Glama
JiantaoFu

App Market Intelligence MCP

google-play-search

Search for apps on Google Play to retrieve details like title, developer, price, and ratings. Filter results by price, language, or country for targeted app market intelligence.

Instructions

Search for apps on Google Play. Returns a list of apps with:

  • title: App name

  • appId: Package name (e.g. 'com.company.app')

  • url: Play Store URL

  • icon: Icon image URL

  • developer: Developer name

  • developerId: Developer ID

  • priceText: Price display text

  • free: Boolean indicating if app is free

  • summary: Short description

  • scoreText: Rating display text

  • score: Rating (0-5)

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
countryNoCountry code to get results from (default: us)us
fullDetailNoInclude full app details in results (default: false)
langNoLanguage code for result text (default: en)en
numNoNumber of results to retrieve (default: 20, max: 250)
priceNoFilter by price: all, free, or paid (default: all)all
termYesSearch term to query apps

Implementation Reference

  • The handler function that executes the tool logic: takes input params, calls gplay.search() with them, stringifies the results, and returns them in the expected MCP content format.
    async ({ term, price, num, lang, country, fullDetail }) => { const results = await gplay.search({ term, price, num, lang, country, fullDetail }); return { content: [{ type: "text", text: JSON.stringify(results) }] }; }
  • Zod schema for input validation of the google-play-search tool parameters: term (required), price, num, lang, country, fullDetail (with defaults).
    { term: z.string().describe("Search term to query apps"), price: z.enum(["all", "free", "paid"]).default("all").describe("Filter by price: all, free, or paid (default: all)"), num: z.number().default(20).describe("Number of results to retrieve (default: 20, max: 250)"), 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)") },
  • src/server.js:399-424 (registration)
    Full registration call for the 'google-play-search' tool using server.tool(), including tool name, description, input schema, and inline handler function.
    server.tool("google-play-search", "Search for apps on Google Play. Returns a list of apps with:\n" + "- title: App name\n" + "- appId: Package name (e.g. 'com.company.app')\n" + "- url: Play Store URL\n" + "- icon: Icon image URL\n" + "- developer: Developer name\n" + "- developerId: Developer ID\n" + "- priceText: Price display text\n" + "- free: Boolean indicating if app is free\n" + "- summary: Short description\n" + "- scoreText: Rating display text\n" + "- score: Rating (0-5)", { term: z.string().describe("Search term to query apps"), price: z.enum(["all", "free", "paid"]).default("all").describe("Filter by price: all, free, or paid (default: all)"), num: z.number().default(20).describe("Number of results to retrieve (default: 20, max: 250)"), 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)") }, async ({ term, price, num, lang, country, fullDetail }) => { const results = await gplay.search({ term, price, num, lang, country, fullDetail }); return { content: [{ type: "text", text: JSON.stringify(results) }] }; } );

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