io.github.mikusnuz/app-publish
NPM · APP-PUBLISH-MCP
MCP server for App Store Connect & Google Play Console — iOS/Android app management
Available components
Last scanned (1 hour ago)
Scores higher than 45% of npm servers
Category Developer Tools
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 Security80
- No malware found by supply-chain analysis.Pass
- CVE check failed: a known high-severity CVE affects zod 3.25.76, a direct dependency. A fixed version is available. View diagnostics → Fail
- No install/post-install scripts declared.Pass
- Dependency health was assessed across the 162 of 163 dependencies we could resolve, so this covers what we could see, not the whole tree. View diagnostics → Partial
Provenance & Transparency45
- Source repository is publicly reachable at the declared URL. View diagnostics → Pass
- Provenance check failed: no build-provenance attestation is published. See how to fix → View diagnostics → Fail
- Clear OSI-approved license (MIT).Pass
- Actively maintained (last published 16 days ago).Pass
- Disclosure check failed: no security disclosure policy was found in the source repository. See how to fix → Fail
Schema Quality & AI Usability77
- 100% of prompts and resources have a non-trivial description (not blank, and not just the item's name).Pass
- AI-judged instruction clarity (good).Pass
- Tool/resource definitions use about 12627 tokens (~66/item across 190 items; 188 tools + 2 resources), lean.Pass
- Usage-examples check failed: none of the tools include examples. See how to fix → Fail
Stability & Change Management73
- Stability observed for 22 of 30 days with no destabilising changes; credit accrues until the full window elapses.Partial
Tool Coverage87
- 100% of tools have a non-trivial description (not blank, and not just the tool's name).Pass
- 62% of tool parameters carry a description.Partial
Tool Safety75
- No prompt-injection markers were found in the server instructions, tool names or descriptions we captured.Pass
- 0 of 24 tool(s) whose name or description implies an irreversible operation declare an MCP destructiveHint annotation; "apple_delete_placement" implies "delete" and declares no destructiveHint at all, which the MCP spec reads as destructive by default. See how to fix → Fail
- An AI judge read all 189 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
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.
- 5 Nov 26 +1
No change was recorded against any check on this day. Stability & Change Management went from 70 to 73. That category is still filling its 30-day observation window: 21 days of observed history at the previous scan, 22 at this one. The score rises as the window fills, whether or not the server changes.
- 3 Nov 26 −4
- Stability: fail → 0.67 functional
- 31 Oct 26 0
- CVE-2026-118773 affects this package: high ▼ security
- CVE-2026-118764 affects this package: high ▼ security
- 28 Oct 26 +1
No change was recorded against any check on this day. Stability & Change Management went from 92 to 95.
- 27 Oct 26 −1
No change was recorded against any check on this day. Stability & Change Management went from 95 to 92.
- 24 Oct 26 −5
- CVE-2023-54404 affects this package: high ▼ security
- Known CVEs: partial → fail ▼ security
- 20 Oct 26 +15
- Malware scan: unverified → pass ▲ security
- 19 Oct 26 −15
- Malware scan: pass → unverified ▼ security
- Schema quality: 9848 → 12627 ▼ functional
- Tool coverage: 69% → 62% ▼ functional
- Package version: 0.6.0 → 0.7.0 functional
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 5 Nov 2026 · Analysed npm/app-publish-mcp@0.7.0
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 →
Vulnerabilities 3 findings
| ID | CVE | Severity | Vector | Fix available |
|---|---|---|---|---|
| GHSA-3g3m-2fjr-6pw4 | CVE-2026-118773 | medium | yes | |
| GHSA-g3hv-75wg-m249 | CVE-2026-118764 | medium | yes | |
| GHSA-mrhx-c7xc-m3w5 | CVE-2023-54404 | high | CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H | yes |
Background: What a vulnerability scan can and cannot prove →
Dependencies 162 packages
| Packages resolved | 162 |
|---|---|
| Deprecated | 2 |
| Stale | 51 |
| Tree resolution | Partial |
The dependency tree was only partially resolved, so these counts may be incomplete.
Background: SBOMs and build attestations, explained →
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 →
apple_add_beta_testers_to_group ~46
Add beta testers to a group
| Name | Type | Req | Description |
|---|---|---|---|
| betaGroupId | string | yes | Beta Group ID |
| betaTesterIds | array | yes | Array of beta tester IDs |
No output schema declared.
No examples provided.
apple_add_review_submission_item ~98
Attach an Asset Library image/video, custom product page version, v2 experiment or app version to a draft, without submitting. For an initial app release include the app version; assigned assets are reviewed with their owning item. Retries reconcile an already attached item.
| Name | Type | Req | Description |
|---|---|---|---|
| appId | string | yes | – |
| platform | string | – | – |
| resourceId | – | yes | – |
| resourceType | string | yes | – |
| submissionId | – | yes | – |
No output schema declared.
No examples provided.
apple_assign_build ~40
Assign a build to an App Store version
| Name | Type | Req | Description |
|---|---|---|---|
| buildId | string | yes | Build ID |
| versionId | string | yes | App Store Version ID |
No output schema declared.
No examples provided.
apple_cancel_submission ~92
Cancel an in-review submission (if still possible). Operates on the reviewSubmissions resource created by apple_submit_for_review — sets attributes.canceled=true via PATCH. The legacy appStoreVersionSubmissions DELETE endpoint only applied to submissions created through the retired create-submission flow and does not accept reviewSubmissions IDs.
| Name | Type | Req | Description |
|---|---|---|---|
| submissionId | string | yes | Review Submission ID (the ID returned by apple_submit_for_review) |
No output schema declared.
No examples provided.
apple_create_accessibility_declaration ~142
Create an accessibility nutrition label declaration for an app on a specific device family (Accessibility Nutrition Labels)
| Name | Type | Req | Description |
|---|---|---|---|
| appId | string | yes | App ID |
| deviceFamily | string | yes | Device family this declaration applies to |
| supportsAudioDescriptions | boolean | – | – |
| supportsCaptions | boolean | – | – |
| supportsDarkInterface | boolean | – | – |
| supportsDifferentiateWithoutColorAlone | boolean | – | – |
| supportsLargerText | boolean | – | – |
| supportsReducedMotion | boolean | – | – |
| supportsSufficientContrast | boolean | – | – |
| supportsVoiceControl | boolean | – | – |
| supportsVoiceover | boolean | – | – |
No output schema declared.
No examples provided.
apple_create_analytics_report_request ~77
Ask Apple to start generating App Analytics reports (impressions, product page views, downloads, sessions, retention). ONGOING keeps producing daily data; the first reports take 1-2 days. Only one request per access type is allowed.
| Name | Type | Req | Description |
|---|---|---|---|
| accessType | string | – | – |
| appId | string | yes | – |
No output schema declared.
No examples provided.
apple_create_availability ~67
Create initial app availability with explicit territory settings; use available=true and preOrderEnabled=false for a normal release
| Name | Type | Req | Description |
|---|---|---|---|
| appId | string | yes | App ID |
| availableInNewTerritories | boolean | – | – |
| territories | array | yes | Initial availability settings for each selected territory |
No output schema declared.
No examples provided.
apple_create_beta_group ~106
Create a beta group
| Name | Type | Req | Description |
|---|---|---|---|
| appId | string | yes | App ID |
| feedbackEnabled | boolean | – | Enable feedback |
| hasAccessToAllBuilds | boolean | – | Auto-enable all new builds |
| isInternalGroup | boolean | – | Internal group for App Store Connect team members |
| name | string | yes | Group name |
| publicLinkEnabled | boolean | – | Enable public TestFlight link |
| publicLinkLimit | number | – | Max testers via public link |
No output schema declared.
No examples provided.
apple_create_bundle_id ~48
Register a new bundle ID
| Name | Type | Req | Description |
|---|---|---|---|
| identifier | string | yes | Bundle ID (e.g. com.example.app) |
| name | string | yes | Display name |
| platform | string | yes | – |
No output schema declared.
No examples provided.
apple_create_certificate ~65
Create a certificate
| Name | Type | Req | Description |
|---|---|---|---|
| certificateType | string | yes | Certificate type (e.g. IOS_DEVELOPMENT, IOS_DISTRIBUTION, MAC_APP_DISTRIBUTION, DEVELOPER_ID_APPLICATION) |
| csrContent | string | yes | Certificate Signing Request (CSR) content |
No output schema declared.
No examples provided.
apple_create_custom_product_page ~125
Create a custom product page with its first version and localizations in one request. Optionally copy screenshots and text from an App Store version or another custom page. Add visuals afterwards with the Asset Library placement tools.
| Name | Type | Req | Description |
|---|---|---|---|
| appId | string | yes | – |
| deepLink | string | – | Universal link opened when the app is already installed |
| localizations | array | yes | – |
| name | string | yes | – |
| templateAppStoreVersionId | – | – | Copy content from this App Store version |
| templateCustomProductPageId | – | – | Copy content from this custom product page |
No output schema declared.
No examples provided.
apple_create_custom_product_page_localization ~55
Add a locale to an editable custom product page version
| Name | Type | Req | Description |
|---|---|---|---|
| locale | string | yes | Locale code, e.g. en-US |
| promotionalText | string | – | – |
| versionId | string | yes | – |
No output schema declared.
No examples provided.
apple_create_custom_product_page_version ~40
Start a new editable version of an approved custom product page
| Name | Type | Req | Description |
|---|---|---|---|
| deepLink | string | – | – |
| pageId | string | yes | – |
No output schema declared.
No examples provided.
apple_create_experiment ~71
Create a product page optimization test. trafficProportion is the percentage of visitors sent to the treatments (split evenly); the rest see the original page.
| Name | Type | Req | Description |
|---|---|---|---|
| appId | string | yes | – |
| name | string | yes | – |
| platform | string | – | – |
| trafficProportion | integer | yes | – |
No output schema declared.
No examples provided.
apple_create_experiment_treatment ~58
Add a treatment (variant) to a test. appIconName selects an alternate icon shipped in the binary.
| Name | Type | Req | Description |
|---|---|---|---|
| appIconName | string | – | – |
| experimentId | string | yes | – |
| name | string | yes | – |
No output schema declared.
No examples provided.
apple_create_iap ~69
Create an in-app purchase
| Name | Type | Req | Description |
|---|---|---|---|
| appId | string | yes | App ID |
| inAppPurchaseType | string | yes | IAP type |
| name | string | yes | IAP name |
| productId | string | yes | Product ID (e.g. com.example.app.coins100) |
No output schema declared.
No examples provided.
apple_create_iap_offer_code ~108
Create an offer code for a consumable/non-consumable/non-renewing-subscription in-app purchase. Requires per-territory prices — look them up first with apple_get_iap_price_points.
| Name | Type | Req | Description |
|---|---|---|---|
| customerEligibilities | array | yes | Which customers are eligible |
| iapId | string | yes | In-App Purchase ID |
| name | string | yes | Internal reference name for the offer code |
| prices | array | yes | Per-territory prices for the offer |
No output schema declared.
No examples provided.
apple_create_phased_release ~55
Enable a seven-day phased release for an app update; phased release is unavailable for an app's first version
| Name | Type | Req | Description |
|---|---|---|---|
| state | string | – | – |
| versionId | string | yes | App Store Version ID for an update |
No output schema declared.
No examples provided.
apple_create_placement ~80
Place a ready library asset on an editable localization using a placement type and group from apple_get_asset_specs. Reuses an existing identical placement.
| Name | Type | Req | Description |
|---|---|---|---|
| assetId | – | yes | – |
| localizationId | string | yes | – |
| mediaType | string | yes | – |
| placementGroup | – | yes | – |
| placementType | – | yes | – |
| targetType | string | – | – |
No output schema declared.
No examples provided.
apple_create_profile ~86
Create a provisioning profile
| Name | Type | Req | Description |
|---|---|---|---|
| bundleIdId | string | yes | Bundle ID |
| certificateIds | array | yes | Array of certificate IDs |
| deviceIds | array | – | Array of device IDs (required for development profiles) |
| name | string | yes | Profile name |
| profileType | string | yes | Profile type (e.g. IOS_APP_DEVELOPMENT, IOS_APP_STORE) |
No output schema declared.
No examples provided.
apple_create_review_submission ~59
Create an empty review draft; does not submit it. For asset-only, custom product page or product page optimization review. Existing drafts must be explicitly resumed, not replaced.
| Name | Type | Req | Description |
|---|---|---|---|
| appId | string | yes | – |
| platform | string | – | – |
No output schema declared.
No examples provided.
apple_create_screenshot_set ~90
Legacy: create a screenshot set for a specific display type. Deprecated by Apple; prefer apple_upload_asset and apple_create_placement.
| Name | Type | Req | Description |
|---|---|---|---|
| displayType | string | yes | Display type (e.g. APP_IPHONE_67, APP_IPHONE_65, APP_IPAD_PRO_129, APP_IPAD_PRO_3GEN_129) |
| localizationId | string | yes | Version Localization ID |
No output schema declared.
No examples provided.
apple_create_subscription_group ~35
Create a subscription group
| Name | Type | Req | Description |
|---|---|---|---|
| appId | string | yes | App ID |
| referenceName | string | yes | Reference name |
No output schema declared.
No examples provided.
apple_create_subscription_offer_code ~174
Create a subscription offer code (custom or one-time-use codes distributed outside the App Store). Requires per-territory prices — look them up first with apple_get_subscription_price_points.
| Name | Type | Req | Description |
|---|---|---|---|
| autoRenewEnabled | boolean | – | Whether the subscription auto-renews after the offer period |
| customerEligibilities | array | yes | Which customers are eligible |
| duration | string | yes | Billing period duration of the offer |
| name | string | yes | Internal reference name for the offer code |
| numberOfPeriods | number | yes | Number of billing periods the offer applies for |
| offerEligibility | string | yes | How this offer interacts with introductory offers |
| offerMode | string | yes | Offer pricing mode |
| prices | array | yes | Per-territory prices for the offer |
| subscriptionId | string | yes | Subscription ID |
No output schema declared.
No examples provided.
apple_create_treatment_localization ~51
Add a locale to a treatment so it can get its own screenshots and visuals
| Name | Type | Req | Description |
|---|---|---|---|
| locale | string | yes | Locale code, e.g. en-US |
| treatmentId | string | yes | – |
No output schema declared.
No examples provided.
apple_create_version ~94
Create a new App Store version for submission
| Name | Type | Req | Description |
|---|---|---|---|
| appId | string | yes | App ID |
| copyright | string | – | – |
| earliestReleaseDate | string | – | ISO 8601 date-time with timezone; required only for SCHEDULED releases |
| platform | string | – | – |
| releaseType | string | – | – |
| versionString | string | yes | Version (e.g. 1.0.0) |
No output schema declared.
No examples provided.
apple_create_version_localization ~100
Create a new localization for a version
| Name | Type | Req | Description |
|---|---|---|---|
| description | string | – | – |
| keywords | string | – | Comma-separated keywords |
| locale | string | yes | Locale code (e.g. ko, en-US, ja) |
| marketingUrl | string | – | – |
| promotionalText | string | – | – |
| supportUrl | string | – | – |
| versionId | string | yes | App Store Version ID |
| whatsNew | string | – | – |
No output schema declared.
No examples provided.
apple_delete_accessibility_declaration ~30
Delete an accessibility nutrition label declaration
| Name | Type | Req | Description |
|---|---|---|---|
| declarationId | string | yes | Accessibility Declaration ID |
No output schema declared.
No examples provided.
apple_delete_asset ~53
Delete an unplaced image or video from the library. Refuses to delete if any localization still uses it; delete the intended placements first.
| Name | Type | Req | Description |
|---|---|---|---|
| assetId | string | yes | – |
| mediaType | string | yes | – |
No output schema declared.
No examples provided.
apple_delete_beta_group ~27
Delete a beta group
| Name | Type | Req | Description |
|---|---|---|---|
| betaGroupId | string | yes | Beta Group ID |
No output schema declared.
No examples provided.
apple_delete_beta_tester ~28
Delete a beta tester
| Name | Type | Req | Description |
|---|---|---|---|
| betaTesterId | string | yes | Beta Tester ID |
No output schema declared.
No examples provided.
apple_delete_build_upload ~55
Explicitly discard an AWAITING_UPLOAD or FAILED Build Upload after checking it with apple_get_build_upload; do not use for PROCESSING or COMPLETE uploads
| Name | Type | Req | Description |
|---|---|---|---|
| buildUploadId | string | yes | Build Upload ID to discard |
No output schema declared.
No examples provided.
apple_delete_custom_product_page ~32
Delete a custom product page; its URL stops working in campaigns
| Name | Type | Req | Description |
|---|---|---|---|
| pageId | string | yes | – |
No output schema declared.
No examples provided.
apple_delete_custom_product_page_localization ~32
Remove a locale from an editable custom product page version
| Name | Type | Req | Description |
|---|---|---|---|
| localizationId | string | yes | – |
No output schema declared.
No examples provided.
apple_delete_experiment ~29
Delete a product page optimization test that has not run
| Name | Type | Req | Description |
|---|---|---|---|
| experimentId | string | yes | – |
No output schema declared.
No examples provided.
apple_delete_experiment_treatment ~31
Delete a treatment from a test that has not started
| Name | Type | Req | Description |
|---|---|---|---|
| treatmentId | string | yes | – |
No output schema declared.
No examples provided.
apple_delete_iap ~29
Delete an in-app purchase
| Name | Type | Req | Description |
|---|---|---|---|
| iapId | string | yes | In-App Purchase ID |
No output schema declared.
No examples provided.
apple_delete_phased_release ~41
Cancel a phased release configuration before the phased release has started
| Name | Type | Req | Description |
|---|---|---|---|
| phasedReleaseId | string | yes | Inactive App Store Version Phased Release ID |
No output schema declared.
No examples provided.
apple_delete_placement ~36
Remove a placement from its localization; the reusable library asset and its other placements remain intact
| Name | Type | Req | Description |
|---|---|---|---|
| placementId | string | yes | – |
No output schema declared.
No examples provided.
apple_delete_profile ~24
Delete a provisioning profile
| Name | Type | Req | Description |
|---|---|---|---|
| profileId | string | yes | Profile ID |
No output schema declared.
No examples provided.
apple_delete_screenshot ~46
Legacy: delete a screenshot from the deprecated screenshot-set API. Use apple_delete_placement and apple_delete_asset for Asset Library media.
| Name | Type | Req | Description |
|---|---|---|---|
| screenshotId | string | yes | Screenshot ID |
No output schema declared.
No examples provided.
apple_delete_subscription_group ~26
Delete a subscription group
| Name | Type | Req | Description |
|---|---|---|---|
| groupId | string | yes | Subscription Group ID |
No output schema declared.
No examples provided.
apple_delete_treatment_localization ~27
Remove a locale from a treatment
| Name | Type | Req | Description |
|---|---|---|---|
| localizationId | string | yes | – |
No output schema declared.
No examples provided.
apple_disable_capability ~30
Disable a capability on a bundle ID
| Name | Type | Req | Description |
|---|---|---|---|
| capabilityId | string | yes | Bundle ID Capability ID |
No output schema declared.
No examples provided.
apple_download_analytics_report ~89
Download every segment of an analytics report instance, decompress and merge them into rows
| Name | Type | Req | Description |
|---|---|---|---|
| instanceId | string | yes | – |
| maxRows | integer | – | Rows to return in the response; the full report goes to outputPath |
| outputPath | string | – | Save the full decompressed report to this file |
| overwrite | boolean | – | Allow replacing an existing file at outputPath |
No output schema declared.
No examples provided.
apple_enable_capability ~170
Enable a capability on a bundle ID
| Name | Type | Req | Description |
|---|---|---|---|
| bundleIdId | string | yes | Bundle ID |
| capabilityType | string | yes | Capability type (e.g. ICLOUD, PUSH_NOTIFICATIONS, IN_APP_PURCHASE, GAME_CENTER, WALLET, MAPS, ASSOCIATED_DOMAINS, PERSONAL_VPN, APP_GROUPS, HEALTHKIT, HOMEKIT, WIRELESS_ACCESSORY_CONFIGURATION, APPLE… |
| settings | array | – | Capability-specific settings |
No output schema declared.
No examples provided.
apple_get_age_rating ~31
Get age rating declaration for an app info
| Name | Type | Req | Description |
|---|---|---|---|
| appInfoId | string | yes | AppInfo ID |
No output schema declared.
No examples provided.
apple_get_app ~30
Get detailed info about an app including latest version state
| Name | Type | Req | Description |
|---|---|---|---|
| appId | string | yes | App ID |
No output schema declared.
No examples provided.
apple_get_app_info ~31
Get app info (categories, age rating, etc)
| Name | Type | Req | Description |
|---|---|---|---|
| appId | string | yes | App ID |
No output schema declared.
No examples provided.
apple_get_asset ~49
Read an image or video asset’s processing state, matched specId, and delivery errors without exposing presigned upload URLs
| Name | Type | Req | Description |
|---|---|---|---|
| assetId | string | yes | – |
| mediaType | string | yes | – |
No output schema declared.
No examples provided.
How do I install the io.github.mikusnuz/app-publish MCP server?
io.github.mikusnuz/app-publish runs locally as an npm package, launched with npx -y app-publish-mcp. Ready-made configuration for Claude, Cursor, VS Code, Codex and 5 more is on this page, copied from each client's own documentation.
npm · app-publish-mcp
claude mcp add mikusnuz-app-publish -- npx -y app-publish-mcp
What is the io.github.mikusnuz/app-publish MCP server?
io.github.mikusnuz/app-publish is an MCP server listed in the public MCP registry as io.github.mikusnuz/app-publish. MCP server for App Store Connect & Google Play Console, iOS/Android app management. This page covers its npm package (app-publish-mcp).
Is the io.github.mikusnuz/app-publish MCP server safe to use?
io.github.mikusnuz/app-publish scores 73 out of 100 on VerifyMCP. We recorded 3 known advisories against it as of 5 November 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.mikusnuz/app-publish MCP server expose?
io.github.mikusnuz/app-publish exposes 188 tools: apple_get_asset_library, apple_get_asset_specs, apple_list_assets, apple_get_asset, apple_wait_for_asset, and 183 more. Their descriptions and schemas cost roughly 12,583 tokens of context every time the server is loaded.
Is the io.github.mikusnuz/app-publish MCP server still maintained?
io.github.mikusnuz/app-publish is still listed as active in the MCP registry. We last reached this channel on 5 November 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.mikusnuz/app-publish MCP server under?
io.github.mikusnuz/app-publish declares the MIT licence, which is OSI-approved. That covers the source only, and says nothing about the cost of any service it calls.