DEVELOPER REFERENCE
MCP tools reference for ASO: App Store & Google Play
Research App Store, Google Play and Chrome Web Store listings from your assistant. This reference documents all 37 registered tools, their accepted inputs and example calls. Reading these docs needs no account; calling the server requires authentication.
Endpoint and authentication
Streamable HTTP endpoint: https://appgazers.com/mcp. Send MCP JSON-RPC requests with POST and accept application/json, text/event-stream. The server is stateless; GET and DELETE are not MCP session operations.
Add the endpoint URL to your MCP client, then sign in with Google and approve OAuth 2.1 access. OAuth uses PKCE S256. Access tokens go in Authorization: Bearer <access_token>. The mcp:read scope reads catalog data; mcp:user additionally allows your watchlist tools. Clients can request offline_access for refresh tokens.
Existing personal tokens (wsk_…) remain a legacy alternative: send one as a Bearer credential or in x-api-key. Existing token-path URLs also work with POST. Prefer OAuth for new connections. Manage your signed-in connections.
Call tools/list to discover tools, then tools/call with the registered name and arguments. Tool results normally contain a JSON string in content[].text; the connector pair also returns structuredContent.
{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"name": "get_categories",
"arguments": {
"source": "apple_mobile"
}
}
}Use JSON booleans, numbers and arrays in calls. Some underlying Zod inputs also accept query-string spellings through coercion; the parameter tables show the published MCP types. “—” means no schema default, not false or zero.
Plan limits
MCP is available on every plan. Each tool has its own daily allowance, plus one weekly allowance across all tools.
Days reset at 00:00 UTC. The combined ISO week resets Monday at 00:00 UTC. Every served tool call counts, including cached reads. Failed or refused calls are released along with any charge. Compare plans.
Usage credit past a limit
Basic and Pro can opt in to use credit after either allowance is exhausted. Each over-limit call costs $0.02, or $0.05 for the four live keyword tools: get_keyword_difficulty, batch_keyword_difficulty, find_easier_keywords, suggest_keywords. Crossing both limits charges once. This is the MCP overage price even when a keyword response is cached.
Free cannot spend usage credit past its limits. Paid calls need both opt-in and enough credit; otherwise the call is refused. Failed calls return their usage and any overage charge.
What Free returns
On Free, discovery lists show identities at absolute positions 1–10; rows 11+ are locked, with numbers retained. Revenue estimates and keyword demand/opportunity are hidden. Revenue filters are refused. Paid plans unlock those fields; coverage gaps and unknown values still apply. Explicitly named apps and your own watchlist keep their identities. A locked result is not a missing observation.
Keyword difficulty remains visible, while popularity, traffic and opportunity are hidden. The easier-keyword result hides the terms of its top five suggestions on Free, while candidate scores stay visible; its seed demand scores and opportunity gains are hidden. Estimates are modeled ranges for the recorded period, not reported revenue, profit or exact search counts.
Errors and recovery
- HTTP 401 · -32001
- Missing, expired or revoked credentials. Follow the WWW-Authenticate discovery challenge and reconnect.
- HTTP 403 · -32003
- Insufficient scope or denied account access. For watchlist tools, reconnect and approve mcp:user.
- HTTP 402 · -32004
- A plan allowance was reached, or opted-in usage credit is insufficient. The message names the plan, window, reset time and upgrade URL. Wait for reset, upgrade, or enable/fund usage credit on a paid plan.
- HTTP 429 · -32002
- The credential’s request-per-minute budget was reached. Respect Retry-After. Live keyword work also has its own caller-based throttle and can return a tool error.
- HTTP 503 · -32000
- Usage could not be checked or the service is unavailable. Retry after the suggested delay.
- Tool and input errors
- Read result.isError and the text content as well as top-level JSON-RPC errors. Schema errors identify invalid arguments; handler errors can include bad_input with issues, not_found, search_busy or query_timeout. Correct inputs, narrow an expensive search, or retry transient failures. Never treat an error as an empty result.
{
"jsonrpc": "2.0",
"id": null,
"error": {
"code": -32004,
"message": "AI assistant (MCP) allowance reached. Check the reset time or upgrade at https://appgazers.com/pricing."
}
}This abridged refusal illustrates the wire shape; the actual message supplies your plan’s window and reset time. Large successful responses can have truncated notes. Continue with returned cursors and narrow the query as instructed; a missing field or null freshness date is not proof of zero activity.
Tool index
search_appsSearch and filter App Store and Google Play listings.
get_app_detailRead one app’s profile, estimates and collection evidence.
get_app_historicalsRead daily metrics and optional chart positions for one app.
search_extensionsSearch the separate Chrome Web Store catalog.
get_extension_detailRead one extension’s publisher, permissions and store metrics.
get_extension_historicalsRead an extension’s daily users, rating and rating count.
list_store_rankingsRead the latest chart for a store, country and category.
get_store_ranking_historyRead one app’s daily best chart positions.
get_app_reviewsRead stored reviews filtered by rating and storefront.
get_review_analyticsRead rating distributions, review volume and frequent review terms.
get_developerRead a publisher’s portfolio and research summaries.
search_developersFind publishers by prefixes of words in their names.
get_supported_countriesList storefront codes covered by the catalog.
get_categoriesList category IDs and names for the supported stores.
get_catalog_statsRead catalog counts and recent collector-run evidence.
search_adsSearch stored Meta and Google creatives with typed filters.
get_ad_detailRead one stored creative and its delivery context.
get_app_ads_summarySummarize one app’s observed advertising footprint.
get_keyword_difficultyScore one store keyword and inspect its ranking competitors.
batch_keyword_difficultyScore up to ten keywords for one store and country.
find_easier_keywordsFind and score lower-competition alternatives to a seed keyword.
suggest_keywordsRead store autocomplete suggestions for a search term.
get_app_keyword_ranksRead stored keyword positions for one app or a batch.
get_keyword_rank_historyRead captured daily top search results for one keyword.
list_recent_keywordsList recently explored keywords and their cached scores.
get_alertsRead daily app events or the global event ticker.
list_trending_appsList apps with the strongest observed momentum.
list_rising_appsList apps gaining traction from a small base.
get_winning_adsRank creatives by the heuristic winning score.
compare_appsCompare up to ten explicitly named app listings.
get_app_familyRead sibling listings and unified product estimates.
searchSearch apps, creatives and publishers through the connector contract.
fetchTurn a connector search ID into a plain-text document.
list_favoritesRead your saved apps, creatives, keywords and folders.
add_favoriteSave an app, creative or keyword to your watchlist.
remove_favoriteRemove one item from your watchlist.
list_my_alertsRead recent daily events for the apps you watch.