Skip to main content
Glama
yuraist

App Store Connect MCP Server

by yuraist

set_subscription_localization

Destructive

Create or update a subscription localization in App Store Connect by setting its name, description, and locale; provide an existing localization ID to update instead of creating a new one.

Instructions

Create or update a localization for a subscription

Input Schema

NameRequiredDescriptionDefault
nameYesDisplay name
localeYesLocale code (e.g. en-US)
descriptionNoDescription
localizationIdNoExisting localization ID (provide to update instead of create)
subscriptionIdYesThe subscription ID (used for creating new localizations)

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed2 schema fields changedv0.2.1
    • changedInput schema / $schema
      Previous value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
    • removedInput schema / additionalProperties
      Removed value: -false
  2. First observedv0.1.1

TDQS

C2.9/5.0
Behavior2/5

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

Annotations declare destructiveHint=true and idempotentHint=false, yet the description never warns that updating an existing localization overwrites its fields or that repeated calls are not idempotent. 'Create or update' hints at mutation but adds no permissions, overwrite, or side-effect context that the annotations don't already imply.

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?

A single front-loaded sentence with no filler. It is efficient, though its brevity is arguably under-specification rather than true conciseness for a destructive upsert.

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

Completeness2/5

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

For a destructive, non-idempotent mutation with no output schema, the description should explain overwrite semantics and the create/update branch. As written, an agent could call it without knowing that omitting or supplying localizationId changes behavior or that existing data may be replaced.

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 all five parameters (including localizationId's 'provide to update instead of create') are documented in-schema. The description adds no parameter-level meaning beyond the schema, which is the baseline case for full coverage.

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?

States a specific verb pair (create or update) and resource (localization for a subscription), which cleanly differentiates it from the list_subscription_localizations and the IAP analog set_iap_localization. It is clear what the tool acts on, though the upsert duality is left to the sentence rather than spelled out.

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

Usage Guidelines2/5

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

No guidance on when to use this versus list_subscription_localizations, update_iap-style tools, or update_subscription. The create-vs-update branch condition exists only in the schema's localizationId parameter description, not in the tool description.

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