Skip to main content
Glama

Call any App Store Connect API operation

asc_call_operation
Destructive

Run any App Store Connect API operation by operationId, with inputs validated against Apple's OpenAPI spec, handling query params, JSON:API bodies, and pagination.

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

TableJSON Schema
NameRequiredDescriptionDefault
rawNoReturn the response without removing links (default false)
bodyNoJSON:API request body for POST/PATCH
queryNo
saveToNoWrite the full response to this file path instead of returning it (useful for big lists and reports)
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. First observedv0.2.0

TDQS

A4.1/5.0
Behavior4/5

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

Annotations already declare destructiveHint=true and openWorldHint=true, so the safety profile is covered; the description adds genuinely non-redundant behavior — input validation against Apple's OpenAPI spec, response compaction that strips resource links, and the access-mode gating with an explanatory blocked-call path. It does not mention rate limits or failure/error semantics beyond the access-mode block, keeping this short of a 5.

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 core action and mechanism, then moves efficiently through query format, body format, response handling, and access requirements. The inline JSON examples are dense but each earns its place by removing ambiguity. Slightly heavy for a single paragraph, but no sentence is disposable.

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?

There is no output schema, and the description compensates directly by explaining that responses are compacted, that nextUrl drives pagination, and that fetchAll or saveTo are the alternatives. Combined with the access-mode rules, an agent has everything needed to call this correctly and interpret what comes back.

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?

With 8 parameters at 75% schema coverage, the schema documents raw, saveTo, fetchAll, maxItems and pathParams, while the description supplies the syntax the schema cannot — Apple's exact query key names with worked examples and the JSON:API envelope shape for body. The relationship between fetchAll and nextUrl is clarified, though maxItems' interaction with fetchAll is only implied.

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 and resource ("Execute any App Store Connect API operation by operationId") and makes the dispatch mechanism explicit up front. It names asc_fetch_url as the follow-up tool for nextUrl, but does not distinguish itself from the discovery siblings (asc_search_operations, asc_describe_operation), which an agent will most likely confuse it with.

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 conditions: creates and updates require the write access mode, deletes require full, and a blocked call explains how the user can enable them. It also routes pagination follow-up to asc_fetch_url. The implicit prerequisite — that you must already know the operationId, presumably via asc_search_operations — is left to inference rather than stated.

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