Skip to main content
Glama

appdesigns App Store screenshots

Export an asset's files

export_asset

Use this when the user wants the finished files (to upload to App Store Connect or the Play Console, or to use elsewhere) of something they saved (asset_id) or something you made in this conversation (handle). The files are made by the appdesigns editor in the user's browser, the same pixels its Export saves: open_url opens it there and makes them (a PNG per screen, and an MP4 for a screen whose loop is on), then get_export with export_id gives a command that downloads them. With asset_id (something the user saved) it needs the user signed in to appdesigns (in Claude Code type /mcp, pick appdesigns and choose Authenticate (or run claude mcp login appdesigns in a separate terminal), in Codex run codex mcp login appdesigns; other agents open the sign-in page themselves); with handle (a set or design you made in this conversation, not saved yet) it needs no sign-in.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
formatNoauto: an MP4 for each screen whose loop is on (an animated listing asset), a PNG for every other screen. png: stills only.auto
handleNoInstead of asset_id: the project_handle create_project returned or the design_handle create_design returned, for something you made in this conversation that the user has not saved yet. Needs no sign-in.
asset_idNoThe asset_id list_projects returned.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed2 schema fields changed
    • addedInput schema / properties / handle
      Added value: +{
      +  "description": "Instead of asset_id: the project_handle create_project returned or the design_handle create_design returned, for something you made in this conversation that the user has not saved yet. Needs no sign-in.",
      +  "maxLength": 100,
      +  "minLength": 10,
      +  "type": "string"
      +}
    • removedInput schema / required
      Removed value: -[
      -  "asset_id"
      -]
  2. Added

TDQS

A4.6/5.0
Behavior5/5

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

Goes well beyond the annotations: it explains that files are produced by the appdesigns editor in the browser, that open_url must be opened there to generate them (PNG per screen, MP4 for looping screens), and that get_export with export_id yields the download command. It also spells out exact authentication requirements per host (Claude Code /mcp Authenticate, codex mcp login), which the annotations do not cover.

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 trigger ('Use this when the user wants the finished files'), which is ideal. However, the body is a dense single paragraph with nested parentheticals (auth instructions inlined mid-sentence) that could be split for scannability; every sentence is informative but the structure taxes reading.

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

Completeness5/5

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

With no output schema and an open-ended return path, the description compensates by outlining the full three-step flow (open_url to render, export_asset to get export_id, get_export to download) and the auth preconditions for each mode. Nothing an agent needs to call this correctly is missing.

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?

Schema coverage is 100%, so baseline is 3, but the description adds real meaning: asset_id requires sign-in while handle requires none, and it clarifies handle is for an unsaved set/design made in this conversation. Format behavior (MP4 for looping screens vs PNG) is echoed from the schema's enum description, so only marginally additive.

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+resource (export an asset's files) and immediately distinguishes the two input modes: asset_id (something the user saved) vs handle (something made in this conversation). It also names the downstream sibling get_export, so an agent can locate it against the rest of the export flow.

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?

Explicitly frames when to use it ('when the user wants the finished files... to upload to App Store Connect or the Play Console'), and routes between the two modes. It stops short of naming when NOT to use it or which sibling to prefer for adjacent tasks (e.g. get_asset vs export_asset), so it is strong context rather than full when/when-not coverage.

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.