Skip to main content
Glama

Upload an App Store asset

upload_store_asset

Upload a new Apple screenshot, preview, purchase image, supplemental reviewer attachment or encryption document. Discover its createInstance operation/body with get_store_capabilities and copy the parent scope. Hosted calls accept data_base64 up to 2 MiB; use CLI file_path for larger files. Preview by default. confirm:true reserves, uploads and commits this file. Preserve request_key and identical file/body to resume; ready:true requires Apple processing COMPLETE. App Review message attachments remain a browser workflow.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
bodyNoExact JSON:API request body, following the operation's schema from get_store_capabilities.
scopeNoParent resource chain copied from earlier read_store results, as [{relationship, id}]. Start with [] for app-level reads.
confirmNofalse (default) returns a preview and changes nothing. true performs the change; set it only after the user approves that exact preview.
operationYesApp Store Connect operation name from get_store_capabilities, for example appInfos_getInstance.
project_idYesNoMac project ID (prj_…). push_project and connect_status list your projects.
referencesNoRelated resource references the body needs, copied from read_store results.
data_base64YesThe file's contents, base64-encoded, up to 2 MiB.
request_keyNoIdempotency key you choose (letters, digits, dash, underscore). Retry a lost response with the same key and identical arguments; use a new key for new work.
asset_sha256NoSet by upload_store_asset for exact file-reservation recovery.

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
errorNoPresent only when the call failed

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A3.9/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare mutation (readOnlyHint false), open-world behavior, non-idempotency, and non-destructiveness. The description adds important context beyond that: preview/confirm staging, the 2 MiB hosted size limit, the request_key resume contract, and the ready/COMPLETE processing condition. It does not cover permissions or error behavior, so not a 5.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Front-loaded with purpose and workflow, and every sentence adds distinct operational guidance. It is telegraphic in places but not wasteful.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given a complex 9-parameter mutation with an output schema and rich annotations, the description covers the staging workflow, size constraints, retry contract, and one explicit exclusion. Remaining gaps like permissions and failure handling are minor.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the baseline is 3. The description reiterates and lightly supplements a few parameters (operation discovery, scope copy, data_base64 size, confirm, request_key) but adds little detail beyond the schema, and mentions 'ready:true' even though there is no top-level ready parameter in the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

Specific verb 'upload' and resource 'App Store asset', enumerating asset types. It also distinguishes from the browser workflow for App Review attachments, but does not explicitly route screenshot uploads to or from the sibling upload_screenshots tool, so not a 5.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

States prerequisite discovery via get_store_capabilities, scope copying, CLI file_path for files over 2 MiB, preview-by-default then confirm:true, and excludes App Review message attachments. Missing explicit guidance on when to prefer this over the sibling upload_screenshots.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources