Skip to content

EYamanS/app-market-mcp

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

app-market-mcp

Buy me a coffee

ASO tools tell you about your app. This one tells you about the market.

An MCP server for App Store market intelligence: competitor sets, studios, share-of-search, and rank movement over time. Built on Apple's public endpoints — no API keys, no accounts, no scraping.

npx app-market-mcp

Why another App Store MCP?

Existing App Store MCP servers are single-app ASO optimizers: how does my app rank, what keywords should I add. They're good at that. This server covers the layer they don't — market-level questions across sets of apps and studios:

  • Who owns the "sleep tracker" keyword space in the US?share_of_search
  • Where do we and our five competitors rank across our ten keywords?keyword_matrix
  • Map the meditation app market in Germany.market_map
  • What has this studio shipped in the last six months?studio_releases
  • Who's climbing on our keywords since last month? → watchlists + rank_movement

The intended user is anyone doing competitive analysis, market research, BD scouting, or portfolio tracking — not just developers optimizing their own listing.

Quick start

Claude Code

claude mcp add -s user app-market -- npx app-market-mcp

Claude Desktop — add to claude_desktop_config.json:

{
  "mcpServers": {
    "app-market": {
      "command": "npx",
      "args": ["app-market-mcp"]
    }
  }
}

Any MCP client with stdio transport works (Cursor, Windsurf, etc.).

Tools

Market

Tool What it answers
search_apps Raw App Store search results for a term, in rank order
app_profile Full metadata for one app (by track id or bundle id)
share_of_search Top-50 leaderboard for a keyword + which studios hold the slots; flags your app and rivals
keyword_matrix The grid: N keywords × M apps, who ranks where (≤10×10)
market_map One-call landscape: top apps, dominant studios, free/paid mix, concentration, median age
top_charts Apple's top-free / top-paid chart for any storefront

Studios

Tool What it answers
studio_profile A developer's full portfolio with totals (by artist id or name search)
studio_releases New apps + updates a studio shipped in the last N months
suggest_competitors Likely competitors for an app, scored from its search neighborhood

Watchlists (local, stateful)

Tool What it answers
create_watchlist Save a named competitor set: focal app + rivals + keywords + storefront
snapshot_watchlist Record current rankings for every keyword in the set
rank_movement Who climbed, who slipped, top-10 churn — across stored snapshots
list_watchlists / delete_watchlist Manage saved sets

Watchlists are plain JSON in ~/.app-market-mcp/ (override with APP_MARKET_MCP_DIR). Snapshot whenever you like — daily, weekly, before/after an ASO push — and rank_movement turns the snapshots into movement reports. Rank change is previous_rank − rank: positive = climbed toward #1.

Prompts

Two bundled workflows show the composite moves: market-scan (keyword → full landscape read) and keyword-battle (two apps → head-to-head matrix). Saved watchlists are also exposed as watchlist:// resources.

Example

share_of_search with {"keyword": "habit tracker", "focus_app_id": "…"} returns:

{
 "keyword": "habit tracker",
 "country": "US",
 "result_count": 200,
 "leaderboard": [
  { "rank": 1, "id": "1", "name": "Habitica", "studio": "HabitRPG Inc", "rating": 4.7, "ratings_count": 84210 },
  { "rank": 2, "id": "2", "name": "Streaks", "studio": "Crunchy Bagel", "rating": 4.8, "ratings_count": 31544 }
 ],
 "focus_summary": { "rank": 7, "rivals_above": 2, "rivals_below": 1, "unranked_rivals": [] },
 "studio_concentration": [
  { "studio": "HabitRPG Inc", "apps_in_top": 2, "best_rank": 1, "total_ratings": 91000, "examples": ["Habitica", ""] }
 ]
}

Data source, pacing, and honesty

  • Everything comes from Apple's public iTunes Search/Lookup APIs and the public marketing-tools RSS feeds. No private APIs, no store scraping, no credentials.
  • Apple soft-limits the search endpoint to roughly 20 requests/min/IP. The server paces search calls ~3s apart internally, so multi-keyword tools take time by design (keyword_matrix with 10 keywords ≈ 30s) and report progress while they run. Slow and reliable beats fast and rate-limited.
  • Search responses cap at 200 results, so "unranked" means "not in the top 200."
  • Rankings vary by storefront; every tool takes an ISO-2 country.
  • Not affiliated with or endorsed by Apple.

Roadmap

  • Google Play module (via community scraper libraries, off by default)
  • chart_movers: top-charts diffing from chart snapshots
  • Keyword suggestion probes from search autocomplete
  • Hosted streamable-HTTP transport

Development

npm install
npm run build
npm test        # unit tests (no network)
npm run smoke   # boots the server and runs one live search

PRs welcome — especially additional storefront quirks, new market-level tools, and Google Play groundwork.

Support

Built this in the open. If it saved you time, a one-off tip keeps it maintained:

Buy me a coffee

License

MIT


Keywords: App Store market intelligence · ASO tools · app store competitor analysis · share of search · app rank tracking · App Store API (no key) · mobile app market research · MCP app-store data for AI agents.

About

App-store market intelligence for AI agents over MCP: competitor sets, studios, share-of-search, rank movement. Public endpoints, no API keys.

Topics

Resources

License

Stars

3 stars

Watchers

0 watching

Forks

Releases

No releases published

Packages

 
 
 

Contributors