Skip to main content
Glama

Call any App Store Connect API operation

asc_call_operation
Destructive

Execute any App Store Connect API operation by operationId. Inputs are validated against Apple's OpenAPI spec before sending. Query keys use Apple's exact names, e.g.

Instructions

Execute any App Store Connect API operation by operationId. Inputs are validated against Apple's OpenAPI spec before sending. Query keys use Apple's exact names, e.g. {"filter[app]": "123", "sort": "-uploadedDate", "fields[builds]": ["version","processingState"], "include": "preReleaseVersion", "limit": 50}. Bodies use JSON:API form: {"data": {"type": "...", "attributes": {...}, "relationships": {...}}}. Responses are compacted (resource links removed); follow nextUrl with asc_fetch_url or pass fetchAll. Creates and updates need the write access mode and deletes need full; a blocked call explains how the user can enable them.

Input Schema

NameRequiredDescriptionDefault
rawNoReturn the response without removing links (default false)
bodyNoJSON:API request body for POST/PATCH
queryNo
saveToNoSave the full response as a new file instead of returning it: a bare name goes to ~/Downloads/appstore-connect; .json/.tsv/.txt/.csv/.gz/.zip only; never overwrites
fetchAllNoFollow pagination and merge all pages (GET collections only)
maxItemsNoStop paginating once this many items are fetched (default 1000)
pathParamsNoe.g. {"id": "1234567890"}
operationIdYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed1 schema field changedv0.6.0
    • changedInput schema / properties / saveTo / description
      Previous value: -"Write the full response to this file path instead of returning it (useful for big lists and reports)"New value: +"Save the full response as a new file instead of returning it: a bare name goes to ~/Downloads/appstore-connect; .json/.tsv/.txt/.csv/.gz/.zip only; never overwrites"
  2. First observedv0.2.0

TDQS

A4.4/5.0
Behavior4/5

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

Goes well beyond the annotations by disclosing that inputs are validated against Apple's OpenAPI spec, that responses are compacted with resource links removed (and that `raw` restores them), and that blocked calls explain how to enable the required access mode. It doesn't cover rate limiting or how the blanket destructiveHint maps to individual operations.

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 purpose is the first clause, followed by dense, example-driven payload syntax and then access-mode constraints. Every sentence carries non-redundant information; no filler or restatement of the title.

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 schema-less-return, generic dispatch tool this covers validation, payload shapes, pagination, compaction, and auth gating. The one remaining gap is how an agent discovers a valid operationId, which is left entirely to the unmentioned asc_search_operations/asc_describe_operation siblings.

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 75%, and the description compensates by spelling out query key syntax with Apple's exact names (filter[app], sort, fields[builds], include, limit) and the JSON:API body envelope shape. Only pathParams and maxItems are left to the schema, which documents them adequately.

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 and resource ('Execute any App Store Connect API operation by operationId') and makes clear this is the generic escape hatch versus the dedicated siblings like asc_list_builds or asc_app_overview. An agent can tell instantly that this tool requires an operationId rather than a resource-shaped parameter set.

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?

Gives concrete routing rules: follow nextUrl with asc_fetch_url or pass fetchAll, and use write/full access mode for creates/updates/deletes. However it never states when to prefer a dedicated sibling (e.g. asc_list_builds) over this generic call, nor points to asc_search_operations/asc_describe_operation for finding the operationId.

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