Skip to main content
Glama
erayendes

Heimdall App Store Connect MCP

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault
ASC_KEY_IDYes
ASC_ISSUER_IDYes
ASC_PRIVATE_KEYYes

Capabilities

Features and capabilities supported by this server

CapabilityDetails
tools
{
  "listChanged": true
}

Tools

Functions exposed to the LLM to take actions

NameDescription
asc__discover_domainsA

List what this server can reach and what it cannot: in profile mode the profiles and sub-profiles that exist, which are loaded here, and how many tools each holds; otherwise the tool domains. Use this when a capability you need is not in the tool list.

asc__search_toolsA

Search all App Store Connect operations by keyword, including domains that are not currently loaded. Returns matching tool names, their domain, and the underlying endpoint. Search in English: tool names and descriptions are generated from Apple’s English spec, so translate the goal before searching.

asc__statusA

Report server configuration, spec version, loaded domains, JWT token state and remaining API rate limit. Also verifies credentials against Apple with a single lightweight request.

reviews_ai__draft_responseA

Fetch one customer review and return it with an instruction for you to draft a reply — no separate API key needed, you write the text. Returns data only — never posts. Review the draft, then post it yourself with customer_review_responses__create if you approve it.

reviews_ai__triageA

Fetch recent reviews for an app and return them with an instruction for you to group them by theme (bug, feature request, pricing complaint, praise, spam). Read-only.

reviews_ai__daily_briefingA

Fetch the last N days of reviews for an app, with volume and rating trend (computed deterministically), and an instruction for you to summarise top complaints, standout praise and one suggested action. Read-only.

pricing__set_subscription_priceA

Change or set a subscription price in one territory (country) in a single step. Give it the app (name, bundle ID or Apple ID), the subscription (product ID or name), the territory (e.g. TUR, USA) and the price (e.g. "99.99") — it resolves the app, subscription and Apple price point internally and performs the one write. Use this instead of chaining apps__list / subscription_groups / price_points calls when the goal is simply "set/raise/lower the price".

pricing__get_subscription_priceA

What a subscription costs customers today in one territory (country), in a single step. Give the app (name, bundle ID or Apple ID) and the territory (e.g. USA, TUR); the subscription is optional — omit it to get every subscription in the app, which is how you answer "what does the weekly one cost" without knowing its product ID. Use this instead of chaining apps__list / subscription_groups / prices calls. It also returns the price that is actually in effect: subscriptions__prices__list returns price-less stubs unless the caller knows to include the price point.

listing__get_screenshotsA

List the screenshots on an app’s store listing in one step: which locales have them, which device sizes, how many, and their dimensions. Give the app (name, bundle ID or Apple ID). Use this instead of chaining app_store_versions / localizations / screenshot_sets / screenshots — most locales carry no screenshots of their own, so walking that chain costs one call per locale.

accessibility_declarations__createC

Create an accessibility declaration. [POST /v1/accessibilityDeclarations]

accessibility_declarations__deleteB

Delete an accessibility declaration. [DELETE /v1/accessibilityDeclarations/{id}]

accessibility_declarations__getA

Read one accessibility declaration by ID. [GET /v1/accessibilityDeclarations/{id}]

accessibility_declarations__updateA

Update an accessibility declaration. [PATCH /v1/accessibilityDeclarations/{id}]

age_rating_declarations__updateB

Update an age rating declaration. [PATCH /v1/ageRatingDeclarations/{id}]

alternative_distribution_domains__createB

Create an alternative distribution domain. [POST /v1/alternativeDistributionDomains]

alternative_distribution_domains__deleteA

Delete an alternative distribution domain. [DELETE /v1/alternativeDistributionDomains/{id}]

alternative_distribution_domains__getB

Read one alternative distribution domain by ID. [GET /v1/alternativeDistributionDomains/{id}]

alternative_distribution_domains__listA

List the domains verified for EU alternative distribution, where an app reaches users through a marketplace rather than the App Store. [GET /v1/alternativeDistributionDomains]

alternative_distribution_keys__createB

Create an alternative distribution key. [POST /v1/alternativeDistributionKeys]

alternative_distribution_keys__deleteA

Delete an alternative distribution key. [DELETE /v1/alternativeDistributionKeys/{id}]

alternative_distribution_keys__getA

Read one alternative distribution key by ID. [GET /v1/alternativeDistributionKeys/{id}]

alternative_distribution_keys__listA

List the public keys registered for EU alternative distribution, used to sign apps delivered outside the App Store. Use exists[app] to check whether an app has one at all. [GET /v1/alternativeDistributionKeys]

alternative_distribution_package_deltas__getA

Read one alternative distribution package delta by ID. [GET /v1/alternativeDistributionPackageDeltas/{id}]

alternative_distribution_package_variants__getA

Read one alternative distribution package variant by ID. [GET /v1/alternativeDistributionPackageVariants/{id}]

alternative_distribution_package_versions__deltas__listA

List the deltas belonging to an alternative distribution package version. [GET /v1/alternativeDistributionPackageVersions/{id}/deltas]

alternative_distribution_package_versions__getA

Read one alternative distribution package version by ID. [GET /v1/alternativeDistributionPackageVersions/{id}]

alternative_distribution_package_versions__variants__listA

List the variants belonging to an alternative distribution package version. [GET /v1/alternativeDistributionPackageVersions/{id}/variants]

alternative_distribution_packages__createC

Create an alternative distribution package. [POST /v1/alternativeDistributionPackages]

alternative_distribution_packages__getA

Read one alternative distribution package by ID. [GET /v1/alternativeDistributionPackages/{id}]

alternative_distribution_packages__versions__listA

List the versions belonging to an alternative distribution package. [GET /v1/alternativeDistributionPackages/{id}/versions]

analytics_report_instances__getA

Read one analytics report instance by ID. [GET /v1/analyticsReportInstances/{id}]

analytics_report_instances__segments__listA

List the segments belonging to an analytics report instance. [GET /v1/analyticsReportInstances/{id}/segments]

analytics_report_requests__createB

Create an analytics report request. [POST /v1/analyticsReportRequests]

analytics_report_requests__deleteA

Delete an analytics report request. [DELETE /v1/analyticsReportRequests/{id}]

analytics_report_requests__getA

Read one analytics report request by ID. [GET /v1/analyticsReportRequests/{id}]

analytics_report_requests__reports__listA

List the reports belonging to an analytics report request. [GET /v1/analyticsReportRequests/{id}/reports]

analytics_report_segments__getB

Read one analytics report segment by ID. [GET /v1/analyticsReportSegments/{id}]

analytics_reports__getA

Read one analytics report by ID. [GET /v1/analyticsReports/{id}]

analytics_reports__instances__listA

List the instances belonging to an analytics report. [GET /v1/analyticsReports/{id}/instances]

android_to_ios_app_mapping_details__createB

Create an android to iOS app mapping detail. [POST /v1/androidToIosAppMappingDetails]

android_to_ios_app_mapping_details__deleteA

Delete an android to iOS app mapping detail. [DELETE /v1/androidToIosAppMappingDetails/{id}]

android_to_ios_app_mapping_details__getA

Read one android to iOS app mapping detail by ID. [GET /v1/androidToIosAppMappingDetails/{id}]

android_to_ios_app_mapping_details__updateA

Update an android to iOS app mapping detail. [PATCH /v1/androidToIosAppMappingDetails/{id}]

app_availabilities_v2__createB

Create an app availabilities (v2). [POST /v2/appAvailabilities]

app_availabilities_v2__getA

Read one app availabilities (v2) by ID. [GET /v2/appAvailabilities/{id}]

app_availabilities_v2__territory_availabilities__listA

List the territory availabilities belonging to an app availabilities (v2). [GET /v2/appAvailabilities/{id}/territoryAvailabilities]

app_categories__getA

Read one app category by ID. [GET /v1/appCategories/{id}]

app_categories__listB

List app categories. [GET /v1/appCategories]

app_categories__parent__getA

Read the parent for an app category. [GET /v1/appCategories/{id}/parent]

app_categories__subcategories__listA

List the subcategories belonging to an app category. [GET /v1/appCategories/{id}/subcategories]

app_clip_advanced_experience_images__createB

Create an App Clip advanced experience image. [POST /v1/appClipAdvancedExperienceImages]

app_clip_advanced_experience_images__getA

Read one App Clip advanced experience image by ID. [GET /v1/appClipAdvancedExperienceImages/{id}]

app_clip_advanced_experience_images__updateA

Update an App Clip advanced experience image. [PATCH /v1/appClipAdvancedExperienceImages/{id}]

app_clip_advanced_experiences__createB

Create an App Clip advanced experience. [POST /v1/appClipAdvancedExperiences]

app_clip_advanced_experiences__getA

Read one App Clip advanced experience by ID. [GET /v1/appClipAdvancedExperiences/{id}]

app_clip_advanced_experiences__updateB

Update an App Clip advanced experience. [PATCH /v1/appClipAdvancedExperiences/{id}]

app_clip_app_store_review_details__createB

Create an App Clip App Store review detail. [POST /v1/appClipAppStoreReviewDetails]

app_clip_app_store_review_details__getA

Read one App Clip App Store review detail by ID. [GET /v1/appClipAppStoreReviewDetails/{id}]

app_clip_app_store_review_details__updateA

Update an App Clip App Store review detail. [PATCH /v1/appClipAppStoreReviewDetails/{id}]

app_clip_default_experience_localizations__app_clip_heade_1vi3gdA

Read the App Clip header image for an App Clip default experience localization. [GET /v1/appClipDefaultExperienceLocalizations/{id}/appClipHeaderImage]

app_clip_default_experience_localizations__createB

Create an App Clip default experience localization. [POST /v1/appClipDefaultExperienceLocalizations]

app_clip_default_experience_localizations__deleteB

Delete an App Clip default experience localization. [DELETE /v1/appClipDefaultExperienceLocalizations/{id}]

app_clip_default_experience_localizations__getA

Read one App Clip default experience localization by ID. [GET /v1/appClipDefaultExperienceLocalizations/{id}]

app_clip_default_experience_localizations__updateB

Update an App Clip default experience localization. [PATCH /v1/appClipDefaultExperienceLocalizations/{id}]

app_clip_default_experiences__app_clip_app_store_review_d_0tlnruA

Read the App Clip App Store review detail for an App Clip default experience. [GET /v1/appClipDefaultExperiences/{id}/appClipAppStoreReviewDetail]

app_clip_default_experiences__app_clip_default_experience_02x7wxA

List the App Clip default experience localizations belonging to an App Clip default experience. [GET /v1/appClipDefaultExperiences/{id}/appClipDefaultExperienceLocalizations]

app_clip_default_experiences__createB

Create an App Clip default experience. [POST /v1/appClipDefaultExperiences]

app_clip_default_experiences__deleteA

Delete an App Clip default experience. [DELETE /v1/appClipDefaultExperiences/{id}]

app_clip_default_experiences__getA

Read one App Clip default experience by ID. [GET /v1/appClipDefaultExperiences/{id}]

app_clip_default_experiences__release_with_app_store_vers_0zdb21B

Read the release with App Store version for an App Clip default experience. [GET /v1/appClipDefaultExperiences/{id}/releaseWithAppStoreVersion]

app_clip_default_experiences__release_with_app_store_vers_0zdbimC

Set the release with App Store version linked to an App Clip default experience. [PATCH /v1/appClipDefaultExperiences/{id}/relationships/releaseWithAppStoreVersion]

app_clip_default_experiences__updateA

Update an App Clip default experience. [PATCH /v1/appClipDefaultExperiences/{id}]

app_clip_header_images__createB

Create an App Clip header image. [POST /v1/appClipHeaderImages]

app_clip_header_images__deleteA

Delete an App Clip header image. [DELETE /v1/appClipHeaderImages/{id}]

app_clip_header_images__getA

Read one App Clip header image by ID. [GET /v1/appClipHeaderImages/{id}]

app_clip_header_images__updateA

Update an App Clip header image. [PATCH /v1/appClipHeaderImages/{id}]

app_clips__app_clip_advanced_experiences__listA

List the App Clip advanced experiences belonging to an App Clip. [GET /v1/appClips/{id}/appClipAdvancedExperiences]

app_clips__app_clip_default_experiences__listA

List the App Clip default experiences belonging to an App Clip. [GET /v1/appClips/{id}/appClipDefaultExperiences]

app_clips__getA

Read one App Clip by ID. [GET /v1/appClips/{id}]

app_encryption_declaration_documents__createB

Create an app encryption declaration document. [POST /v1/appEncryptionDeclarationDocuments]

app_encryption_declaration_documents__getA

Read one app encryption declaration document by ID. [GET /v1/appEncryptionDeclarationDocuments/{id}]

app_encryption_declaration_documents__updateB

Update an app encryption declaration document. [PATCH /v1/appEncryptionDeclarationDocuments/{id}]

app_encryption_declarations__app_encryption_declaration_d_0az88bA

Read the app encryption declaration document for an app encryption declaration. [GET /v1/appEncryptionDeclarations/{id}/appEncryptionDeclarationDocument]

app_encryption_declarations__createC

Create an app encryption declaration. [POST /v1/appEncryptionDeclarations]

app_encryption_declarations__getB

Read one app encryption declaration by ID. [GET /v1/appEncryptionDeclarations/{id}]

app_encryption_declarations__listA

List export-compliance declarations, which a build needs before it can ship in most territories. Filter by app or build to find whether one already covers the build you are releasing. [GET /v1/appEncryptionDeclarations]

app_info_localizations__createA

Add a new language for the app-level listing fields: name, subtitle, privacy policy. [POST /v1/appInfoLocalizations]

app_info_localizations__deleteA

Delete an app info localization. [DELETE /v1/appInfoLocalizations/{id}]

app_info_localizations__getB

Read one app info localization by ID. [GET /v1/appInfoLocalizations/{id}]

app_info_localizations__updateA

Update an app's name, subtitle or privacy policy text for one language. App name and subtitle are capped at 30 characters. [PATCH /v1/appInfoLocalizations/{id}]

app_infos__age_rating_declaration__getA

Read the age rating declaration for an app info. [GET /v1/appInfos/{id}/ageRatingDeclaration]

app_infos__app_info_localizations__listA

List the app info localizations belonging to an app info. [GET /v1/appInfos/{id}/appInfoLocalizations]

app_infos__getA

Read one app info by ID. [GET /v1/appInfos/{id}]

app_infos__primary_category__getB

Read the primary category for an app info. [GET /v1/appInfos/{id}/primaryCategory]

app_infos__primary_subcategory_one__getB

Read the primary subcategory one for an app info. [GET /v1/appInfos/{id}/primarySubcategoryOne]

app_infos__primary_subcategory_two__getB

Read the primary subcategory two for an app info. [GET /v1/appInfos/{id}/primarySubcategoryTwo]

app_infos__secondary_category__getB

Read the secondary category for an app info. [GET /v1/appInfos/{id}/secondaryCategory]

app_infos__secondary_subcategory_one__getA

Read the secondary subcategory one for an app info. [GET /v1/appInfos/{id}/secondarySubcategoryOne]

app_infos__secondary_subcategory_two__getA

Read the secondary subcategory two for an app info. [GET /v1/appInfos/{id}/secondarySubcategoryTwo]

app_infos__territory_age_ratings__listA

List the territory age ratings belonging to an app info. [GET /v1/appInfos/{id}/territoryAgeRatings]

Prompts

Interactive templates invoked by user choice

NameDescription

No prompts

Resources

Contextual data attached and managed by the client

NameDescription

No resources

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/erayendes/app-store-connect-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server