Skip to main content
Glama
tomoki013

appstore-connect-mcp

by tomoki013

[Write] Update age rating declaration

asc_age_rating_update

Partially update an app's age rating questionnaire using Apple's current fields. Preview old-to-new changes with dry run before applying.

Instructions

Write. Partially updates the age rating questionnaire for an app using Apple's current field set and enum values (content descriptors are NONE/INFREQUENT/FREQUENT). Supports dryRun to preview the change as an old → new diff without applying it.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
appIdYesBundle id, app name, or App Store Connect app id
dryRunNoPreview only, do not apply
lootBoxNo
contestsNoNONE, INFREQUENT, or FREQUENT (the older *_OR_MILD/*_OR_INTENSE values are deprecated)
gamblingNo
advertisingNo
kidsAgeBandNo
socialMediaNo
ageAssuranceNo
messagingAndChatNo
parentalControlsNo
gamblingSimulatedNoNONE, INFREQUENT, or FREQUENT (the older *_OR_MILD/*_OR_INTENSE values are deprecated)
violenceRealisticNoNONE, INFREQUENT, or FREQUENT (the older *_OR_MILD/*_OR_INTENSE values are deprecated)
gunsOrOtherWeaponsNoNONE, INFREQUENT, or FREQUENT (the older *_OR_MILD/*_OR_INTENSE values are deprecated)
horrorOrFearThemesNoNONE, INFREQUENT, or FREQUENT (the older *_OR_MILD/*_OR_INTENSE values are deprecated)
ageRatingOverrideV2No
userGeneratedContentNo
profanityOrCrudeHumorNoNONE, INFREQUENT, or FREQUENT (the older *_OR_MILD/*_OR_INTENSE values are deprecated)
sexualContentOrNudityNoNONE, INFREQUENT, or FREQUENT (the older *_OR_MILD/*_OR_INTENSE values are deprecated)
unrestrictedWebAccessNo
healthOrWellnessTopicsNo
koreaAgeRatingOverrideNo
matureOrSuggestiveThemesNoNONE, INFREQUENT, or FREQUENT (the older *_OR_MILD/*_OR_INTENSE values are deprecated)
socialMediaAgeRestrictedNo
violenceCartoonOrFantasyNoNONE, INFREQUENT, or FREQUENT (the older *_OR_MILD/*_OR_INTENSE values are deprecated)
developerAgeRatingInfoUrlNo
medicalOrTreatmentInformationNoNONE, INFREQUENT, or FREQUENT (the older *_OR_MILD/*_OR_INTENSE values are deprecated)
sexualContentGraphicAndNudityNoNONE, INFREQUENT, or FREQUENT (the older *_OR_MILD/*_OR_INTENSE values are deprecated)
alcoholTobaccoOrDrugUseOrReferencesNoNONE, INFREQUENT, or FREQUENT (the older *_OR_MILD/*_OR_INTENSE values are deprecated)
violenceRealisticProlongedGraphicOrSadisticNoNONE, INFREQUENT, or FREQUENT (the older *_OR_MILD/*_OR_INTENSE values are deprecated)
Behavior4/5

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

With no annotations, the description carries the full burden of behavioral disclosure. It discloses that the operation is a write ('Write.'), that it is a partial update (only provided fields), and that dryRun produces an 'old → new diff without applying it,' which is a significant safety behavior not otherwise documented.

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?

The description is two sentences long, front-loaded with 'Write' and the core action, and every clause adds value—enum values, deprecated values, and dryRun behavior. No filler or repetition.

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 30-parameter mutation tool with no output schema and no annotations, the description provides essential context: partial update semantics, current enum values, and a non-destructive preview mechanism. While it doesn't cover every parameter or return behavior, the key operational aspects are covered.

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

Parameters4/5

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

The description summarizes the allowed enum values ('NONE/INFREQUENT/FREQUENT') and warns that older '*_OR_MILD/*_OR_INTENSE' values are deprecated, reinforcing the schema's own descriptions for enum fields. It also adds detail to the dryRun parameter by explaining the diff output format, which is more specific than the schema's 'Preview only, do not apply'.

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?

The description explicitly states 'Partially updates the age rating questionnaire for an app' with a specific verb and resource, and it distinguishes itself from the sibling read tool 'asc_age_rating_get' and other update tools by naming the age rating questionnaire as the target. The mention of 'Apple's current field set and enum values' further clarifies the scope.

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 description clearly indicates the tool's purpose—updating the age rating questionnaire—which naturally directs an agent to use it for write operations on age ratings. It does not explicitly exclude other tools, but the context of sibling 'get' and 'update' tools makes the usage context clear.

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

Install Server

Other Tools

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/tomoki013/appstore-connect-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server