testflight-mcp
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| ASC_KEY_ID | Yes | App Store Connect API Key ID. | |
| ASC_ISSUER_ID | Yes | App Store Connect API Issuer ID (per team). | |
| ASC_PRIVATE_KEY | No | The .p8 contents inline (alternative to the path; \n escapes are unescaped). | |
| ASC_VENDOR_NUMBER | No | Vendor number; required only for download_sales_report / download_finance_report. | |
| ASC_PRIVATE_KEY_PATH | No | Path to the downloaded .p8 private key file. |
Capabilities
Features and capabilities supported by this server
| Capability | Details |
|---|---|
| tools | {
"listChanged": true
} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| 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
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
Latest Blog Posts
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
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