Claude Code · App Store Connect

Read and reply to App Store reviews from Claude Code

Ask Claude Code what users are complaining about this week. MetaRun pulls the reviews, finds the recurring themes, and every reply Claude Code drafts is shown to you before it's posted under your app.

Setup checked October 2026 against Claude Code MCP docs, permissions

01 · Uplink

Connect Claude Code once

01 · Add the server

Run it in any terminal. --scope user makes MetaRun available in every project; leave it out to limit it to the current one.

claude mcp add --transport http --scope user metarun https://metarun.dev/api/mcp

02 · Sign in

In a Claude Code session, run /mcp, choose metarun and authenticate. MetaRun opens in your browser, where you pick read-only or read and change. From a plain shell, claude mcp login metarun does the same.

/mcp

03 · Optional: add the skills too

The MetaRun plug-in bundles the same server with six mission skills (release handoff, worldwide pricing, localization, review inbox, ASO audit, store media).

claude plugin marketplace add metarun/metarun-skills
claude plugin install metarun-skills@metarun
Prefer a personal access token (scripts, CI)?

Add the server with a token

Mint a personal access token in MetaRun under Settings, MCP. It's shown once and can be revoked any time.

claude mcp add --transport http --scope user metarun https://metarun.dev/api/mcp \
  --header "Authorization: Bearer $METARUN_TOKEN"

Or share it with your team in .mcp.json

Project scope writes .mcp.json at the repo root. Claude Code expands ${METARUN_TOKEN} from each person's environment, so the token itself is never committed.

{
  "mcpServers": {
    "metarun": {
      "type": "http",
      "url": "https://metarun.dev/api/mcp",
      "headers": { "Authorization": "Bearer ${METARUN_TOKEN}" }
    }
  }
}
02 · Briefing

What Claude Code handles here

Reviews arrive per storefront, in every language, and App Store Connect shows them one at a time. Answering the ones that matter (the bug report with one star, the feature request that keeps coming back) gets pushed to someday.

For a coding agent this is useful in a second way: the complaint and the code are in the same session. Claude Code can read a review about a crash, look at the code path, and draft a reply that says the fix is in 2.4.1.

03 · Preflight

Before you start

  • An API key with the Admin or Customer Support role, to reply.
  • A decision on tone, and on what you're willing to promise in public.
  • For crash complaints: the code or crash logs to check against.
04 · Execution

How it runs

  1. 01

    Pull and sort

    Claude Code reads recent reviews and sorts them by what needs an answer: low ratings with specific complaints first.

  2. 02

    Find the themes

    aso_mine_reviews groups complaints and praise without an extra model call, and lists words users use that your listing doesn't.

  3. 03

    Draft replies

    The agent drafts. Each reply is a preview showing the review and the exact text that will appear under it.

  4. 04

    Post on approval

    The apply posts the reply. It's public as soon as Apple processes it, so this is the step to read carefully.

05 · Session

An example session in Claude Code

Pull this week's 1- and 2-star reviews for com.example.app and group them by complaint.

  1. apple_list_reviewsThis week's reviews, lowest rating first.
  2. aso_mine_reviewsTop complaint theme: sync on iPad. Top praise: the widget.
  3. apple_preview_respond_to_reviewPreview: the reply, exactly as it will appear under the review.
  4. Claude Code asks before running apple_apply_respond_to_review. You read the preview above and approve.
  5. apple_apply_respond_to_reviewPosted. Public once Apple processes it.

Illustrative: your apps, versions and numbers will differ. The tool names and their order are real.

06 · Tools

The MetaRun tools Claude Code calls

ToolWhat it does
apple_list_reviewsreadCustomer reviews with rating, territory, text and any existing reply.
apple_get_review_summaryreadApple's AI summary of your reviews, the one shown on the product page.
aso_mine_reviewsreadPraise and complaint themes, plus keywords users use that your listing doesn't.
aso_get_territory_ratingsreadStar ratings per storefront and the worldwide average.
apple_preview_respond_to_reviewpreview + applyPreview a public reply, or an edit to an existing one.
apple_preview_delete_review_responsepreview + applyRemove a reply.

Each preview has an apply twin (the same name with apply instead of preview) that only runs with the confirm token from a fresh preview, and refuses if App Store Connect changed in between. MetaRun tools save to your MetaRun workspace only (studio projects, tracked keywords), never to Apple.

07 · Apple rules

What Apple enforces, and how MetaRun handles it

Replies are public

A developer response appears under the review on the App Store. Each review has one response; replying again replaces it.

The key needs the right role

Responding needs an App Store Connect API key with the Admin or Customer Support role. A key with a narrower role reads reviews but can't reply.

Ratings without text can't be answered

Only written reviews take a response. Star-only ratings show up in averages, not in the review list.

No ratings endpoint in the API

Apple's API has no per-storefront ratings call. MetaRun reads ratings from the public store lookup instead, so the numbers match what shoppers see.

08 · Comms

What to ask Claude Code

  • Ask Claude Code: Pull this week's 1- and 2-star reviews for com.example.app and group them by complaint.
  • Ask Claude Code: Three people say sync loses data on iPad. Find where that could happen in Sources/Sync, then draft replies saying the fix ships in 2.4.1.
  • Ask Claude Code: Reply to the five most helpful reviews this month. Show me every reply before posting.
09 · Unattended

Run it from a script with Claude Code

claude -p runs one request with no interactive session. The browser sign-in can't complete inside -p, so sign in once interactively first, or configure the server with a personal access token in CI. Tools missing from --allowedTools are refused in -p mode.

Read-only check, safe to schedule

claude -p "Summarize the last 7 days of reviews for com.example.app: count by rating, the top three complaint themes, and reviews with no reply. Read only." \
  --allowedTools "mcp__metarun__apple_list_reviews,mcp__metarun__apple_get_review_summary,mcp__metarun__aso_mine_reviews,mcp__metarun__aso_get_territory_ratings,mcp__metarun__apple_preview_respond_to_review,mcp__metarun__apple_preview_delete_review_response"

Only reads and previews are on that list, so nothing can reach App Store Connect unattended. Run applies in an interactive session where Claude Code can ask you.

10 · Safety

How Claude Code asks before a change

Claude Code asks before every MCP tool call by default. You can allow a tool for the session or permanently; allow rules look like mcp__metarun__apple_list_versions for one tool, and mcp__metarun__* allows the whole server, applies included. Allowing reads and previews is reasonable. Leave the apply tools on ask: that prompt is the confirm step for every App Store change.

Apple key stays on MetaRun, encryptedPreview before every writeRecorded, revertible from history
11 · FAQ

Frequently asked questions

Will Claude Code post replies on its own?

No. Each reply is a preview first and the apply needs your approval in Claude Code. Replies are public, so this is one to keep on ask.

Can it reply in the reviewer's language?

Yes. Claude Code writes the reply; MetaRun posts it under the review in whatever language you approved.

Can I edit or delete a reply later?

Yes. Replying again replaces the existing response, and apple_preview_delete_review_response removes it.

Why can't it see some ratings?

Star-only ratings have no text and no reply option. They count in your averages, which aso_get_territory_ratings reports per storefront.

How do I connect Claude Code to App Store Connect?

Run claude mcp add --transport http --scope user metarun https://metarun.dev/api/mcp, then run /mcp in Claude Code and sign in to MetaRun in your browser. After that, ask for "reply to reviews" in plain words and Claude Code picks the MetaRun tools.

Does Claude Code see my App Store Connect key?

No. Your App Store Connect API key stays envelope-encrypted on MetaRun's servers and is decrypted per request. Claude Code holds a MetaRun token that you can revoke in Settings at any time.

More with Claude Code

In depth: ASO rank tracking

Agent access

14-day free trial with agent access. No credit card. Your Apple key stays encrypted on MetaRun.