Appstro MCP Server
Connect in one command
claude mcp add --transport http appstro https://www.appstro.dev/api/mcp
{
"mcpServers": {
"appstro": {
"url": "https://www.appstro.dev/api/mcp"
}
}
}On claude.ai: Settings → Connectors → Add custom connector → paste https://www.appstro.dev/api/mcp
8 tools included
search_appsSearch the App Store by keyword — name, developer, category, price, rating, rating count.
get_appFull app details by trackId, including monthly download & revenue estimates.
top_chartsTop free / grossing / paid charts for any country.
app_estimatesBatch download & revenue estimates for up to 100 apps at once.
search_publishersFind publishers by name with app counts and total ratings.
publisher_appsA publisher's full portfolio with per-app revenue estimates.
app_reviewsRecent customer reviews for any app in any country.
app_adsGoogle Ads Transparency: which ads an app publisher is running right now.
Ask your agent things like
- “Which meditation apps make over $100K/month with under 5,000 ratings?”
- “Find habit trackers earning well with fewer than 2,000 ratings.”
- “What are users complaining about in the latest reviews of my competitor?”
- “Compare two indie budgeting apps: downloads, revenue and ratings.”
- “Which keywords does my app rank for that my closest competitor does not?”
How it works
The server implements the MCP Streamable HTTP transport at https://www.appstro.dev/api/mcp and is fully stateless — no sessions, no auth. Under the hood it queries the same public data sources that power appstro.dev: Apple's iTunes APIs, public download/revenue estimates, and the Google Ads Transparency Center. Please use it fairly; heavy automated scraping may be rate-limited.
Written up on the blog
- The App Store Connect API key — one download, ES256, and a token that dies in 20 minutesApple's API key is downloadable once, must be signed with ES256, and issues tokens that are invalid beyond 20 minutes. What the docs specify, and how to hold a key that can act on your account.
- Giving an assistant real App Store data instead of letting it rememberAsk a model about an app and it answers from memory, confidently and often wrongly. What an MCP server changes, the nine tools this one exposes, and where it still cannot help.
- If someone asks an assistant about your app, what can it actually read?Answer engines read what a server sends without running JavaScript. Measured on this site — 2,169 words on a prerendered page, and the homepage on every route that is not.