Skip to main content
Glama

Set categories, copyright and compliance

set_app_metadata
Destructive

Configure App Store Connect submission basics such as categories, copyright, content rights, and encryption compliance for an app, applying only provided values.

Instructions

Set submission-required app basics: primary/secondary category (appCategory ids like HEALTH_AND_FITNESS), copyright, content-rights declaration, and export compliance (encryption). Each applied only if provided. Pro feature.

Input Schema

NameRequiredDescriptionDefault
app_idYesApp Store Connect app ID
copyrightNoCopyright line, e.g. 2026 Povilas Konopackas
content_rightsNoContent-rights declaration
primary_categoryNoPrimary appCategory id, e.g. HEALTH_AND_FITNESS
secondary_categoryNoSecondary appCategory id
uses_non_exempt_encryptionNoExport compliance: true if the app uses non-exempt encryption (most apps: false)

Schema Changelog

Changes observed during successful MCP inspections.

  1. Added

TDQS

A3.7/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=false and destructiveHint=true, so the safety profile is covered structurally. The description usefully adds that unprovided fields are left untouched ('Each applied only if provided'), but says nothing about overwriting existing category/copyright values, permission/auth needs, or the 'Pro feature' gating implications beyond a terse label.

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 the enumerated fields, no filler sentences, and the partial-update caveat and 'Pro feature' note are compact. The sentence is dense to the point of being a field list, which slightly hurts readability but wastes nothing.

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 6-parameter, 1-required mutation with full schema coverage and no output schema, the description covers every settable field and the partial-update semantics. Remaining gaps are minor: no confirmation of return behavior or error/precondition handling.

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 schema already documents each field including the encryption guidance. The description reiterates the same fields (categories, copyright, content rights, encryption) and adds the appCategory-id convention, but contributes little syntax or format detail the schema lacks.

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?

Specific verb (Set) plus the exact resources being set: categories, copyright, content-rights, and export compliance. It names concrete field values (appCategory ids like HEALTH_AND_FITNESS) and clearly distinguishes itself from siblings like set_age_rating, set_privacy_nutrition, and update_version_metadata.

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

Usage Guidelines3/5

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

'Submission-required app basics' implies this is part of the pre-submission flow, and 'Each applied only if provided' clarifies partial-update behavior. However, it never says when to use this versus the many adjacent setters (set_age_rating, set_privacy_nutrition, update_version_metadata) or states any prerequisites such as the app being in an editable state.

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