Skip to main content
Glama
swlittles

App Store Connect MCP

by swlittles

Raw App Store Connect request

asc_request
Destructive

Call the App Store Connect API directly to handle tasks not covered by workflow tools, returning raw JSON responses.

Instructions

Escape hatch for anything the workflow tools don't cover: calls the App Store Connect API directly and returns the JSON. path is relative to https://api.appstoreconnect.apple.com, e.g. /v1/apps/123/appInfos. GET works in read-only mode; POST, PATCH and DELETE need ASC_WRITE=1, and DELETE also needs confirm: true. Prefer the workflow tools: they check state, retry safely and wait for Apple's processing.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
bodyNoJSON:API request body for POST and PATCH.
pathYesAPI path, e.g. /v1/apps or /v1/builds/{id}. Must start with /v1/, /v2/ or /v3/.
queryNoQuery parameters, e.g. {"filter[app]": "123", "limit": 50}.
methodNoGET
confirmNoMust be true for DELETE.
all_pagesNoFor GET collections: follow links.next and return every page (at most 2,000 items).

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.3.0

TDQS

A4.8/5.0
Behavior5/5

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

Annotations declare destructive/openWorld/non-idempotent, and the description adds substantial context beyond them: the base URL the path resolves against, the ASC_WRITE=1 environment requirement for POST/PATCH/DELETE, and the extra confirm: true gate on DELETE. That is exactly the auth/prerequisite detail annotations cannot express.

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?

Three dense sentences, each carrying distinct information (purpose, endpoint/auth mechanics, sibling preference), with the escape-hatch framing front-loaded and no filler.

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 an open-world raw-API tool with no output schema, the description covers the base URL, method/auth gating, delete confirmation, and return type (raw JSON). Pagination (all_pages) is only in the schema, and rate-limit behavior on Apple's API is unmentioned, leaving minor gaps.

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 high (83%), so the baseline is 3, but the description adds real meaning: path is relative to https://api.appstoreconnect.apple.com with a concrete example, and it explains that confirm: true is required for DELETE (linking a parameter to a method).

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 (calls the App Store Connect API directly) and resource (raw API path), explicitly positioning itself as an 'escape hatch' for gaps the workflow tools don't cover. An agent can immediately distinguish it from the ~30 workflow siblings like list_apps or submit_for_review.

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

Usage Guidelines5/5

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

Explicitly says when not to use it ('Prefer the workflow tools') and why ('they check state, retry safely and wait for Apple's processing'), and names the alternative. It also gates usage by method: GET works read-only, writes need ASC_WRITE=1.

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