Pack local or remote codebases into AI-friendly files that LLMs and coding agents can read or search
Apple Developer MCP by Nova (CIVAI) is installed from its publisher's own source and answers where it runs, so this marketplace is not in the path of a single call. There is no address here to send one to, and a panel that pretended otherwise would be showing you an answer we made up. Install it and call it from your own client — the Installation tab has the entry for each one.
What it does
Ship a new iOS app from chat. AI runs App Store Connect, builds, release, and submission through Ap…
Quickstart
# 1 — add it to Claude Code
claude mcp add --scope user --transport http apple-developer-mcp-by-nova-civai https://nova.civai.co/mcp/agents/mcp-apple_developer
# 2 — ask your agent for something these tools do
# login, session_status, list_bundle_ids and 52 more
Apple Developer MCP by Nova (CIVAI) costs nothing on mcprush: there is no plan to choose here, no cap to set and nothing mcprush can bill you for.
Collected from a public index. Nobody has claimed this account, so nothing here was written by its author — claim it if it is yours.
Where are you running it?
Every route below installs the same thing and ends at the same approval screen. Nothing here runs on your machine and nothing runs on ours: this server answers at its publisher’s own address, and what you install is the connection straight to it.
This is a public server: it answers at its publisher’s own address and this marketplace is not in the path. Claude Code registers it in one command; --scope user makes it available in every project. The transport below is http, as the publisher's own manifest declares it.
claude mcp add --scope user --transport http apple-developer-mcp-by-nova-civai https://nova.civai.co/mcp/agents/mcp-apple_developerReconnect, or start a new session, and the tools appear in the model’s tool list.
One config entry pointing straight at the publisher’s own address — this marketplace is not in the path, and nothing from this listing executes on your machine.
55 tools, with what each one reads, writes and reaches shown before you agree — the same list on every route above. Read the tool surface.
Tool surface
What the model actually sees. Descriptions are diffed on every release — see version history.
After operator completes Apple IDMSA in a browser, verify Developer portal session (checkPermissions).
| Parameter | Type | Required | Notes |
|---|---|---|---|
| notification_message | string | no | Short user-facing sentence for this action if the follow-up reply fails. Plain text only; do not mention template syntax or variable names. |
ASC session check
| Parameter | Type | Required | Notes |
|---|---|---|---|
| notification_message | string | no | Short user-facing sentence for this action if the follow-up reply fails. Plain text only; do not mention template syntax or variable names. |
List bundle IDs registered on developer.apple.com for the current team. Use to find an existing bundle_id before create_bundle_id or get_bundle_id.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| notification_message | string | no | Short user-facing sentence for this action if the follow-up reply fails. Plain text only; do not mention template syntax or variable names. |
Register a new bundle ID on developer.apple.com (requires Developer Identifiers session from start_browser_auth).
| Parameter | Type | Required | Notes |
|---|---|---|---|
| bundle_id | string | yes | — |
| bundle_display_name | string | no | — |
| bundle_platform | string | no | — |
| developer_team_id | string | yes | Apple Developer Team ID (teamId query parameter). |
| notification_message | string | no | Short user-facing sentence for this action if the follow-up reply fails. Plain text only; do not mention template syntax or variable names. |
Remove a bundle ID from developer.apple.com (requires Developer Identifiers session from start_browser_auth).
| Parameter | Type | Required | Notes |
|---|---|---|---|
| bundle_id | string | no | Reverse-DNS id to remove (resolved via ascBundleIds if record id omitted). |
| developer_bundle_record_id | string | no | Developer portal bundleIds record id (from Identifiers edit URL). |
| developer_team_id | string | yes | Apple Developer Team ID (teamId). |
| notification_message | string | no | Short user-facing sentence for this action if the follow-up reply fails. Plain text only; do not mention template syntax or variable names. |
List App Store Connect API team keys and the team issuer id (for EAS / CI). Does not return private keys.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| notification_message | string | no | Short user-facing sentence for this action if the follow-up reply fails. Plain text only; do not mention template syntax or variable names. |
Create an App Store Connect API team key. Optionally downloads the one-time .p8 private key PEM (treat like a password; never commit).
| Parameter | Type | Required | Notes |
|---|---|---|---|
| api_key_nickname | string | yes | — |
| api_key_role | string | no | — |
| download_p8 | boolean | no | Fetch private key immediately after create (only chance Apple offers) |
| notification_message | string | no | Short user-facing sentence for this action if the follow-up reply fails. Plain text only; do not mention template syntax or variable names. |
Download the one-time .p8 private key for an existing API key when canDownload is still true.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| api_key_id | string | yes | — |
| notification_message | string | no | Short user-facing sentence for this action if the follow-up reply fails. Plain text only; do not mention template syntax or variable names. |
Permanently revoke an App Store Connect API team key (cannot be undone).
| Parameter | Type | Required | Notes |
|---|---|---|---|
| api_key_id | string | yes | — |
| confirm_revoke_api_key | boolean | yes | Must be true to proceed |
| notification_message | string | no | Short user-facing sentence for this action if the follow-up reply fails. Plain text only; do not mention template syntax or variable names. |
Get details for one existing bundle ID by its ASC resource id. Use after list_bundle_ids to confirm platform and capabilities before create_app.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| notification_message | string | no | Short user-facing sentence for this action if the follow-up reply fails. Plain text only; do not mention template syntax or variable names. |
List apps visible to the current App Store Connect session. Use to find an existing asc_app_id before create_app or any per-app tool.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| notification_message | string | no | Short user-facing sentence for this action if the follow-up reply fails. Plain text only; do not mention template syntax or variable names. |
List ASC app bundles (iris GET /appBundles).
| Parameter | Type | Required | Notes |
|---|---|---|---|
| notification_message | string | no | Short user-facing sentence for this action if the follow-up reply fails. Plain text only; do not mention template syntax or variable names. |
Create ASC app bundle (may 403 if tenant allows GET only).
| Parameter | Type | Required | Notes |
|---|---|---|---|
| bundle_name | string | no | Display name for the app bundle. |
| primary_app_id | string | no | ASC apps id for the first app in the bundle. |
| notification_message | string | no | Short user-facing sentence for this action if the follow-up reply fails. Plain text only; do not mention template syntax or variable names. |
Create App Store Connect app
| Parameter | Type | Required | Notes |
|---|---|---|---|
| bundle_id | string | yes | — |
| app_name | string | yes | — |
| sku | string | yes | — |
| primary_locale | string | no | — |
| version_string | string | no | — |
| notification_message | string | no | Short user-facing sentence for this action if the follow-up reply fails. Plain text only; do not mention template syntax or variable names. |
Get one app's details (name, bundle id, SKU) by asc_app_id. Use to confirm the right app before making changes to it.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| notification_message | string | no | Short user-facing sentence for this action if the follow-up reply fails. Plain text only; do not mention template syntax or variable names. |
Update an existing app's name, primary locale, or bundle id (PATCH apps). Use when correcting app-level metadata after create_app.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| notification_message | string | no | Short user-facing sentence for this action if the follow-up reply fails. Plain text only; do not mention template syntax or variable names. |
PATCH app store version localization promotional text (requires asc_app_id / localization_id on tenant).
| Parameter | Type | Required | Notes |
|---|---|---|---|
| promotional_text | string | no | — |
| localization_id | string | no | — |
| notification_message | string | no | Short user-facing sentence for this action if the follow-up reply fails. Plain text only; do not mention template syntax or variable names. |
Update the current app store version's description, keywords, promotional text, what's new, support URL, or marketing URL for one localization (PATCH app store version localization). Use for App Store listing copy tied to a specific version, not app-level info (see update_app_info_localization).
| Parameter | Type | Required | Notes |
|---|---|---|---|
| localization_id | string | no | — |
| description | string | no | — |
| keywords | string | no | — |
| promotional_text | string | no | — |
| whats_new | string | no | — |
| support_url | string | no | — |
| marketing_url | string | no | — |
| notification_message | string | no | Short user-facing sentence for this action if the follow-up reply fails. Plain text only; do not mention template syntax or variable names. |
Create or reuse an external TestFlight group, attach a processed build, enable the public join link, and return https://testflight.apple.com/join/… Requires asc_session_cookie (session_status OK). First external build may need Beta App Review before the link works for everyone.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| asc_app_id | string | yes | — |
| build_id | string | no | — |
| build_number | string | no | — |
| build_selection | string | no | — |
| beta_group_name | string | no | — |
| skip_beta_review | string | no | — |
| beta_app_description | string | no | — |
| beta_what_to_test | string | no | — |
| beta_feedback_email | string | no | — |
| beta_privacy_policy_url | string | no | — |
| beta_marketing_url | string | no | — |
| beta_contact_first_name | string | no | — |
| beta_contact_last_name | string | no | — |
| beta_contact_phone | string | no | — |
| beta_contact_email | string | no | — |
| notification_message | string | no | Short user-facing sentence for this action if the follow-up reply fails. Plain text only; do not mention template syntax or variable names. |
Submit a processed build for TestFlight external Beta App Review (iris betaAppReviewSubmissions). Not App Store press_submit_for_review. Fills beta app description, what to test, contact, and privacy URL when provided. Poll get_testflight_public_link until accepting_public_testers is true before sharing the join URL.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| asc_app_id | string | yes | — |
| build_id | string | no | — |
| build_number | string | no | — |
| build_selection | string | no | — |
| beta_group_name | string | no | — |
| beta_app_description | string | no | — |
| beta_what_to_test | string | no | — |
| beta_feedback_email | string | no | — |
| beta_privacy_policy_url | string | no | — |
| beta_marketing_url | string | no | — |
| beta_contact_first_name | string | no | — |
| beta_contact_last_name | string | no | — |
| beta_contact_phone | string | no | — |
| beta_contact_email | string | no | — |
| notification_message | string | no | Short user-facing sentence for this action if the follow-up reply fails. Plain text only; do not mention template syntax or variable names. |
List ASC builds for asc_app_id (newest first). Use before attach if operator names a build number.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| asc_app_id | string | no | — |
| notification_message | string | no | Short user-facing sentence for this action if the follow-up reply fails. Plain text only; do not mention template syntax or variable names. |
Operator uploaded a new build: attach latest, build_number (ASC build version), or build_id to the current store version; optionally submit for review when confirm_submit_for_review=true.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| asc_app_id | string | no | — |
| app_store_version_id | string | no | — |
| build_id | string | no | — |
| build_number | string | no | e.g. 21 — matches builds.attributes.version |
| build_selection | string | no | — |
| attach_only | string | no | true = attach only, do not submit |
| confirm_submit_for_review | string | no | true = after attach, create review submission and PATCH submitted=true |
| uses_non_exempt_encryption | string | no | — |
| notification_message | string | no | Short user-facing sentence for this action if the follow-up reply fails. Plain text only; do not mention template syntax or variable names. |
Upload a .ipa to App Store Connect via Transporter on the replay host. For CI/Expo-built apps, upload the .ipa through Expo or your CI pipeline directly and skip this tool — it exists only for builds that must be uploaded from the replay host itself. Supply ipa_url (https) or the host-local ipa_path.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| ipa_url | string | no | https URL to download signed .ipa before Transporter upload |
| ipa_path | string | no | Legacy path on replay host or https URL |
| notification_message | string | no | Short user-facing sentence for this action if the follow-up reply fails. Plain text only; do not mention template syntax or variable names. |
Set which build is attached to an app store version without also running export-compliance or wait-for-processing steps. Use attach_build_and_compliance instead when the build may still be processing.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| app_store_version_id | string | no | — |
| build_id | string | no | — |
| notification_message | string | no | Short user-facing sentence for this action if the follow-up reply fails. Plain text only; do not mention template syntax or variable names. |
Get the status and attached items of one review submission by review_submission_id. Use to check progress after create_review_submission.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| notification_message | string | no | Short user-facing sentence for this action if the follow-up reply fails. Plain text only; do not mention template syntax or variable names. |
Create a new, empty review submission (READY_FOR_REVIEW) for an app so a version/build can be attached before submit. Use press_submit_for_review instead if you just want to submit the current version in one step.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| notification_message | string | no | Short user-facing sentence for this action if the follow-up reply fails. Plain text only; do not mention template syntax or variable names. |
Attach an app store version or build item to an existing review submission by review_submission_id. Use after create_review_submission when building a submission manually.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| notification_message | string | no | Short user-facing sentence for this action if the follow-up reply fails. Plain text only; do not mention template syntax or variable names. |
Upload done: attach latest/build number/build_id to current version, then press Submit for Review in ASC via API.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| asc_app_id | string | no | — |
| app_store_version_id | string | no | — |
| build_id | string | no | — |
| build_number | string | no | — |
| build_selection | string | no | — |
| uses_non_exempt_encryption | string | no | — |
| notification_message | string | no | Short user-facing sentence for this action if the follow-up reply fails. Plain text only; do not mention template syntax or variable names. |
Build already on version: create review submission and PATCH submitted=true. Requires confirm_submit_for_review=true.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| asc_app_id | string | no | — |
| app_store_version_id | string | no | — |
| confirm_submit_for_review | string | yes | — |
| notification_message | string | no | Short user-facing sentence for this action if the follow-up reply fails. Plain text only; do not mention template syntax or variable names. |
Press Submit for Review, restricted to apps on the probe/disposable allowlist (checked server-side) and gated behind confirm_probe_submit=true. For regular apps use press_submit_for_review or submit_build_and_press_submit instead; this tool exists only for automated testing against throwaway apps.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| asc_app_id | string | no | — |
| app_store_version_id | string | no | — |
| confirm_submit_for_review | string | yes | — |
| notification_message | string | no | Short user-facing sentence for this action if the follow-up reply fails. Plain text only; do not mention template syntax or variable names. |
Resolution Center threads and App Review messages for asc_app_id. Empty threads until Apple opens a rejection/message thread.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| asc_app_id | string | yes | — |
| resolution_center_thread_id | string | no | — |
| notification_message | string | no | Short user-facing sentence for this action if the follow-up reply fails. Plain text only; do not mention template syntax or variable names. |
Add a VALID build to TestFlight internal or external beta group. For internal, also pass tester_emails (ASC team addresses) or call invite_testflight_testers testing_scope=internal — otherwise ASC shows 0 Testers and TestFlight stays empty.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| asc_app_id | string | yes | — |
| build_id | string | no | — |
| build_number | string | no | — |
| build_selection | string | no | — |
| testing_scope | string | no | — |
| tester_emails | string | no | Comma-separated team emails to add to internal group |
| beta_group_name | string | no | — |
| skip_beta_review | string | no | — |
| beta_app_description | string | no | — |
| beta_what_to_test | string | no | — |
| beta_feedback_email | string | no | — |
| beta_privacy_policy_url | string | no | — |
| beta_contact_first_name | string | no | — |
| beta_contact_last_name | string | no | — |
| beta_contact_phone | string | no | — |
| beta_contact_email | string | no | — |
| notification_message | string | no | Short user-facing sentence for this action if the follow-up reply fails. Plain text only; do not mention template syntax or variable names. |
Add testers to a TestFlight beta group by email. testing_scope=internal: ASC team emails for Internal Testing group (required before TestFlight app shows the build). testing_scope=external: external group email invites.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| asc_app_id | string | no | — |
| tester_emails | string | yes | Comma-separated emails |
| testing_scope | string | no | — |
| beta_group_id | string | no | — |
| beta_group_name | string | no | Default Internal Testing or Public Link Testers by scope |
| notification_message | string | no | Short user-facing sentence for this action if the follow-up reply fails. Plain text only; do not mention template syntax or variable names. |
List active App Store Connect team members and pending email invitations, returning only each person's identifier (email/username) and roles. Use before internal TestFlight distribution to confirm someone is on the team and has a TestFlight-eligible role.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| notification_message | string | no | Short user-facing sentence for this action if the follow-up reply fails. Plain text only; do not mention template syntax or variable names. |
Invite a user to your App Store Connect team (email invitation, 3-day expiry). Required for internal TestFlight when they are not already a team user. Does not replace invite_testflight_testers (external beta emails).
| Parameter | Type | Required | Notes |
|---|---|---|---|
| invite_email | string | yes | — |
| invite_first_name | string | yes | — |
| invite_last_name | string | yes | — |
| asc_roles | string | no | Comma-separated roles, e.g. DEVELOPER or APP_MANAGER,DEVELOPER |
| limit_visible_apps | string | no | — |
| visible_app_ids | string | no | — |
| confirm_invite_team_member | string | yes | — |
| notification_message | string | no | Short user-facing sentence for this action if the follow-up reply fails. Plain text only; do not mention template syntax or variable names. |
List existing screenshot and app preview sets for an app store version localization (read-only). Use before upload_screenshot to see which display sizes already have assets.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| notification_message | string | no | Short user-facing sentence for this action if the follow-up reply fails. Plain text only; do not mention template syntax or variable names. |
Get one build's processing state and metadata by build_id. Use before attach_build_and_compliance to confirm the build finished processing.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| notification_message | string | no | Short user-facing sentence for this action if the follow-up reply fails. Plain text only; do not mention template syntax or variable names. |
Get the Resolution Center and App Review URLs for an app, for messages Apple has not exposed via list_review_messages. Use when an operator needs to open the review thread directly in a browser.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| notification_message | string | no | Short user-facing sentence for this action if the follow-up reply fails. Plain text only; do not mention template syntax or variable names. |
GET iOS appStoreVersions for asc_app_id
| Parameter | Type | Required | Notes |
|---|---|---|---|
| asc_app_id | string | no | — |
| notification_message | string | no | Short user-facing sentence for this action if the follow-up reply fails. Plain text only; do not mention template syntax or variable names. |
Update the localized app name, subtitle, and privacy policy URL for one locale (PATCH app info localization). Use for text shown on the App Store listing page, not screenshots.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| app_info_localization_id | string | no | — |
| app_name | string | no | — |
| subtitle | string | no | — |
| privacy_policy_url | string | no | — |
| notification_message | string | no | Short user-facing sentence for this action if the follow-up reply fails. Plain text only; do not mention template syntax or variable names. |
Upload one App Store screenshot into a single carousel slot via the screenshot bytes (screenshot_image_base64) or a URL to fetch them from (screenshot_image_url). Call once per slide (default size APP_IPHONE_65 / 6.5″); screenshot_file_path only works when the file already exists on the replay host's filesystem.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| localization_id | string | no | — |
| screenshot_image_base64 | string | no | PNG/JPEG base64 or data: URI (MCP preferred) |
| screenshot_image_url | string | no | https URL to master image |
| screenshot_file_path | string | no | Legacy: https URL or path on SecOps replay host |
| screenshot_display_type | string | no | — |
| notification_message | string | no | Short user-facing sentence for this action if the follow-up reply fails. Plain text only; do not mention template syntax or variable names. |
Poll until build processing VALID
| Parameter | Type | Required | Notes |
|---|---|---|---|
| build_id | string | no | — |
| notification_message | string | no | Short user-facing sentence for this action if the follow-up reply fails. Plain text only; do not mention template syntax or variable names. |
PATCH build export encryption flag
| Parameter | Type | Required | Notes |
|---|---|---|---|
| build_id | string | no | — |
| uses_non_exempt_encryption | string | no | — |
| notification_message | string | no | Short user-facing sentence for this action if the follow-up reply fails. Plain text only; do not mention template syntax or variable names. |
After Expo/CI has uploaded the .ipa to ASC: list builds for asc_app_id, wait until processing is VALID, attach build_id to app_store_version_id, set export compliance (uses_non_exempt_encryption usually false).
| Parameter | Type | Required | Notes |
|---|---|---|---|
| asc_app_id | string | no | — |
| app_store_version_id | string | no | — |
| build_id | string | no | Optional; latest build from list_builds when omitted. |
| uses_non_exempt_encryption | string | no | — |
| notification_message | string | no | Short user-facing sentence for this action if the follow-up reply fails. Plain text only; do not mention template syntax or variable names. |
Create or update App Store review contact and demo sign-in for the current version (iris appStoreReviewDetail). Required before press_submit_for_review for login apps.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| asc_app_id | string | no | — |
| review_contact_email | string | yes | — |
| review_contact_first_name | string | yes | — |
| review_contact_last_name | string | yes | — |
| review_contact_phone | string | yes | — |
| demo_account_name | string | no | Required when the app has sign-in (default). Omit only if requires_demo_account is false. |
| demo_account_password | string | no | Demo password for App Review. Pair with demo_account_name. |
| review_notes | string | yes | — |
| requires_demo_account | boolean | no | Default true. Set false only when the app has no user sign-in. |
| notification_message | string | no | Short user-facing sentence for this action if the follow-up reply fails. Plain text only; do not mention template syntax or variable names. |
Set the app's age rating questionnaire answers (content descriptors) required before submit. Use once per app, or when content descriptors change.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| notification_message | string | no | Short user-facing sentence for this action if the follow-up reply fails. Plain text only; do not mention template syntax or variable names. |
Set primary App Store category, version copyright, and third-party content rights declaration.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| primary_category | string | no | — |
| copyright | string | no | — |
| content_rights_declaration | string | no | — |
| notification_message | string | no | Short user-facing sentence for this action if the follow-up reply fails. Plain text only; do not mention template syntax or variable names. |
Set App Privacy data-collection declarations (iris appDataUsages): pass app_privacy_profile=contact or analytics for the built-in presets, or app_privacy_profile=custom with an inline declarations JSON array when the presets don't match what the app actually collects. See SKILLS.md App Privacy section for the preset definitions.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| app_privacy_profile | string | no | — |
| publish_app_privacy | string | no | — |
| replace_app_privacy | string | no | — |
| app_privacy_declarations_json | string | no | Required when app_privacy_profile=custom. Inline JSON: {"declarations":[{"category":"USER_ID","purpose":"APP_FUNCTIONALITY","dataProtection":"DATA_LINKED_TO_YOU"},...]} or same array without wrapper. |
| notification_message | string | no | Short user-facing sentence for this action if the follow-up reply fails. Plain text only; do not mention template syntax or variable names. |
Delete empty READY_FOR_REVIEW review submission drafts (zero items) for an app. Use dry_run=true to list orphans only. Clears slots before press_submit_for_review.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| asc_app_id | string | yes | — |
| review_submission_id | string | no | Optional — delete one open orphan draft by id |
| dry_run | string | no | List would_delete only; no DELETE when true |
| notification_message | string | no | Short user-facing sentence for this action if the follow-up reply fails. Plain text only; do not mention template syntax or variable names. |
Read-only checklist before Submit for Review (build, privacy, category, copyright). Includes orphan_review_submission_ids for empty drafts.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| asc_app_id | string | no | — |
| notification_message | string | no | Short user-facing sentence for this action if the follow-up reply fails. Plain text only; do not mention template syntax or variable names. |
Set or read USA base price tier (0 free, 1+ paid). Paid apps still need Agreements/Tax/Banking in ASC Business.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| price_tier | string | no | — |
| price_base_territory | string | no | — |
| pricing_mode | string | no | — |
| notification_message | string | no | Short user-facing sentence for this action if the follow-up reply fails. Plain text only; do not mention template syntax or variable names. |
Delete screenshots for targeted iPhone display types (e.g. APP_IPHONE_61 only). Use dry_run=true to list without DELETE. Requires localization_id from get_app_store_version.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| localization_id | string | no | — |
| screenshot_display_types | string | yes | Comma-separated types, e.g. APP_IPHONE_61 |
| screenshot_id | string | no | Optional — delete one screenshot when it belongs to a targeted size |
| dry_run | string | no | — |
| notification_message | string | no | Short user-facing sentence for this action if the follow-up reply fails. Plain text only; do not mention template syntax or variable names. |
Upload one App Store screenshot for a single iPhone display size from a master image that this tool auto-resizes. Pass screenshot_image_base64 or screenshot_image_url when the image bytes or a fetchable URL are available; use screenshot_display_types to pick exactly one display size per call, and call again for additional sizes.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| screenshot_image_base64 | string | no | — |
| screenshot_image_url | string | no | — |
| screenshot_file_path | string | no | — |
| screenshot_display_types | string | no | Single type per call, e.g. APP_IPHONE_65 (default). Not comma-separated. |
| screenshot_display_type | string | no | Alias when passing one size via screenshot_display_type. |
| notification_message | string | no | Short user-facing sentence for this action if the follow-up reply fails. Plain text only; do not mention template syntax or variable names. |
Business portal links for Agreements/Tax/Banking plus price schedule hints (contracts are human-signed).
| Parameter | Type | Required | Notes |
|---|---|---|---|
| asc_app_id | string | no | — |
| notification_message | string | no | Short user-facing sentence for this action if the follow-up reply fails. Plain text only; do not mention template syntax or variable names. |
Open App Store Connect sign-in only when needed. If the saved session is still valid, this tool returns success immediately and does not open the viewer. Call session_status first. Use force_reconnect only when the user explicitly wants to wipe the saved cookie and sign in again (destructive).
| Parameter | Type | Required | Notes |
|---|---|---|---|
| force_reconnect | boolean | no | DESTRUCTIVE: delete the saved session cookie for this tenant, then open the viewer for a fresh sign-in. Do not set true unless the user explicitly asks to sign out / reconnect / clear session. |
- Every tool — any call limit is its publisher’s, not ours
- No card, and mcprush charges nothing for it
- Runs at its publisher’s own address — this marketplace is not in the path
- Nothing to cap, because mcprush bills nothing
What counts against your monthly calls
| Tool | Unit | Calls used | Out of the allowance |
|---|
Nothing here is billable: mcprush charges nothing to install Apple Developer MCP by Nova (CIVAI) or to call it, at any volume.
Two independent axes, because powerful and malicious are different questions. The grade is threat only. The capability level is blast radius, and it is never a penalty on the grade — it is priced as one subtract-only term in the score, where you can see it.
| Term | Level | What it prices | Points |
|---|---|---|---|
| capability-exposure | moderate | capability blast radius (moderate) — client exposure if the model is manipulated | −3 |
| coverage-honesty | manifest | inspection depth (manifest) — how much of the target the scan could see | −4 |
What the scan could actually read
A grade is only as meaningful as its coverage, so the scanner publishes its own depth before it publishes its result.
The scan read each tool’s name, description, input schema and annotations exactly as the server listed them the last time it answered us; no code was reviewed. We ask the server again about once a month, and a list that changed is graded again.
The implementation source was not read — this reflects the declared tool metadata only.
Capability — what it could do if the model were manipulated
Tags derived from each tool’s schema and the implementation, not from what the tool calls itself. moderate is the level these add up to.
| Tool | Capability tags | Why the tag was assigned |
|---|---|---|
| login | no tags | |
| session_status | no tags | |
| list_bundle_ids | no tags | |
| create_bundle_id | no tags | |
| delete_bundle_id | no tags | |
| list_asc_api_keys | no tags | |
| create_asc_api_key | no tags | |
| download_asc_api_key | untrusted-input | untrusted-input: keyword "download" |
| revoke_asc_api_key | no tags | |
| get_bundle_id | no tags | |
| list_apps | no tags | |
| list_app_bundles | no tags | |
| create_app_bundle | no tags | |
| create_app | no tags | |
| get_app | no tags | |
| update_app | no tags | |
| probe_update_version_localization | no tags | |
| update_version_localization | no tags | |
| get_testflight_public_link | no tags | |
| submit_testflight_beta_review | no tags | |
| list_builds | no tags | |
| submit_build_for_review | no tags | |
| upload_build | no tags | |
| set_version_build | no tags | |
| get_review_submission | no tags | |
| create_review_submission | no tags | |
| attach_review_item | no tags | |
| submit_build_and_press_submit | no tags | |
| press_submit_for_review | no tags | |
| submit_for_review | no tags | |
| list_review_messages | no tags | |
| distribute_build_to_testflight | no tags | |
| invite_testflight_testers | no tags | |
| list_asc_team_members | no tags | |
| invite_asc_team_member | no tags | |
| list_app_media_sets | no tags | |
| get_build | no tags | |
| get_review_path | no tags | |
| get_app_store_version | no tags | |
| update_app_info_localization | no tags | |
| upload_screenshot | untrusted-input | untrusted-input: keyword "fetch" |
| wait_build_processed | no tags | |
| set_export_compliance | no tags | |
| attach_build_and_compliance | no tags | |
| update_app_review_information | no tags | |
| set_age_rating | no tags | |
| set_app_store_metadata | no tags | |
| set_app_privacy | no tags | |
| delete_orphan_review_submissions | no tags | |
| get_pre_submit_status | no tags | |
| set_pricing_and_availability | no tags | |
| delete_screenshots | no tags | |
| upload_screenshots | no tags | |
| get_account_compliance_status | no tags | |
| start_browser_auth | no tags |
Toxic-flow graph
The lethal trifecta, checked as a graph rather than as a checklist: untrusted input, a sensitive source and an external sink have to meet before there is a path worth worrying about.
The public result for this release does not print the flow graph, so there is nothing to show here. That is not the same as "no paths were found": what the scan did read is above, under coverage.
Supply chain and provenance
This is the first scan of this surface here, so there is nothing yet to compare it against.
Every result on this tab comes from one deterministic pass over the published package — offline, rule by rule, and auditable line by line above. Same methodology version, same bytes, same score.
Release history
This is an address its publisher runs: which release it serves is theirs to choose, so there is nothing here to pin. The history below is for reading; the current release on file is 1.0.0.
No release note was published with this version.
One review per account, from a signed-in account that does not publish this listing. Nothing else is asked — you can say what you think before you install it. Publishers can reply once per review, and a review can be edited or deleted by whoever wrote it.
Any signed-in account that does not publish Apple Developer MCP by Nova (CIVAI) can review it, once — before installing it or after. A review from an account that has installed it is marked as one.
Nobody has reviewed this listing. The rating on the card is the mean of the reviews written here and nothing else, so there is no rating until somebody writes the first — which takes a signed-in account that does not publish it, and nothing else.