Skip to main content
Glama
swlittles

App Store Connect MCP

by swlittles

Update age rating

update_age_rating
Idempotent

Answers the App Store age rating questionnaire by submitting Apple attribute answers, with an option to fill unanswered questions as NONE or false so changes can be accepted.

Instructions

Answers the age rating questionnaire of the app info being prepared. Pass the answers to change, using Apple's attribute names, e.g. {"violenceCartoonOrFantasy": "INFREQUENT_OR_MILD", "gambling": false}. Content questions take NONE, INFREQUENT_OR_MILD or FREQUENT_OR_INTENSE: alcoholTobaccoOrDrugUseOrReferences, contests, gamblingSimulated, gunsOrOtherWeapons, horrorOrFearThemes, matureOrSuggestiveThemes, medicalOrTreatmentInformation, profanityOrCrudeHumor, sexualContentGraphicAndNudity, sexualContentOrNudity, violenceCartoonOrFantasy, violenceRealistic, violenceRealisticProlongedGraphicOrSadistic. Yes/no questions take true/false: advertising, ageAssurance, gambling, healthOrWellnessTopics, lootBox, parentalControls, unrestrictedWebAccess, userGeneratedContent, plus messagingAndChat, socialMedia. Apple needs every question answered before it accepts any change; fill_unanswered: true answers the rest NONE/false. Confirm those answers with the user.

Changes App Store Connect (needs ASC_WRITE=1). Safe to re-run: steps already done are skipped.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
appNoApp ID, bundle ID or exact app name. Defaults to ASC_APP_ID, or to the only app the key can see.
answersNo
dry_runNoIf true, return the plan without changing anything.
fill_unansweredNoAnswer every question that has no answer yet with NONE or false.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.3.0

TDQS

A4.4/5.0
Behavior4/5

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

Adds value beyond annotations by disclosing the ASC_WRITE=1 permission requirement and explaining the safety model ('steps already done are skipped'), which substantiates the idempotentHint. The prerequisite that every question must be answered before any change is accepted is useful behavioral context.

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-loads purpose, then the input format, then the attribute taxonomy, then the completion constraint. It is dense and the long inline enumeration is hard to scan, but nearly every sentence carries necessary information an agent needs to construct valid input.

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?

For a mutation tool with no output schema and a nested free-form parameter, the description covers the operation, auth requirement, idempotency, and a prerequisite well. It is complete enough to call correctly, with only return-value behavior left implicit.

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

Parameters5/5

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

The `answers` parameter is an undocumented free-form object in the schema, and the description compensates fully by enumerating Apple's attribute names and their value domains (the three-level content scale and the true/false yes-no set). This is exactly the compensation needed for a nested, enum-less object.

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: it answers/updates the age rating questionnaire for the app info being prepared. This is clearly distinguishable from siblings like update_listing or set_review_details, which handle different metadata.

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?

Gives clear operative context: it must be completed before Apple accepts any change, and instructs the agent to use fill_unanswered and confirm answers with the user. No sibling alternatives are named or excluded, but none are obviously needed for this tool.

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