Skip to main content
Glama
OrellBuehler

testflight-mcp

by OrellBuehler

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault
ASC_KEY_IDYesApp Store Connect API Key ID.
ASC_ISSUER_IDYesApp Store Connect API Issuer ID (per team).
ASC_PRIVATE_KEYNoThe .p8 contents inline (alternative to the path; \n escapes are unescaped).
ASC_VENDOR_NUMBERNoVendor number; required only for download_sales_report / download_finance_report.
ASC_PRIVATE_KEY_PATHNoPath to the downloaded .p8 private key file.

Capabilities

Features and capabilities supported by this server

CapabilityDetails
tools
{
  "listChanged": true
}

Tools

Functions exposed to the LLM to take actions

NameDescription
list_screenshot_feedbackA

List TestFlight screenshot feedback submissions for an app. Each submission includes the tester's comment (the actual feedback text), the screenshot asset URL(s), device/OS details, and the resolved tester and build. The build carries its build number (build.version) and the TestFlight/marketing version (build.preReleaseVersion.version, e.g. '1.2.0'). By default only the latest pre-release version's feedback is returned (set app_version to a specific version or 'all'). Filter by build, platform, device, OS or tester.

list_crash_feedbackA

List TestFlight crash feedback submissions for an app. Each submission includes any tester comment, device/OS details, the resolved tester and build, and a reference to the downloadable crash log (use get_crash_log). The build carries its build number (build.version) and the TestFlight/marketing version (build.preReleaseVersion.version, e.g. '1.2.0'). By default only the latest pre-release version's feedback is returned (set app_version to a specific version or 'all'). Filter by build, platform, device, OS or tester.

get_screenshot_feedbackA

Get a single screenshot feedback submission by ID, including the tester comment, full device metadata, resolved tester and build (with build.version and the TestFlight version build.preReleaseVersion.version), and screenshot asset URLs. Set download_screenshot to also return the first screenshot inline as an image.

get_crash_feedbackA

Get a single crash feedback submission by ID, including any tester comment, full device metadata, resolved tester and build (with build.version and the TestFlight version build.preReleaseVersion.version), and the crash log reference. Use get_crash_log to download the crash log text.

get_crash_logA

Download the crash log text for a crash feedback submission. Resolves the temporary crash-log URL from the submission and fetches its contents.

list_appsA

List the apps in your App Store Connect account (id, name, bundleId, sku, primaryLocale). Use the returned id as app_id for the other tools.

get_appA

Get a single app by ID (name, bundleId, sku, primaryLocale).

list_buildsA

List TestFlight builds for an app (build/upload number, app version, platform, processing state, expiry). Filter by pre-release version or processing state.

get_buildA

Get a single TestFlight build by ID, including its pre-release version.

list_customer_reviewsA

List public App Store customer reviews for a released app (rating, title, body, reviewer, territory). Distinct from TestFlight beta feedback. Filter by rating or territory.

list_beta_groupsA

List the TestFlight beta groups for an app (name, internal/external, public link, whether feedback is enabled).

list_beta_testersA

List TestFlight beta testers (name, email, invite type, state). Filter by app, beta group and/or email.

list_group_testersB

List the beta testers that belong to a specific beta group.

create_analytics_report_requestA

Create an analytics report request for an app — the required first step to read App Store analytics. Returns a reportRequestId to pass to list_analytics_reports. ONE_TIME_SNAPSHOT requests the latest data once; ONGOING accrues daily data. This creates a request resource but does not modify the app.

list_analytics_reportsA

List the analytics reports available for a report request (name, category, instances). Optionally filter by category.

list_analytics_report_segmentsA

List the downloadable segments of an analytics report (each has a presigned url, size and checksum). Pass a segment url to download_analytics_report_segment.

download_analytics_report_segmentA

Download and decompress an analytics report segment from its presigned url. Returns the report data as CSV/TSV text.

download_sales_reportB

Download a Sales and Trends report as CSV text (decompressed from gzip). Requires a vendor number (from ASC_VENDOR_NUMBER or passed explicitly).

download_finance_reportC

Download a Financial report as CSV text (decompressed from gzip). Requires a vendor number and a region code.

list_devicesA

List registered devices (name, platform, UDID, class, model, status). Filter by platform or status.

list_certificatesA

List signing certificates (type, name, platform, serial number, expiry). Filter by certificate type.

list_profilesA

List provisioning profiles (name, platform, type, state, UUID, expiry) with their bundle ID. Filter by profile state.

list_bundle_idsA

List registered bundle IDs (identifier, name, platform, seed ID). Filter by identifier or platform.

list_app_store_versionsB

List App Store versions for an app (version string, platform, App Store state, release type). Filter by platform, version string or App Store state.

list_app_store_version_localizationsA

List the per-locale localizations for an App Store version (description, keywords, what's new, promotional text, URLs).

get_app_store_version_localizationA

Get a single App Store version localization by ID (description, keywords, what's new, promotional text, URLs).

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/OrellBuehler/testflight-mcp'

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