Skip to main content
Glama
JiantaoFu

App Market Intelligence MCP

app-store-list

Retrieve curated App Store app listings from iTunes collections to analyze market trends, research competitors, and discover applications across categories and regions.

Instructions

Get apps from iTunes collections. Returns a list of apps with:

  • id: App Store ID number

  • appId: Bundle ID (e.g. 'com.company.app')

  • title: App name

  • icon: Icon image URL

  • url: App Store URL

  • price: Price in USD

  • currency: Price currency code

  • free: Boolean indicating if app is free

  • description: App description

  • developer: Developer name

  • developerUrl: Developer's App Store URL

  • developerId: Developer's ID

  • genre: App category name

  • genreId: Category ID

  • released: Release date (ISO string)

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
collectionYesCollection to fetch from. Available collections: - newapplications: New iOS applications - newfreeapplications: New free iOS applications - newpaidapplications: New paid iOS applications - topfreeapplications: Top free iOS applications - topfreeipadapplications: Top free iPad applications - topgrossingapplications: Top grossing iOS applications - topgrossingipadapplications: Top grossing iPad applications - toppaidapplications: Top paid iOS applications - toppaidipadapplications: Top paid iPad applications
categoryNoCategory ID to filter by. Available categories: Main Categories: - 6000: BUSINESS - 6001: WEATHER - 6002: UTILITIES - 6003: TRAVEL - 6004: SPORTS - 6005: SOCIAL_NETWORKING - 6006: REFERENCE - 6007: PRODUCTIVITY - 6008: PHOTO_AND_VIDEO - 6009: NEWS - 6010: NAVIGATION - 6011: MUSIC - 6012: LIFESTYLE - 6013: HEALTH_AND_FITNESS - 6014: GAMES - 6015: FINANCE - 6016: ENTERTAINMENT - 6017: EDUCATION - 6018: BOOKS - 6020: MEDICAL - 6021: MAGAZINES_AND_NEWSPAPERS - 6022: CATALOGS - 6023: FOOD_AND_DRINK - 6024: SHOPPING Games Subcategories: - 7001: ACTION - 7002: ADVENTURE - 7003: ARCADE - 7004: BOARD - 7005: CARD - 7006: CASINO - 7007: DICE - 7008: EDUCATIONAL - 7009: FAMILY - 7011: MUSIC - 7012: PUZZLE - 7013: RACING - 7014: ROLE_PLAYING - 7015: SIMULATION - 7016: SPORTS - 7017: STRATEGY - 7018: TRIVIA - 7019: WORD Magazine Subcategories: - 13001: POLITICS - 13002: FASHION - 13003: HOME - 13004: OUTDOORS - 13005: SPORTS - 13006: AUTOMOTIVE - 13007: ARTS - 13008: WEDDINGS - 13009: BUSINESS - 13010: CHILDREN - 13011: COMPUTER - 13012: FOOD - 13013: CRAFTS - 13014: ELECTRONICS - 13015: ENTERTAINMENT - 13017: HEALTH - 13018: HISTORY - 13019: LITERARY - 13020: MEN - 13021: MOVIES_AND_MUSIC - 13023: FAMILY - 13024: PETS - 13025: PROFESSIONAL - 13026: REGIONAL - 13027: SCIENCE - 13028: TEENS - 13029: TRAVEL - 13030: WOMEN
langNoLanguage code for result text. If not provided, uses country-specific language.
fullDetailNoGet full app details including ratings, reviews etc (default: false)
countryNoCountry code (default: us)us
numNoNumber of results (default: 50, max: 200)

Implementation Reference

  • Handler function that invokes store.list from the external '@jeromyfu/app-store-scraper' library with provided parameters and returns the results as JSON in a content block.
    async ({ collection, category, country, num, lang, fullDetail }) => { const results = await store.list({ collection, category, country, num, lang, fullDetail }); return { content: [{ type: "text", text: JSON.stringify(results) }] }; }
  • Zod input schema defining parameters for the tool: collection (enum of App Store lists), optional category ID, lang, fullDetail, country (default 'us'), num (default 50, max 200).
    { collection: z.enum([ 'newapplications', 'newfreeapplications', 'newpaidapplications', 'topfreeapplications', 'topfreeipadapplications', 'topgrossingapplications', 'topgrossingipadapplications', 'toppaidapplications', 'toppaidipadapplications' ]).describe( "Collection to fetch from. Available collections:\n" + "- newapplications: New iOS applications\n" + "- newfreeapplications: New free iOS applications\n" + "- newpaidapplications: New paid iOS applications\n" + "- topfreeapplications: Top free iOS applications\n" + "- topfreeipadapplications: Top free iPad applications\n" + "- topgrossingapplications: Top grossing iOS applications\n" + "- topgrossingipadapplications: Top grossing iPad applications\n" + "- toppaidapplications: Top paid iOS applications\n" + "- toppaidipadapplications: Top paid iPad applications" ), category: z.number().optional().describe( "Category ID to filter by. Available categories:\n" + "Main Categories:\n" + "- 6000: BUSINESS\n" + "- 6001: WEATHER\n" + "- 6002: UTILITIES\n" + "- 6003: TRAVEL\n" + "- 6004: SPORTS\n" + "- 6005: SOCIAL_NETWORKING\n" + "- 6006: REFERENCE\n" + "- 6007: PRODUCTIVITY\n" + "- 6008: PHOTO_AND_VIDEO\n" + "- 6009: NEWS\n" + "- 6010: NAVIGATION\n" + "- 6011: MUSIC\n" + "- 6012: LIFESTYLE\n" + "- 6013: HEALTH_AND_FITNESS\n" + "- 6014: GAMES\n" + "- 6015: FINANCE\n" + "- 6016: ENTERTAINMENT\n" + "- 6017: EDUCATION\n" + "- 6018: BOOKS\n" + "- 6020: MEDICAL\n" + "- 6021: MAGAZINES_AND_NEWSPAPERS\n" + "- 6022: CATALOGS\n" + "- 6023: FOOD_AND_DRINK\n" + "- 6024: SHOPPING\n\n" + "Games Subcategories:\n" + "- 7001: ACTION\n" + "- 7002: ADVENTURE\n" + "- 7003: ARCADE\n" + "- 7004: BOARD\n" + "- 7005: CARD\n" + "- 7006: CASINO\n" + "- 7007: DICE\n" + "- 7008: EDUCATIONAL\n" + "- 7009: FAMILY\n" + "- 7011: MUSIC\n" + "- 7012: PUZZLE\n" + "- 7013: RACING\n" + "- 7014: ROLE_PLAYING\n" + "- 7015: SIMULATION\n" + "- 7016: SPORTS\n" + "- 7017: STRATEGY\n" + "- 7018: TRIVIA\n" + "- 7019: WORD\n\n" + "Magazine Subcategories:\n" + "- 13001: POLITICS\n" + "- 13002: FASHION\n" + "- 13003: HOME\n" + "- 13004: OUTDOORS\n" + "- 13005: SPORTS\n" + "- 13006: AUTOMOTIVE\n" + "- 13007: ARTS\n" + "- 13008: WEDDINGS\n" + "- 13009: BUSINESS\n" + "- 13010: CHILDREN\n" + "- 13011: COMPUTER\n" + "- 13012: FOOD\n" + "- 13013: CRAFTS\n" + "- 13014: ELECTRONICS\n" + "- 13015: ENTERTAINMENT\n" + "- 13017: HEALTH\n" + "- 13018: HISTORY\n" + "- 13019: LITERARY\n" + "- 13020: MEN\n" + "- 13021: MOVIES_AND_MUSIC\n" + "- 13023: FAMILY\n" + "- 13024: PETS\n" + "- 13025: PROFESSIONAL\n" + "- 13026: REGIONAL\n" + "- 13027: SCIENCE\n" + "- 13028: TEENS\n" + "- 13029: TRAVEL\n" + "- 13030: WOMEN" ), lang: z.string().optional().describe("Language code for result text. If not provided, uses country-specific language."), fullDetail: z.boolean().default(false).describe("Get full app details including ratings, reviews etc (default: false)"), country: z.string().default("us").describe("Country code (default: us)"), num: z.number().max(200).default(50).describe("Number of results (default: 50, max: 200)") },
  • src/server.js:271-396 (registration)
    Registration of the 'app-store-list' MCP tool using server.tool, providing description string, Zod schema, and inline async handler.
    server.tool("app-store-list", "Get apps from iTunes collections. Returns a list of apps with:\n" + "- id: App Store ID number\n" + "- appId: Bundle ID (e.g. 'com.company.app')\n" + "- title: App name\n" + "- icon: Icon image URL\n" + "- url: App Store URL\n" + "- price: Price in USD\n" + "- currency: Price currency code\n" + "- free: Boolean indicating if app is free\n" + "- description: App description\n" + "- developer: Developer name\n" + "- developerUrl: Developer's App Store URL\n" + "- developerId: Developer's ID\n" + "- genre: App category name\n" + "- genreId: Category ID\n" + "- released: Release date (ISO string)", { collection: z.enum([ 'newapplications', 'newfreeapplications', 'newpaidapplications', 'topfreeapplications', 'topfreeipadapplications', 'topgrossingapplications', 'topgrossingipadapplications', 'toppaidapplications', 'toppaidipadapplications' ]).describe( "Collection to fetch from. Available collections:\n" + "- newapplications: New iOS applications\n" + "- newfreeapplications: New free iOS applications\n" + "- newpaidapplications: New paid iOS applications\n" + "- topfreeapplications: Top free iOS applications\n" + "- topfreeipadapplications: Top free iPad applications\n" + "- topgrossingapplications: Top grossing iOS applications\n" + "- topgrossingipadapplications: Top grossing iPad applications\n" + "- toppaidapplications: Top paid iOS applications\n" + "- toppaidipadapplications: Top paid iPad applications" ), category: z.number().optional().describe( "Category ID to filter by. Available categories:\n" + "Main Categories:\n" + "- 6000: BUSINESS\n" + "- 6001: WEATHER\n" + "- 6002: UTILITIES\n" + "- 6003: TRAVEL\n" + "- 6004: SPORTS\n" + "- 6005: SOCIAL_NETWORKING\n" + "- 6006: REFERENCE\n" + "- 6007: PRODUCTIVITY\n" + "- 6008: PHOTO_AND_VIDEO\n" + "- 6009: NEWS\n" + "- 6010: NAVIGATION\n" + "- 6011: MUSIC\n" + "- 6012: LIFESTYLE\n" + "- 6013: HEALTH_AND_FITNESS\n" + "- 6014: GAMES\n" + "- 6015: FINANCE\n" + "- 6016: ENTERTAINMENT\n" + "- 6017: EDUCATION\n" + "- 6018: BOOKS\n" + "- 6020: MEDICAL\n" + "- 6021: MAGAZINES_AND_NEWSPAPERS\n" + "- 6022: CATALOGS\n" + "- 6023: FOOD_AND_DRINK\n" + "- 6024: SHOPPING\n\n" + "Games Subcategories:\n" + "- 7001: ACTION\n" + "- 7002: ADVENTURE\n" + "- 7003: ARCADE\n" + "- 7004: BOARD\n" + "- 7005: CARD\n" + "- 7006: CASINO\n" + "- 7007: DICE\n" + "- 7008: EDUCATIONAL\n" + "- 7009: FAMILY\n" + "- 7011: MUSIC\n" + "- 7012: PUZZLE\n" + "- 7013: RACING\n" + "- 7014: ROLE_PLAYING\n" + "- 7015: SIMULATION\n" + "- 7016: SPORTS\n" + "- 7017: STRATEGY\n" + "- 7018: TRIVIA\n" + "- 7019: WORD\n\n" + "Magazine Subcategories:\n" + "- 13001: POLITICS\n" + "- 13002: FASHION\n" + "- 13003: HOME\n" + "- 13004: OUTDOORS\n" + "- 13005: SPORTS\n" + "- 13006: AUTOMOTIVE\n" + "- 13007: ARTS\n" + "- 13008: WEDDINGS\n" + "- 13009: BUSINESS\n" + "- 13010: CHILDREN\n" + "- 13011: COMPUTER\n" + "- 13012: FOOD\n" + "- 13013: CRAFTS\n" + "- 13014: ELECTRONICS\n" + "- 13015: ENTERTAINMENT\n" + "- 13017: HEALTH\n" + "- 13018: HISTORY\n" + "- 13019: LITERARY\n" + "- 13020: MEN\n" + "- 13021: MOVIES_AND_MUSIC\n" + "- 13023: FAMILY\n" + "- 13024: PETS\n" + "- 13025: PROFESSIONAL\n" + "- 13026: REGIONAL\n" + "- 13027: SCIENCE\n" + "- 13028: TEENS\n" + "- 13029: TRAVEL\n" + "- 13030: WOMEN" ), lang: z.string().optional().describe("Language code for result text. If not provided, uses country-specific language."), fullDetail: z.boolean().default(false).describe("Get full app details including ratings, reviews etc (default: false)"), country: z.string().default("us").describe("Country code (default: us)"), num: z.number().max(200).default(50).describe("Number of results (default: 50, max: 200)") }, async ({ collection, category, country, num, lang, fullDetail }) => { const results = await store.list({ collection, category, country, num, lang, 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