Skip to main content
Glama
erayendes

Heimdall App Store Connect MCP

preflight__check_version

Read-only

Checks whether an app version is ready to submit and lists missing build, compliance, review contact, demo account, locale metadata, and screenshots, naming the tool that fixes each gap.

Instructions

Check whether an app version is complete enough to submit, in one call, and list what is missing. Give the app (name, bundle ID or Apple ID). Verifies the build is attached and finished processing, the export compliance answer is given, the review contact and demo account are filled in, every locale has a description and keywords, and screenshots exist. Each gap names the tool that fixes it. Read-only — it changes nothing and does not submit.

Input Schema

NameRequiredDescriptionDefault
appYesApp name, bundle ID (com.example.app) or numeric Apple ID.
versionNoVersion string (e.g. "3.2.0"). Defaults to the newest version that is still editable.
platformNoWhich platform’s version. Needed when the app has one on more than one platform.

Output Schema

NameRequiredDescriptionDefault
appYes
readyYes
stateNo
checkedYes
versionNo
blockingYesGaps that stop the submission. Empty when ready is true.
platformNo
warningsYesWorth reading, but Apple accepts a submission without them.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed2 schema fields changedv2.8.0
    • addedInput schema / properties / platform
      Added value: +{
      +  "description": "Which platform’s version. Needed when the app has one on more than one platform.",
      +  "enum": [
      +    "IOS",
      +    "MAC_OS",
      +    "TV_OS",
      +    "VISION_OS"
      +  ],
      +  "type": "string"
      +}
    • addedOutput schema / properties / platform
      Added value: +{
      +  "type": "string"
      +}
  2. Addedv2.3.0

TDQS

A4.5/5.0
Behavior5/5

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

Beyond the readOnlyHint annotation, it enumerates exactly what is validated (build attached and processed, export compliance, review contact, demo account, per-locale description/keywords, screenshots) and discloses the output behavior that each gap names the fixing tool. It also explicitly confirms it changes nothing and does not submit.

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

Conciseness5/5

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

Four short sentences, front-loaded with the purpose, then inputs, then the checklist of validations, then the read-only guarantee. Every sentence carries information an agent needs.

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

Completeness5/5

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

An output schema exists, so return-value detail is unnecessary; the description covers purpose, inputs, validation scope, remediation hints, and safety. Nothing needed to call it correctly is missing.

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 coverage is 100%, so all three parameters are already documented with examples. The description only restates the app identifier forms and says nothing about the version default (newest editable) or the platform disambiguation rule, so it adds no meaning beyond the schema.

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

Purpose5/5

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

States a specific verb and resource: check whether an app version is submission-complete and list what is missing, in one call. It is clearly distinguishable from siblings like release__submit and app_store_versions__get, which either perform the submission or fetch a single resource.

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?

The pre-submission context is clear ('complete enough to submit', 'does not submit'), which implies it should be run before release__submit rather than instead of the individual getters. It never explicitly names an alternative tool or states when-not to use it, so it stops short of a 5.

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

Deploy Server

Other Tools