Skip to main content
Glama
erayendes

Heimdall App Store Connect MCP

storekit__get_refund_history

Read-only

List every refunded transaction for a customer. Useful for auditing refund abuse before granting goodwill credit. Returns Apple's SIGNED transactions (JWS strings) unless ASC_APPLE_ROOT_CERTS is set, in which case they arrive verified and…

Instructions

List every refunded transaction for a customer. Useful for auditing refund abuse before granting goodwill credit. Returns Apple's SIGNED transactions (JWS strings) unless ASC_APPLE_ROOT_CERTS is set, in which case they arrive verified and decoded. [App Store Server API]

Input Schema

NameRequiredDescriptionDefault
appNoWhich app: its name, bundle ID or Apple ID. Optional when the account has one app or ASC_BUNDLE_ID is set.
rawNoReturn Apple's signed JWS payloads instead of decoded fields, to verify them yourself. Ignored when ASC_APPLE_ROOT_CERTS is unset — the payloads are all there is then.
environmentNoWhich App Store environment to query. Defaults to the server-configured environment (ASC_ENVIRONMENT). A transaction ID belongs to one environment only.
transaction_idYesAny transaction ID belonging to the customer.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Addedv2.6.0

TDQS

A4.4/5.0
Behavior4/5

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

readOnlyHint=true already covers the safety profile, so the description adds real value by disclosing the return-form behavior: SIGNED JWS strings by default, or verified/decoded output when ASC_APPLE_ROOT_CERTS is set. That environment-dependent output detail goes beyond the annotations. It omits pagination and rate-limit behavior, keeping it at a 4.

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 tight sentences, purpose front-loaded, then use case, then return behavior, then source tag. No filler and every sentence carries information the agent needs.

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 read-only list tool with full schema coverage and no output schema, the description covers purpose, use case, and return format adequately. Pagination and result-size expectations for a 'list every refunded transaction' call are the only notable omission.

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 the baseline is 3. The description goes slightly beyond by tying the default JWS-versus-decoded output to the ASC_APPLE_ROOT_CERTS environment variable, which clarifies the effective default of the raw parameter's behavior even though the schema already documents raw in detail.

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 (List) and resource (refunded transaction for a customer) with scope, and distinguishes itself from nearby siblings like storekit__get_transaction_history and storekit__get_transaction_info simply by naming the refunded subset. An agent can pick this without opening a schema.

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?

Provides a concrete use case (auditing refund abuse before granting goodwill credit), which tells the agent the scenario that selects this tool. It stops short of naming when-not-to-use or pointing at the alternative refund/transaction tools, so it is clear context without exclusions.

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

Deploy Server

Other Tools