Skip to content
verify mcp Beta VerifyMCP is currently in beta. If you notice any issues, get in touch and we’ll put it right.

io.github.beautyfree/app-store-connect

NPM · MCP-ASC · SCANNED SEP 20

App Store Connect API as MCP: apps, TestFlight, subscriptions, localizations, reports. JWT auth.

Available components

0 this week 83 Trust /100
Trust breakdown (7 categories)

How this component scores in each security and reliability category. Every signal is checked automatically from public evidence about the published package, including repeated runs of it in an isolated sandbox, and we only credit what we can confirm. How we score → Why this is hard to score →

Supply Chain Security99
  • No malware found by supply-chain analysis.Pass
  • No known CVEs affecting this package version or its production dependencies.Pass
  • No install/post-install scripts declared.Pass
  • 46 of 186 dependencies flagged as unhealthy. View diagnostics → Partial
Provenance & Transparency45
Schema Quality & AI Usability81
  • AI-judged instruction clarity (excellent).Pass
  • Tool/resource definitions use about 5947 tokens (~87/item across 68 items; 68 tools + 0 resources), lean.Pass
  • Usage-examples check failed: none of the tools include examples. See how to fix → Fail
Stability & Change Management83
  • Stability observed for 25 of 30 days with no destabilising changes; credit accrues until the full window elapses.Partial
Tool Coverage98
  • 100% of tools have a non-trivial description (not blank, and not just the tool's name).Pass
  • 93% of tool parameters carry a description.Partial
Tool Safety100
  • No prompt-injection markers were found in the server instructions, tool names or descriptions we captured.Pass
  • All 1 tool(s) whose name or description implies an irreversible operation declare an MCP destructiveHint annotation.Pass
  • An AI judge read all 68 captured unit(s) of tool text and found none that tries to manipulate the model reading it.Pass
Capabilities100
  • Implements a supported MCP spec version (2025-11-25); the latest is 2026-07-28.Pass
Install

How do I install the io.github.beautyfree/app-store-connect MCP server?

io.github.beautyfree/app-store-connect runs locally as an npm package, launched with npx -y mcp-asc. Ready-made configuration for Claude, Cursor, VS Code, Codex and 5 more is on this page, copied from each client's own documentation.

npm · mcp-asc

# add to Claude Code
claude mcp add beautyfree-app-store-connect -- npx -y mcp-asc
// .cursor/mcp.json
{
  "mcpServers": {
    "beautyfree-app-store-connect": {
      "command": "npx",
      "args": [
        "-y",
        "mcp-asc"
      ]
    }
  }
}
// .vscode/mcp.json
{
  "servers": {
    "beautyfree-app-store-connect": {
      "command": "npx",
      "args": [
        "-y",
        "mcp-asc"
      ]
    }
  }
}
# add to Codex CLI
codex mcp add beautyfree-app-store-connect -- npx -y mcp-asc
// opencode.json
{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "beautyfree-app-store-connect": {
      "type": "local",
      "command": [
        "npx",
        "-y",
        "mcp-asc"
      ],
      "enabled": true
    }
  }
}
# add to OpenClaw
openclaw mcp add beautyfree-app-store-connect --command npx --arg -y --arg mcp-asc
# ~/.hermes/config.yaml
mcp_servers:
  beautyfree-app-store-connect:
    command: "npx"
    args: ["-y", "mcp-asc"]
// ~/.netclaw/config/netclaw.json
{
  "McpServers": {
    "beautyfree-app-store-connect": {
      "Transport": "stdio",
      "Command": "npx",
      "Arguments": [
        "-y",
        "mcp-asc"
      ]
    }
  }
}
# add to Vellum
assistant mcp add beautyfree-app-store-connect -t stdio -c npx -a -y mcp-asc
// mcp.json
{
  "mcpServers": {
    "beautyfree-app-store-connect": {
      "command": "npx",
      "args": [
        "-y",
        "mcp-asc"
      ]
    }
  }
}
Changelog

Every change we have recorded for this component, newest first. Security-relevant changes are always shown. ▲ marks a change for the better, ▼ a change for the worse; unmarked changes are neutral.

  • 20 Sept 26 +1
    • Security disclosure: unverified → fail functional
  • 19 Sept 26 −3
    • Security disclosure: fail → unverified functional
    • Stability: pass → 0.80 functional
  • 18 Sept 26 0
    • Stability: 0.97 → pass security
  • 17 Sept 26 +1
    • Security disclosure: unverified → fail functional
  • 16 Sept 26 0
    • Security disclosure: fail → unverified functional
  • 15 Sept 26 +1

    No change was recorded against any check on this day. Stability & Change Management went from 87 to 90. That category is still filling its 30-day observation window: 26 days of observed history at the previous scan, 27 at this one. The score rises as the window fills, whether or not the server changes.

  • 14 Sept 26 0
    • Security disclosure: unverified → fail functional
  • 13 Sept 26 +1
    • Security disclosure: fail → unverified functional
Diagnostics

Diagnostic detail from the automated scan of this channel: what the scanner observed at each step, so you can see exactly where a check passed or failed. It is informational only and never changes the trust score.

Captured 20 Sept 2026 · Analysed npm/mcp-asc@2.0.4

Provenance No attestation

The registry publishes no build provenance for this version, so there is nothing to verify.

Result No attestation
Ecosystem npm

Background: How many MCP packages publish verified provenance →

Dependencies 186 packages
Packages resolved 186
Stale 46
Tree resolution Complete

Background: SBOMs and build attestations, explained →

MCP tools · 68 exposed · ~5,947 tokens

The tools this component advertises to a client, with an estimated token cost for each. Expand a tool to see its parameters and schema. The per-tool counts are indicative and are not scored directly; the schema's total context footprint is one signal in Schema Quality & AI Usability. A tool's description is untrusted text the model reads on every call, which is what makes this list a security surface and not just an inventory: how tool poisoning works →

Tool Tokens
add-beta-testers-to-group ~78

Add one or more beta testers to a TestFlight group. Tester IDs come from list-beta-testers.

NameTypeReqDescription
betaGroupIdstringyesBeta group ID to add testers to (required)
betaTesterIdsyesBeta tester ID(s) to add (one or more; use list-beta-testers to get IDs)

No output schema declared.

No examples provided.

create-app-store-version ~125

Create a new App Store version for an app (platform + version string). Optionally attach a build.

NameTypeReqDescription
appIdstringyesApp ID (required)
buildIdstringOptional build ID to attach to this version
copyrightstringCopyright text
platformstringyesPlatform (e.g. IOS, MAC_OS)
releaseTypestringHow to release after approval (default: MANUAL)
versionStringstringyesVersion string for the store (e.g. 1.2.0)

No output schema declared.

No examples provided.

create-customer-review-response ~76

Reply to an App Store customer review. One response per review; use list-customer-reviews to get review IDs.

NameTypeReqDescription
customerReviewIdstringyesCustomer review ID (from list-customer-reviews; the review to respond to)
responseBodystringyesDeveloper response text (visible to the user)

No output schema declared.

No examples provided.

create-phased-release ~74

Enable phased release for an App Store version (gradual rollout to users). Version must be approved or already in release.

NameTypeReqDescription
appStoreVersionIdstringyesApp Store version ID to enable phased release for
phasedReleaseStatestringInitial state (INACTIVE, ACTIVE, PAUSED, COMPLETE)

No output schema declared.

No examples provided.

create-subscription ~204

Create an auto-renewable subscription in a subscription group. Requires productId (permanent) and name. Then add localizations and prices (create-subscription-localization, create-subscription-price).

NameTypeReqDescription
familySharablebooleanWhether the subscription is shareable with family
groupLevelnumberLevel within the group for display order (0-based)
namestringyesReference name for the subscription (e.g. Premium Weekly)
productIdstringyesProduct ID (e.g. premium_weekly_v1). Permanent; cannot be reused if deleted.
reviewNotestringNote for App Review (e.g. test account)
subscriptionGroupIdstringyesSubscription group ID (from list-subscription-groups or list-subscription-group-subscriptions context)
subscriptionPeriodstringDuration: ONE_WEEK, ONE_MONTH, TWO_MONTHS, THREE_MONTHS, SIX_MONTHS, ONE_YEAR

No output schema declared.

No examples provided.

create-subscription-availability ~135

Set which territories the subscription is available in. Call this before create-subscription-price; otherwise adding a price often returns 409 ENTITY_ERROR.RELATIONSHIP.INVALID.

NameTypeReqDescription
availableInNewTerritoriesbooleanIf true, the subscription becomes available in new territories Apple adds in the future. Default true.
subscriptionIdstringyesSubscription ID (from create-subscription or list-subscription-group-subscriptions)
territoryIdsyesTerritory ID(s) where the subscription is for sale (e.g. USA). Use list-territories to get IDs. Required before adding prices with create-subscription-price.

No output schema declared.

No examples provided.

create-subscription-group ~76

Create a subscription group (container for auto-renewable subscriptions). Then add subscriptions with create-subscription.

NameTypeReqDescription
appIdstringyesApp ID. The new group will belong to this app.
referenceNamestringyesReference name for the subscription group (e.g. Premium). Shown in App Store Connect.

No output schema declared.

No examples provided.

create-subscription-localization ~110

Create a localized name/description for a subscription. Add one per locale (e.g. en-US, de-DE). Required for submission.

NameTypeReqDescription
descriptionstringLocalized description for the subscription
localestringyesLocale (e.g. en-US, de-DE). One localization per locale.
namestringyesLocalized display name for the subscription
subscriptionIdstringyesSubscription ID (from create-subscription or list-subscription-group-subscriptions)

No output schema declared.

No examples provided.

create-subscription-price ~228

Attach a price to a subscription (by price point and optionally territory). Set subscription availability first with create-subscription-availability for the territory, or you may get 409 ENTITY_ERROR.RELATIONSHIP.INVALID. Use price point IDs from list-subscription-price-points; when you used filter[territory] there, pass that same territoryId here.

NameTypeReqDescription
preserveCurrentPricebooleanIf true, existing subscribers keep their current price when you add a new price
startDatestringISO 8601 date when this price becomes effective. Omit for immediate.
subscriptionIdstringyesSubscription ID (from create-subscription or list-subscription-group-subscriptions)
subscriptionPricePointIdstringyesPrice point ID from list-subscription-price-points for this subscription.
territoryIdstringTerritory ID (e.g. USA). When the price point came from list-subscription-price-points with filter[territory], pass that same territory here. Required by API for territory-specific price points; omit…

No output schema declared.

No examples provided.

download-finance-report ~124

Download a finance report (gzip TSV). Requires APP_STORE_CONNECT_VENDOR_NUMBER. Returns decompressed tab-delimited text.

NameTypeReqDescription
regionCodestringyesRegion/currency code (e.g. US, EU, Z1 for all Financial Detail, ZZ for Consolidated)
reportDatestringyesReport month (YYYY-MM)
reportTypestringFINANCIAL (summary) or FINANCE_DETAIL
vendorNumberstringVendor number (default: APP_STORE_CONNECT_VENDOR_NUMBER). Find in App Store Connect → Payments and Financial Reports.

No output schema declared.

No examples provided.

download-sales-report ~181

Download a sales and trends report (gzip TSV). Requires APP_STORE_CONNECT_VENDOR_NUMBER. Returns decompressed tab-delimited text.

NameTypeReqDescription
frequencystringyesFrequency: DAILY, WEEKLY, MONTHLY, or YEARLY
reportDatestringyesReport date: YYYY-MM-DD for DAILY, YYYY-MM for MONTHLY, YYYY for YEARLY; WEEKLY format varies by region
reportSubTypestringSub type (e.g. SUMMARY for summary report)
reportTypestringReport type (e.g. SALES for sales and trends)
vendorNumberstringVendor number (default: APP_STORE_CONNECT_VENDOR_NUMBER). Find in App Store Connect → Payments and Financial Reports.
versionstringReport schema version (default: 1_1 for DAILY SALES, else 1_0)

No output schema declared.

No examples provided.

get-actor ~71

Get actor (user or API key) by ID. Actors appear in review submissions and version history. Use list-actors with known IDs to resolve.

NameTypeReqDescription
actorIdstringyesActor ID (user or API key identity). Often returned in submission/version responses as submittedByActor or lastUpdatedByActor.

No output schema declared.

No examples provided.

get-app ~51

Get detailed information about a specific app

NameTypeReqDescription
appIdstringyesApp Store Connect app ID
includearrayRelationships to include (e.g. appStoreVersions, betaGroups, builds)

No output schema declared.

No examples provided.

get-app-availability ~50

Get app availability (territories where the app is available). Use list-territories for territory list.

NameTypeReqDescription
appIdstringyesApp ID. Availability defines which territories the app is in.

No output schema declared.

No examples provided.

get-app-info ~54

Get app info for one territory: age rating, category, app store state. IDs from list-app-infos.

NameTypeReqDescription
appInfoIdstringyesApp info ID (from list-app-infos; one per territory)

No output schema declared.

No examples provided.

get-app-store-review-detail ~66

Get App Review details for an App Store version: contact info, demo account, notes for reviewers. Set these before submitting for review.

NameTypeReqDescription
appStoreVersionIdstringyesApp Store version ID. Review detail (contact, demo account, notes) is per version.

No output schema declared.

No examples provided.

get-app-store-version ~44

Get detailed information about a specific App Store version (metadata, state, build link)

NameTypeReqDescription
appStoreVersionIdstringyesApp Store Connect app store version ID

No output schema declared.

No examples provided.

get-beta-group ~33

Get detailed information about a specific beta group

NameTypeReqDescription
betaGroupIdstringyesApp Store Connect beta group ID

No output schema declared.

No examples provided.

get-beta-license-agreement ~51

Get TestFlight beta license agreement text for an app. Update with update-beta-license-agreement.

NameTypeReqDescription
betaLicenseAgreementIdstringyesBeta license agreement ID (from list-beta-license-agreements)

No output schema declared.

No examples provided.

get-beta-tester ~34

Get detailed information about a specific beta tester

NameTypeReqDescription
betaTesterIdstringyesApp Store Connect beta tester ID

No output schema declared.

No examples provided.

get-build ~29

Get detailed information about a specific build

NameTypeReqDescription
buildIdstringyesApp Store Connect build ID

No output schema declared.

No examples provided.

get-bundle-id ~35

Get detailed information about a specific bundle ID

NameTypeReqDescription
bundleIdIdstringyesApp Store Connect bundle ID resource ID

No output schema declared.

No examples provided.

get-certificate ~31

Get detailed information about a specific signing certificate

NameTypeReqDescription
certificateIdstringyesApp Store Connect certificate ID

No output schema declared.

No examples provided.

get-device ~30

Get detailed information about a specific registered device

NameTypeReqDescription
deviceIdstringyesApp Store Connect device ID

No output schema declared.

No examples provided.

get-eula ~62

Get End User License Agreement (EULA) for an app. Returns agreement text and territory. Create/update via update-eula or App Store Connect UI.

NameTypeReqDescription
appIdstringyesApp ID. EULA is one per app (with optional territory variants).

No output schema declared.

No examples provided.

get-phased-release ~56

Get phased release for an App Store version (gradual rollout state). Returns 404 if version has no phased release.

NameTypeReqDescription
appStoreVersionIdstringyesApp Store version ID. Phased release is optional per version.

No output schema declared.

No examples provided.

get-pre-release-version ~41

Get detailed information about a specific pre-release (TestFlight) version

NameTypeReqDescription
preReleaseVersionIdstringyesApp Store Connect pre-release version ID

No output schema declared.

No examples provided.

get-review-submission ~56

Get a single App Store review submission by ID (state, items, app, etc.)

NameTypeReqDescription
includearrayRelationships to include
reviewSubmissionIdstringyesReview submission ID (from list-review-submissions)

No output schema declared.

No examples provided.

get-subscription ~56

Get one subscription by ID: productId, name, state, prices, review screenshot, introductory/promotional offers, etc.

NameTypeReqDescription
subscriptionIdstringyesSubscription ID (from list-subscription-group-subscriptions or app subscription groups)

No output schema declared.

No examples provided.

get-user ~35

Get detailed information about a team member (user)

NameTypeReqDescription
userIdstringyesApp Store Connect user (team member) ID

No output schema declared.

No examples provided.

list-actors ~62

List actors (users or API keys) by ID(s). Use when you have actor IDs from review submissions or version history.

NameTypeReqDescription
filter[id]yesActor ID(s) to fetch (required). Get IDs from submission/version responses.
limitnumber

No output schema declared.

No examples provided.

list-app-categories ~75

List App Store categories (reference for app metadata)

NameTypeReqDescription
exists[parent]booleanFilter by existence of parent category (true = subcategories only)
filter[platforms]Filter by platform(s)
limitnumberMaximum number of app categories to return (default 100, max 200)

No output schema declared.

No examples provided.

list-app-encryption-declarations ~82

List app encryption declarations (export compliance, encryption usage)

NameTypeReqDescription
filter[app]Filter by app ID(s)
filter[builds]Filter by build ID(s)
filter[platform]Filter by platform(s)
limitnumberMaximum number of app encryption declarations to return (default 100, max 200)

No output schema declared.

No examples provided.

list-app-infos ~74

List app infos for an app (one per territory): age rating, app store state, category. Use get-app-info for a single territory.

NameTypeReqDescription
appIdstringyesApp ID. App infos are per territory (age rating, etc.).
limitnumberMaximum number of app infos to return

No output schema declared.

No examples provided.

list-app-store-version-localizations ~85

List localizations for a specific App Store version (metadata per locale)

NameTypeReqDescription
appStoreVersionIdstringyesApp Store Connect app store version ID (required)
filter[locale]Filter by locale(s) (e.g. en-US)
limitnumberMaximum number of localizations to return (default 100, max 200)

No output schema declared.

No examples provided.

list-app-store-versions ~114

List App Store versions for an app (by app ID)

NameTypeReqDescription
appIdstringyesApp ID (required). List App Store versions for this app.
filter[appVersionState]Filter by app version state(s)
filter[id]Filter by version ID(s)
filter[platform]Filter by platform(s)
filter[versionString]Filter by version string(s)
limitnumberMaximum number of versions to return (default 100, max 200)

No output schema declared.

No examples provided.

list-apps ~87

Get a list of all apps in App Store Connect

NameTypeReqDescription
filter[bundleId]Filter by bundle identifier(s)
filter[id]Filter by app ID(s)
filter[name]Filter by app name(s)
filter[sku]Filter by SKU(s)
limitnumberMaximum number of apps to return (default 100, max 200)

No output schema declared.

No examples provided.

list-beta-app-localizations ~98

List TestFlight (beta) app localizations (feedback email, marketing URL, description per locale)

NameTypeReqDescription
filter[app]Filter by app ID(s)
filter[id]Filter by beta app localization ID(s)
filter[locale]Filter by locale(s) (e.g. en-US)
limitnumberMaximum number of beta app localizations to return (default 100, max 200)

No output schema declared.

No examples provided.

list-beta-app-review-details ~91

List TestFlight (beta) app review details for an app (contact info, demo account, notes)

NameTypeReqDescription
filter[app]yesApp ID(s) (required). Beta app review details for this app.
filter[id]Filter by beta app review detail ID(s)
limitnumberMaximum number of beta app review details to return (default 100, max 200)

No output schema declared.

No examples provided.

list-beta-app-review-submissions ~85

List TestFlight (beta) app review submissions for a build

NameTypeReqDescription
filter[betaReviewState]Filter by beta review state(s)
filter[build]yesBuild ID(s) (required). Beta app review submissions for this build.
limitnumberMaximum number of beta app review submissions to return (default 100, max 200)

No output schema declared.

No examples provided.

list-beta-groups ~78

Get a list of all beta groups (internal and external)

NameTypeReqDescription
filter[app]Filter by app ID(s)
filter[id]Filter by beta group ID(s)
filter[name]Filter by group name(s)
limitnumberMaximum number of groups to return (default 100, max 200)

No output schema declared.

No examples provided.

list-beta-license-agreements ~55

List TestFlight (beta) license agreements. One per app. Use get-beta-license-agreement to read or update text.

NameTypeReqDescription
filter[app]Filter by app ID(s)
limitnumber

No output schema declared.

No examples provided.

list-beta-testers ~120

Get a list of beta testers (optionally filter by app or beta group)

NameTypeReqDescription
filter[apps]Filter by app ID(s)
filter[betaGroups]Filter by beta group ID(s)
filter[email]Filter by email(s)
filter[firstName]Filter by first name(s)
filter[id]Filter by beta tester ID(s)
filter[lastName]Filter by last name(s)
limitnumberMaximum number of beta testers to return (default 100, max 200)

No output schema declared.

No examples provided.

list-build-beta-details ~80

List build beta details (export compliance, auto-notify, internal/external state) for TestFlight builds

NameTypeReqDescription
filter[build]Filter by build ID(s)
filter[id]Filter by build beta detail ID(s)
limitnumberMaximum number of build beta details to return (default 100, max 200)

No output schema declared.

No examples provided.

list-builds ~126

List builds for an app (optionally filter by version)

NameTypeReqDescription
filter[app]yesFilter by app ID(s) (required)
filter[id]Filter by build ID(s)
filter[preReleaseVersion.platform]Filter by pre-release platform(s)
filter[preReleaseVersion]Filter by pre-release version ID(s)
filter[processingState]Filter by processing state(s)
filter[version]Filter by build version string(s)
limitnumberMaximum number of builds to return (default 50, max 200)

No output schema declared.

No examples provided.

list-bundle-ids ~88

Get a list of bundle IDs registered in your team

NameTypeReqDescription
filter[id]Filter by bundle ID(s)
filter[identifier]Filter by bundle identifier(s)
filter[name]Filter by name(s)
filter[platform]Filter by platform(s)
limitnumberMaximum number of bundle IDs to return (default 100, max 200)

No output schema declared.

No examples provided.

list-certificates ~90

Get a list of signing certificates in your team

NameTypeReqDescription
filter[certificateType]Filter by certificate type(s)
filter[displayName]Filter by display name(s)
filter[id]Filter by certificate ID(s)
filter[serialNumber]Filter by serial number(s)
limitnumberMaximum number of certificates to return (default 100, max 200)

No output schema declared.

No examples provided.

list-ci-products ~68

List Xcode Cloud CI products (integrations per app)

NameTypeReqDescription
filter[app]Filter by app ID(s)
filter[productType]Filter by product type(s)
limitnumberMaximum number of CI products to return (default 100, max 200)

No output schema declared.

No examples provided.

list-customer-reviews ~143

List App Store customer reviews for an app store version (rating, title, body, response)

NameTypeReqDescription
appStoreVersionIdstringyesApp Store version ID (from list-app-store-versions or get-app with include appStoreVersions)
exists[publishedResponse]booleanFilter by whether a developer response exists
filter[rating]Filter by rating(s), e.g. 1, 2, 3, 4, 5
limitnumberMaximum number of reviews to return (default 50, max 200)
sortSort by rating or createdDate (prefix - for descending)

No output schema declared.

No examples provided.

list-devices ~99

Get a list of registered devices for development and testing

NameTypeReqDescription
filter[id]Filter by device ID(s)
filter[name]Filter by device name(s)
filter[platform]Filter by platform(s)
filter[status]Filter by device status(es)
filter[udid]Filter by UDID(s)
limitnumberMaximum number of devices to return (default 100, max 200)

No output schema declared.

No examples provided.

Common questions

What is the io.github.beautyfree/app-store-connect MCP server?

io.github.beautyfree/app-store-connect is an MCP server listed in the public MCP registry as io.github.beautyfree/app-store-connect. App Store Connect API as MCP: apps, TestFlight, subscriptions, localizations, reports. JWT auth. This page covers its npm package (mcp-asc).

Is the io.github.beautyfree/app-store-connect MCP server safe to use?

io.github.beautyfree/app-store-connect scores 83 out of 100 on VerifyMCP. We found no known CVEs affecting it as of 20 September 2026. It declares no install or post-install scripts. That is a record of what we were able to check automatically, not an endorsement. The category breakdown on this page shows every signal behind the number, including the ones we could not confirm.

What tools does the io.github.beautyfree/app-store-connect MCP server expose?

io.github.beautyfree/app-store-connect exposes 68 tools: add-beta-testers-to-group, create-app-store-version, create-customer-review-response, create-phased-release, create-subscription-availability, and 63 more. Their descriptions and schemas cost roughly 5,947 tokens of context every time the server is loaded.

Is the io.github.beautyfree/app-store-connect MCP server still maintained?

io.github.beautyfree/app-store-connect is still listed as active in the MCP registry. We last reached this channel on 20 September 2026. Those dates come from our own scans of the registry and the channel itself, not from anything the publisher announced.

What licence is the io.github.beautyfree/app-store-connect MCP server under?

io.github.beautyfree/app-store-connect declares the MIT licence, which is OSI-approved. That covers the source only, and says nothing about the cost of any service it calls.