StoreScout

Both stores.
One agent.
Running on a cron.

A self-hosted MCP server with 56 tools for App Store and Google Play optimization — the only one that writes your optimized listing back to Google Play Console as well as App Store Connect, then keeps tracking keyword ranks, chart positions and competitors unattended and tells you when they move.

Free tier, no license key, no account: 23 tools of read-only analysis across both stores, including reads of your own live listings and a full keyword-gap report against up to three competitors. Your store credentials never leave your machine.

claude code — storescout
you ▸audit both listings for com.acme.notes
●aso_audit ios → grade B+
●aso_audit android → grade D
title 19/30 · short 41/80 · full 612/4000
●aso_mine_reviews 1,204 reviews · 37 terms
●gp_score_keywords_batch 8 scored
●validate_metadata ok
●gpp_update_listing en-US
title 29/30 · short 78/80 · full 3,140/4000
committed to Google review
●aso_track_active_keywords 8 tracked, both

Illustrative session with an example bundle ID. Tool names and character limits are the real ones.

What it is

An open-source MCP server you run on your own machine that turns your AI coding agent into a two-store ASO analyst with publish rights and a memory.

The problem

ASO is a loop, and on Android nobody has ever closed it.

The iOS half is now a solved-ish problem. There are tools — including free ones — that will research keywords and push metadata to App Store Connect from inside your agent. Good. Use them.

Then you open Play Console.

There is no keyword field on Google Play, so the whole job is rewriting a 30-character title, an 80-character short description and a 4,000-character full description, in every language — and no agent tooling will put the result back. So the Android listing gets written once, at launch, by whoever had the deadline, and then never again. Meanwhile Play does expose install counts, a demand signal the App Store flatly does not have. It is the easier store to research and the harder one to act on.

And both stores share a second broken half: the loop has no memory.

You pick keywords on a Tuesday. Four weeks later you cannot remember which ones you changed, you have no idea whether the ones you kept are climbing or sinking, and your agent — with a blank context window and a fresh opinion — happily swaps out the keyword that was quietly working. Research tools give you a snapshot. Nobody keeps the time-series, the change log, and the "do not touch this, it is climbing" rule that turn ASO from a launch-day task into a process.

What StoreScout runs, on your hardware

read both listings→ research both stores→ score→ validate→ write both back→ log the change→ track ranks & charts on a cron→ alert on movement

One tool. One machine. No credential ever leaves it.

Capabilities

Every tool named here exists, in the tier it is claimed in.

free no license key needed ios App Store play Google Play pro Pro or Studio

Start with a graded audit and a gap report — free, no credentials

Point it at any app on either store, yours or a competitor's, and get an A–F report from public data alone: title, keywords, description and social proof graded, with prioritised fixes and missed keyword opportunities. Review mining pulls the vocabulary your users actually type and the pain points from the 1–2 star reviews — on Android, where there is no official search API, that is the strongest signal available.

Then aso_keyword_gap, also free: the keywords your competitors rank for and you don't, prioritised, plus the ones you already own. Pass up to three competitor IDs directly — one live search per keyword reveals every rank at once, so it needs no registry, no credentials and no license key.

aso_audit aso_mine_reviews aso_keyword_gap

Keyword research on both stores, with real scores

Popularity is a 6-signal composite, difficulty is 7 weighted factors, and opportunity is popularity × (100 − difficulty) / 100. Every keyword comes back classified: Sweet Spot, Hidden Gem, Good Target, Moderate, High Competition, Low Volume. Play scoring is built on install counts and rating volume of the top apps — a competition signal the App Store does not expose.

suggest_keywords score_keyword score_keywords_batch validate_metadata get_competitors gp_suggest_keywords gp_score_keyword gp_score_keywords_batch gp_get_competitors gp_top_charts gp_app

Write-back to Google Play — the part no other MCP server does

Title, short description and full description, per language, through the official Android Publisher API v3. Play writes are transactional: each call opens an edit, patches it and commits in one shot, and a failed call best-effort-deletes its own edit so none dangle. Committing submits to Google review by default; pass changesNotSentForReview to stage instead.

gpp_update_listing gpp_update_details gpp_get_listings gpp_get_details

And to App Store Connect

Keywords, description, what's new and promotional text; name and subtitle; new versions in PREPARE_FOR_SUBMISSION, which keyword and description edits require. By default only your primary locale exists, so there are tools to create the others before you write to them. Every write to either store is logged locally with a field-level before/after diff, in one shared history.

asc_update_version_localization asc_update_app_info_localization asc_create_version asc_get_current_metadata

Memory: the change log and the churn brake

A keyword you swapped out last Tuesday for no reason is a keyword you threw away. StoreScout remembers, and uses what it remembers to overrule the agent. That history powers hysteresis, which we have not found in any other ASO tool: a keyword active under 30 days with stable scores is protected from replacement. A keyword whose rank is falling overrides that protection. A keyword that is climbing is never replaced, however good the alternative scores.

aso_get_change_history aso_get_active_keywords_with_age aso_keyword_trend aso_get_keyword_score_history

Tracking that keeps running when you are not watching

Keyword ranks on both stores, stored under separate sources so one app can be tracked on both at once, with movements noise-filtered so you get signal not jitter. Category chart position from Apple's RSS feeds. A persistent competitor registry tracked over time against your keywords, rather than today's snapshot. Then refresh-all.js in cron, and Slack or webhook alerts, deduped so the same movement never fires twice.

aso_track_active_keywords aso_refresh_ranks aso_get_rank_movements aso_track_app_categories aso_track_competitor_keywords aso_send_alerts aso_report

Where we actually sit

The free MIT column is real. We are not going to pretend otherwise.

aso-mcp is free, MIT, and already does the App Store Connect write path — including a batch update across 40 locales in one call, which is better than anything we ship. If you are iOS-only, start there. The column that is ours alone is Writes Play listing.

 Covers AndroidWrites iOS listing Writes Play listingChart tracking Unattended cron + alertsChange logSelf-hostedPrice
aso-mcp (MIT)NoYes NoNoNo NoYesFree
AstroNoNoNo ReadNoNoNo $9/mo
MobileAction LiteYesNoNo ReadEmail onlyNoNo $15/mo
AppFollowYesNoNo ReadYesNoNo from $29/mo
AppfiguresYesNoNo ReadYesNoNo $69/mo
AppTweakYesNoNo ReadYesNoNo $79/mo
Sensor TowerYesNoNo ReadYesNoNo $2,500+/yr
StoreScout ProYesYesYes Yes (iOS)YesYesYes$99/yr

Pricing

Annual only, and here is the honest reason.

Your license is an offline-verifiable signed token with an expiry date — there is no license server to check in with. That is exactly why your credentials and your data never leave your laptop, and also why monthly billing would mean re-issuing your key twelve times a year on software we cannot remotely switch off.

Checkout is not open yet. Email storescout@bircube.com and we will send a payment link and your license key the same day. The free tier needs none of this — install it now and it works immediately.

$0

Free

A complete read-only ASO analyst for both stores. No key, no account.

  • 23 tools, both stores
  • Graded audits & review mining
  • Keyword-gap analysis vs 3 competitors
  • Keyword research & scoring
  • Read your live listings from both consoles
  • No write-back
  • No tracking, history or alerts
Install from GitHub
$99/year Most buy this

Pro

The cross-platform indie with one to three apps live on both stores.

  • All 33 paid tools unlocked
  • Write back to Google Play Console
  • Write back to App Store Connect
  • Rank tracking on both stores
  • Category chart tracking (iOS)
  • Change log, score history & hysteresis
  • Competitor registry & rank history
  • Reports, CSV export & alerts
  • Unattended cron refresh
  • 3 tracked apps · 1 machine
Email to buy — $99/year
$299/year

Studio

The small studio or contract shop with five to thirty apps on both stores.

  • Everything in Pro
  • Unlimited tracked apps
  • 5 machines, plus CI / headless
  • Priority email support
  • Commercial terms beyond AGPL-3.0: ask us †
Email to buy — $299/year

Small print, on the page, not hidden

01Pro and Studio unlock exactly the same 33 tools. They differ on app count, machines and terms — not on capability. We are not holding a feature hostage to sell you the bigger box.
02An app counts against your limit only once you rank-track or chart-track it. Looking an app up, auditing it, reading its metadata or registering it as a competitor costs you nothing — otherwise a 3-app license would die the moment you glanced at four competitors.
03On Free the 1-app line is a formality. The tracking tools are locked, so the cap can never bind: read-only analysis works on any app you can look up, on either store.
04Machine counts are a license term, not a technical lock. There is no phone-home and nothing counts your installs. We are telling you the terms and trusting you to keep them.
05If you ship iOS only and all you want is keyword research plus a metadata push, read the comparison above first. There is a free MIT tool that may be all you need, and we would rather you found that out here than after paying us.
06Prices in USD, exclusive of any VAT or sales tax added at checkout.

† StoreScout is AGPL-3.0-only and builds on earlier open-source work. Terms beyond the AGPL are not published yet — if your use needs them, email us before you buy on that basis and we will confirm scope in writing. Running StoreScout locally as an MCP server for your own or your clients' apps asks nothing of you under the AGPL.

Is this for you

We would rather lose the sale than handle the refund.

Good fit

  • You ship on both stores, and the Android listing is the one that never gets maintained.
  • You want rank, chart and change history to accumulate between releases without you running anything by hand.
  • You hold your own App Store Connect key and Play service account, and you are not allowed — or not willing — to upload them to a SaaS.
  • You already use an MCP-capable agent daily. StoreScout has no interface of its own; the agent is the interface.
  • You are comfortable with npm i -g, Node 20+ and editing an MCP client config file.

Bad fit

  • You are iOS-only and want research plus a metadata push. aso-mcp is free and MIT and does that. Start there.
  • You want a dashboard, a mobile app or emailed chart reports.
  • You need download or revenue estimates, paid-UA attribution or competitor install numbers. We do not have that data and will not invent it.
  • You need ASO advice rather than ASO tooling. The judgement stays with you and your agent.
  • You cannot install software on the machine that holds your store credentials.

Limitations we are putting in writing

01Android rank tracking is lower fidelity than iOS. iOS ranks come from Apple's iTunes Search API, a fixed top 200. Android ranks are scraped from the public, logged-out Play storefront: shallower, less deterministic, and anything past about rank 100 reads as unranked. Reliable for detecting movement, not for exact position.
02Play scraping breaks from time to time. Google publishes no official search API. When the public storefront changes shape, the Android analysis tools break until we ship a fix, and there is no SLA on the Play scraper — best effort, in writing. The Play write path uses the official Android Publisher API and is not affected.
03Category chart tracking is iOS only. Apple publishes RSS chart feeds; Google does not. For Android you get point-in-time lookups via gp_top_charts, not a tracked time-series.
04No batch-locale update tool. Multi-locale writes go one locale per call. If you routinely push 40 locales at once, aso-mcp does that in one call for iOS and we do not.
05iTunes Search ranks are a proxy, not ground truth. Apple personalises what real users see. Consistent enough to detect movement; not the number in your user's App Store.
06Rate limits are real. Rank refreshes run at one request per second by design, on both stores. Large keyword sets take minutes.
07Cron needs a machine that is awake. If your laptop is asleep when the job fires, that day is skipped; the 20-hour staleness window means the next run catches up.
08Your agent's tokens are yours. All analysis runs through your AI subscription. Heavy multi-locale work uses a meaningful number of tokens, and that bill is yours, not ours.
09Store review still gates the important edits. Keyword and description changes need a version in PREPARE_FOR_SUBMISSION; name and subtitle changes always go through Apple review; a Play commit goes to Google review by default. StoreScout writes to the API — it cannot skip anyone's queue.
10The license gate is a speed bump, not DRM. The code is AGPL-3.0 and you can read lib/license.js. Nothing stops a determined person forking it and deleting the gate. We sell to people who want updates and support, not a fork to maintain.

FAQ

The questions we would ask.

How does this compare to aso-mcp? Isn't that free?

It is free, it is MIT, and it is good — be clear-eyed about this before you pay us anything. It gives an agent 20 tools for App Store keyword research, competitor analysis, review sentiment, rank history and App Store Connect metadata updates, including a batch update across up to 40 locales in one call, which is better than anything we ship. If you are iOS-only and want research plus a metadata push, download theirs and keep your $99.

Where we differ, and it is not small: aso-mcp does not touch Google Play at all — no Play keyword research, no Play rank tracking, no way to write a Play Console listing. We do all three through the official Android Publisher API. We also have category chart tracking, a cron script with webhook and Slack alerts, a persistent competitor registry with rank history, a field-level change log across both stores, and hysteresis. 56 tools versus 20, across two stores versus one. Buy StoreScout if you ship on both stores and want the history to accumulate on its own. Otherwise, genuinely, use theirs.

What happens when my license expires?

It downgrades. It never bricks. For 14 days past expiry your paid tier keeps working untouched — that grace window exists so a lapsed card cannot kill your nightly cron mid-run. After that StoreScout falls back to the free tier: every read-only analysis tool keeps working forever, your local history database is untouched and nothing is deleted. Renew and the same data is there.

The server also starts warning you 30 days out, in its own output, so the date does not ambush you. This was coded before it was written down: a license problem of any kind — expired, malformed, wrong signature — degrades to the free tier with a note on stderr. It is never allowed to crash your server.

Is any of my data sent anywhere? Do you see my store credentials?

No. There is no StoreScout server. The only hosts StoreScout talks to are Apple (api.appstoreconnect.apple.com, itunes.apple.com, rss.applemarketingtools.com), Google (androidpublisher.googleapis.com, oauth2.googleapis.com, and play.google.com for public-storefront scraping) and any Slack or webhook URL you configure.

Your .p8 and your Play service-account JSON stay on disk; JWT signing happens locally. Your license key is verified offline against a public key compiled into the code and is never transmitted. No telemetry, no analytics, no usage reporting — and because there is no license server we cannot see whether you are running it at all. Your keyword history lives in a local SQLite file you can delete whenever you like.

Why annual only? I would rather pay monthly.

Your license is a signed token with an expiry date that your own machine verifies offline. There is no server to check in with — which is exactly why your credentials and your data never leave your laptop, and also why a monthly plan would mean re-issuing your key twelve times a year and chasing failed cards on software we cannot remotely switch off. Annual keeps the mechanism simple and the price honest. Pro is about $12 a month if that helps the comparison.

Why AGPL-3.0?

Two reasons, one defensive and one for you. Defensive: AGPL stops a competitor taking this closed-source and selling it back to you as a SaaS. For you: the code that holds your publishing credentials is code you can read, audit and fork.

For normal use — running it locally as an MCP server for your own or your clients' apps — the AGPL asks nothing of you; its network clause is about serving the program to remote users, which a local stdio server is not. If you need to run it inside a product you distribute, email us and we will tell you plainly where things stand.

Do I need my own App Store Connect key?

For anything that reads or writes your real iOS listing, yes: an App Store Connect API key with the App Manager role, which is the only path Apple allows. For Android you need a Google Play service account with the Android Publisher API enabled and store-listing permission granted in Play Console. Both are free to create and take about five minutes each; storescout-setup auto-detects the .p8 and the service-account JSON if you leave them in the folder you run it from.

You need no credentials for the free analysis tools — audits, review mining, keyword scoring and competitor research on both stores all run on public data.

What if Apple changes their API, or Google changes their store pages?

Both happen, and they are different risks. Apple's side runs on documented, versioned APIs — App Store Connect, iTunes Search, the marketing RSS feeds — which are stable and which we track. The Google Play write side uses the official Android Publisher API v3, also documented and stable.

The Google Play analysis side scrapes the public storefront because no official search API exists, and that is the piece that breaks: when it does, those tools fail until we ship a fix, and we make no SLA promise about it. We put Play analysis in the free tier partly for that reason. If a breakage ever makes the paid surface substantially unusable for an extended period, write to us — we would rather refund than argue.

What exactly counts as an "app" against my limit?

Only apps you have put into rank or chart tracking. Looking an app up, auditing it, reading its metadata or registering it as a competitor does not consume a slot — we count tracking, not curiosity. Ask your agent to run storescout_license any time to see your tier, status, expiry, apps used and remaining, and which tool groups are unlocked.

Can I move my license to another machine?

Yes. The license is a text token tied to your email, not to hardware. Put it in ~/.storescout/license.jwt (or the STORESCOUT_LICENSE_KEY environment variable) on the new machine and it works. Pro covers one machine, Studio five plus CI — terms we ask you to honour, not something we technically enforce, because enforcing them would need the phone-home we deliberately do not have. Lost your key? Email us from the address you bought with and we will resend it.

Do you offer refunds?

Yes — 14 days, no questions. Know what you are agreeing to on both sides: because licenses verify offline there is no revocation list, so we cannot technically switch a refunded key off before its expiry date. We refund on trust and ask you to stop using the key.

If you are unsure whether StoreScout fits, run the free tier first — it is a complete read-only ASO analyst for both stores and will tell you most of what you need to know before any money changes hands.

Is the Android side as good as the iOS side?

Partly, and the split matters. Android write is first-class: official Publisher API, transactional edits, change logging identical to iOS. Android keyword research is genuinely good, and in one way better than iOS because Play exposes install counts.

But Android rank tracking is scraped from the public storefront, so it is shallower and noisier than iOS's fixed top 200 and only directionally reliable — and Android chart-position tracking does not exist at all, because Google publishes no RSS equivalent. If Android rank history is the only reason you are buying, buy something else.

Which MCP clients does it work with?

It is a standard MCP server over stdio, so any client that can launch a stdio server works — Claude Code, Claude Desktop, Cursor and others. Claude Code gets one extra: a bundled /aso-optimize slash command that runs the whole pipeline end to end, for iOS or Android, across multiple locales. Everywhere else you drive the same tools by asking.

What is on the roadmap, and what will you never build?

Never: a web dashboard, hosted credential storage, or any service that holds your keys. Those are the whole reason this can be a $99/yr self-hosted tool instead of a $79/mo SaaS.

As for what is next, we are not going to publish a roadmap we have not built. Buy it for what it does today.

Before you pay us anything

Audit both your listings first.

The free tier is not a crippled demo. It is a complete read-only ASO analyst across both stores: graded audits of any app on the App Store or Google Play, review mining for the words your users actually use, full keyword scoring for iOS and Android, constraint validation, and reads of your own live listings from both consoles. No license key, no account, no credit card.

Install it, point it at your apps, and read what it says about the Android one. If the fixes are worth shipping, Pro is the tier that ships them — and keeps watching after you do.

Annual. Expiry downgrades to free, never breaks. 14-day refund. Your store credentials never leave your machine.