The ASO MCP server for the AI you already use.
One URL, one bearer token, 25 tools. Ask Claude which of a competitor's phrases you could realistically win and it reads the same report you would, with Apple's numbers, and answers in the chat you are already in. Nothing to host.
Setup, under a minute
- 1Sign in, open Runs, and under MCP server create a token. It is shown once.
- 2Add the server to your client with the snippet on the right. The token travels as a bearer header.
- 3Ask. "Read WeTransfer in the US store and tell me which hidden phrases FileFast could rank for."
Runs started from an AI count against your monthly runs exactly like runs started on the site: 3 a month free and on Track, 100 on Pro, 300 on Studio. Scoring a single phrase is free within the tools allowance.
Claude Desktop · Cursor · VS Code · Windsurf (mcp.json)
{
"mcpServers": {
"aso.best": {
"url": "https://aso.best/mcp",
"headers": { "Authorization": "Bearer aso_…your token…" }
}
}
}Claude Code
claude mcp add --transport http aso.best https://aso.best/mcp \ --header "Authorization: Bearer aso_…your token…"
Codex (config.toml)
[mcp_servers."aso.best"]
url = "https://aso.best/mcp"
http_headers = { Authorization = "Bearer aso_…your token…" }Tools, and what each is for
read_competitorapp, country, language
Every phrase an app ranks for: popularity, difficulty, position, hidden-field phrases. Starts a two-minute run when no fresh report exists.
run_statusrun_id
Where a run is, and the whole report once it is done.
compare_appscompetitor, app, country
Your position on every phrase the competitor ranks for; the gaps listed separately.
score_phrasephrase, country
One keyword: popularity, difficulty, the first page, related queries, an autocomplete traffic estimate under Apple's floor, a verdict.
find_appquery, country
A name to App Store apps with ids, ratings and the public page.
follow_appadam_id, is_mine
Follow an app as yours or as a rival to watch.
app_profileapp
Rating, version, what's new, chart positions everywhere, latest report.
visibility_scoreapp
One app's visibility 0–100 from charts, ratings, keywords and listing, with what to fix first.
my_apps
The apps you follow, with today's numbers and the last seven days.
unfollow_appadam_id
Stop following an app; its tracked keywords go too.
track_keywordsphrases, adam_id, country
Track phrases for a followed app in one store: a position every morning, within the plan's limit.
untrack_keywordphrase, adam_id, country
Stop tracking one phrase.
my_keywords
The keywords you track: today, yesterday, best in the history window, popularity, difficulty.
niche_analysisphrase, country
A phrase and the queries beside it: who owns the first pages, dominance, median difficulty, demand, and an open / contested / locked verdict.
play_keywordphrase, country, app
Google Play: the first page for a phrase, rating counts, difficulty on the same scale, and where a package sits.
competitor_finderapp, country
The ten apps that keep ranking beside an app, with every phrase each ranks for.
top_chartscountry, chart, genre, limit
Apple's top 100 with movement, climbers, fallers and drop-outs.
algorithm_changescountry, days
Did the store move today? Share of tracked positions and chart rows that moved ten places or more, per day and storefront, with the shaken days.
ratings_by_countryapp
Ratings and average in each of the 22 storefronts.
get_listingadam_id
Your App Store Connect listing: every locale with name, subtitle, keywords, promo, description, what's new, and whether the version is editable.
translate_listingadam_id, from, to, fields
Translate one locale into others inside Apple's limits; returns the text, saves nothing. Pro and up.
update_listingadam_id, locale, fields…
Save fields of one locale to App Store Connect; nothing is submitted for review. Pro and up.
get_play_listingpackage
Your Google Play listing: every language with title, short and full description.
translate_play_listingpackage, from, to
Translate one Play language into others inside Google's limits; proposals only. Pro and up.
update_play_listingpackage, language, fields…
Save one language of the Play listing; Google reviews it before it goes live. Pro and up.
Questions
- What does the AI actually get?
- Structured JSON with the same numbers the report shows, plus a legend so the model reads ≤5 as "no data" and "hidden" as "in the keyword field". No estimates, no prose it has to trust.
- Is the token safe?
- It is stored as a hash and shown to you once. Revoke or replace it any time from Runs. It can only read reports and start runs on your account; it cannot change billing.
- Why does read_competitor sometimes take two minutes?
- A fresh read means around fifty live store searches at Apple's pace and up to twenty-five Apple Ads calls. Anything read in the last week comes back at once.