Skip to main content
Glama

Agent C — App Store Screenshots

Edit a set

edit_set

Change one slide (headline, subline, screenshot, layout, position, or remove it), the opening shot, the device size, or the App Store header (header_*). Re-renders previews. Free.

Input Schema

NameRequiredDescriptionDefault
slideNo1-based slide number to change
deviceNoScreenshot size: iPhone 6.9" (1320x2868), 6.5" (1284x2778), iPad 13" (2064x2752), or the optional iPhone Duo inner (2007x2853) / outer (1398x2034) displays. iPad and Duo need the app's real iPad / Duo simulator screenshots uploaded first (replace=false); iPhone-only apps should skip iPad. Duo is export-only: App Store Connect's API doesn't accept Duo uploads yet, so send_to_app_store refuses Duo sets.
layoutNo
openerNo
removeNo
set_idYesset_id returned by design_set
includeNoWhat to make: the screenshot set, screenshots + the App Store product page header (iOS 27), or only the headerscreenshots
move_toNo
sublineNo
headlineNoWrap words in *stars* to color them
screenshotNo1-based screenshot to show on this slide
header_layoutNoHeader visual: lifestyle photo, three phones, big icon, or a hand holding the phone
header_sublineNo
header_headlineNoApp Store header headline (*stars* color words). No prices, URLs, platform names or #1 claims.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed2 schema fields changed
    • addedInput schema / properties / device / description
      Added value: +"Screenshot size: iPhone 6.9\" (1320x2868), 6.5\" (1284x2778), iPad 13\" (2064x2752), or the optional iPhone Duo inner (2007x2853) / outer (1398x2034) displays. iPad and Duo need the app's real iPad / Duo simulator screenshots uploaded first (replace=false); iPhone-only apps should skip iPad. Duo is export-only: App Store Connect's API doesn't accept Duo uploads yet, so send_to_app_store refuses Duo sets."
    • changedInput schema / properties / device / enum
      Previous value: -[
      -  "iphone_69",
      -  "iphone_65",
      -  "ipad_13"
      -]New value: +[
      +  "iphone_69",
      +  "iphone_65",
      +  "ipad_13",
      +  "iphone_duo_inner",
      +  "iphone_duo_outer"
      +]
  2. Changed4 schema fields changed
    • addedInput schema / properties / header_headline
      Added value: +{
      +  "description": "App Store header headline (*stars* color words). No prices, URLs, platform names or #1 claims.",
      +  "type": "string"
      +}
    • addedInput schema / properties / header_layout
      Added value: +{
      +  "description": "Header visual: lifestyle photo, three phones, big icon, or a hand holding the phone",
      +  "enum": [
      +    "photo",
      +    "phones",
      +    "icon",
      +    "hand"
      +  ],
      +  "type": "string"
      +}
    • addedInput schema / properties / header_subline
      Added value: +{
      +  "type": "string"
      +}
    • addedInput schema / properties / include
      Added value: +{
      +  "default": "screenshots",
      +  "description": "What to make: the screenshot set, screenshots + the App Store product page header (iOS 27), or only the header",
      +  "enum": [
      +    "screenshots",
      +    "both",
      +    "header"
      +  ],
      +  "type": "string"
      +}
  3. First observed

TDQS

A3.6/5.0
Behavior4/5

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

Annotations already declare readOnly=false, destructive=false and openWorld=true, so the safety profile is covered; the description adds real value beyond that by disclosing the side effect (previews are re-rendered) and the cost model (Free), which matters for deciding to iterate here repeatedly. It does not disclose whether edits are reversible, whether removal renumbers remaining slides, or whether re-render is synchronous — gaps that matter for a destructive=false but write-shaped tool.

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?

Two front-loaded sentences with no filler; the editable targets come first and the side effect/cost trail as a short addendum. The parenthetical lists and shorthand like 'header_*' are dense but each clause carries information, so nothing is wasted.

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

Completeness3/5

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

For a 14-parameter mutation tool with no output schema and no documentation of what is returned after a re-render, the description covers the main edit modes but leaves notable holes: how header-only edits interact with include, whether slide and header fields can be mixed in one call, and what happens to slide numbering after remove. It is adequate to attempt a call, not complete enough to predict the result.

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 only 57% across 14 parameters, so the description has to carry weight. It does map several undocumented params to meaning (opener = 'opening shot', move_to = 'position', remove = 'remove it', device = 'device size', header_* = App Store header), but it never explains the layout enum values, the include modes, or whether the 'or'-separated edit modes are mutually exclusive or combinable in one call.

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 (change) and enumerates the editable surfaces: one slide and its parts, the opening shot, device size, or the App Store header (header_*). That makes it operationally distinct from read-only siblings like get_set and from design_set/export_set. It stops short of naming an alternative sibling explicitly, which keeps it out of 5 territory.

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?

Usage is implied by the enumeration of what can be edited, but there is no explicit when-to-use guidance, no statement of when to prefer design_set or upload_screenshots, and no stated prerequisites (e.g., a set must exist and be unlocked before editing). The agent must infer that 'Free' and 'Re-renders previews' make this a cheap iterative step.

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

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.