# todah-zg/codemagic-mcp [Health: Active]

**Category:** 🔒 Delivery  
**Repository:** https://github.com/todah-zg/codemagic-mcp  
**GitHub Stars:** 1  
**npm Downloads (last month):** 104  
**Views:** 3  
**Installs:** 0  
**Upvotes:** 0  
**Directory Page:** https://allmcps.com/mcp/todah-zg-codemagic-mcp

## Description
Build, sign, and publish iOS and Android apps through AI agents. Integrates Codemagic CI/CD, App Store Connect, and Google Play in one server.

## Tools
Capabilities this server exposes over MCP:

- **ping** — Check that the server is running
- **list_teams** — List teams the authenticated account belongs to
- **list_applications** — List apps in your Codemagic account or team
- **list_workflows** — List workflows for an app
- **list_builds** — List builds with optional filters (app, status, branch, workflow)
- **get_build** — Get full details for a single build including artifacts
- **get_build_logs** — Fetch per-step log text for a build — by default returns failed steps only
- **trigger_build** — Trigger a build; optionally supply an inline `codemagic.yaml` or override `instance_type
- **wait_for_build** — Single-check tool — returns status immediately; call again until terminal state
- **cancel_build** — Cancel a running or queued build
- **add_application** — Connect a Git repository to Codemagic; auto-generates SSH deploy keys for SSH URLs
- **get_webhook_url** — Get the incoming webhook URL to paste into your Git provider settings
- **list_webhooks** — List webhook subscriptions configured for an app
- **delete_webhook** — Delete a webhook subscription from an app
- **list_caches** — List build caches for an app
- **delete_cache** — Delete all caches or a specific cache by ID
- **create_public_artifact_url** — Create a time-limited public download URL for a build artifact
- **list_asc_apps** — List apps in App Store Connect
- **list_asc_builds** — List TestFlight builds for an app
- **list_testflight_groups** — List TestFlight beta groups
- **get_asc_review_status** — Get the App Store review state for an app
- **get_asc_release_status** — Full release pipeline dashboard (builds, TestFlight, App Store)
- **upload_to_testflight** — Download an IPA from Codemagic and upload to TestFlight
- **submit_beta_review** — Submit a TestFlight build for external beta review (required before external groups)
- **add_testflight_tester** — Add a tester by email to TestFlight, optionally to a group
- **create_testflight_group** — Create an internal or external TestFlight beta group
- **set_export_compliance** — Declare encryption usage for a build (required before App Store submission)
- **set_version_metadata** — Set "What's New" text and other per-locale metadata for an App Store version
- **validate_app_submission** — Preflight check — returns an ordered list of blockers before submission
- **upload_build_to_asc** — Upload an IPA to App Store Connect (fast, non-blocking); poll `list_asc_builds` until VALID
- **submit_for_app_store_review** — Attach a processed build to a version and submit for App Store review
- **release_version** — Release an approved App Store version immediately
- **set_phased_release** — Create, pause, resume, or complete a phased rollout
- **get_ios_store_listing** — Pull current App Store listing text for all locales (name, description, keywords, etc.)
- **set_ios_store_listing** — Update App Store listing text for a locale — only provided fields are changed
- **list_ios_screenshot_types** — List supported screenshot device types and their required pixel dimensions
- **upload_ios_screenshots** — Download screenshots from URLs and upload to App Store Connect for a device type and locale
- **list_google_play_tracks** — List tracks (internal, alpha, beta, production) with release info
- **list_google_play_bundles** — List uploaded AABs by version code
- **upload_to_google_play** — Download an AAB from Codemagic and publish to a Google Play track
- **get_latest_build_number** — Get the highest version code across all (or specified) tracks
- **promote_google_play_release** — Promote a release between tracks (internal → alpha → beta → production)
- **set_rollout_fraction** — Expand, halt, or resume a staged rollout by setting the user fraction
- **share_app_internally** — Upload an AAB to Internal App Sharing for instant QA install links
- **get_android_store_listing** — Fetch current Google Play store listing for a language (title, descriptions)
- **set_android_store_listing** — Update Google Play store listing for a language — only provided fields are changed
- **upload_android_screenshots** — Download screenshots from URLs and upload to Google Play for a language and device type
- **set_android_data_safety** — Submit the data safety declaration CSV (exported from Play Console) — re-upload when data practices change
- **list_google_play_reviews** — List recent user reviews with optional star rating filter (e.g. 1–2 stars only); includes developer reply status and review IDs
- **reply_to_google_play_review** — Post or update a developer reply to a user review (max 350 characters)
- **get_test_results** — Fetch and parse JUnit XML test results from a Codemagic build — returns a pass/fail/error/skip summary with per-failure details and stack trace excerpts. Covers Flutter, Android instrumented tests, and iOS (via xcresult conversion). Pass `artifact_url` directly if you already have it from `wait_for…
- **prepare_release_notes** — Validate localized release notes — checks BCP-47 locale codes and char limits (Android: 500, iOS: 4000)
- **check_publish_readiness** — Aggregate publish-readiness checks for iOS or Android. API-verifiable items (valid build, listing completeness, binary validation) run live; items with no API (age rating, privacy labels, legal agreements) are always listed as human-required. Each item is tagged as 'agent can fix' or 'human require…
- **list_variable_groups** — List variable groups for a team or app
- **create_variable_group** — Create a new variable group (team or app scoped)
- **add_variable** — Add a non-secret variable to a group
- **list_variables** — List variables in a group (required to get IDs before updating or deleting)
- **update_variable** — Update the name or value of a variable by ID
- **delete_variable** — Delete a variable from a group by ID
- **validate_codemagic_yaml** — Validate a `codemagic.yaml` against the official Codemagic JSON schema
- **get_yaml_template** — Get a starter `codemagic.yaml` for android, ios, flutter, flutter-native, react-native, ionic-capacitor, ionic-cordova, kmm, snap, unity, unity-oculus, dotnet-maui, ios-screenshots, android-screenshots, flutter-screenshots — plus android-debug, flutter-android-debug, react-native-android-debug for…
- **list_yaml_template_types** — List all supported project types for `get_yaml_template
- **detect_project_type** — Detect the project type from a repository file listing — returns the recommended template and debug template to start with

## Claude Desktop Quick Installation
Install path detected from listing signals. Uses `npx` (confidence: high):

```json
"mcpServers": {
  "codemagic-mcp": {
    "command": "npx",
    "args": ["-y","@modelcontextprotocol/inspector"],
    "env": {
      "CODEMAGIC_API_TOKEN": "",
      "ASC_KEY_ID": "",
      "ASC_ISSUER_ID": "",
      "ASC_PRIVATE_KEY_B64": "",
      "ASC_BYPASS_KEYCHAIN": "",
      "GOOGLE_PLAY_SERVICE_ACCOUNT_CREDENTIALS": ""
    }
  }
}
```

**Requires environment variables:** `CODEMAGIC_API_TOKEN`, `ASC_KEY_ID`, `ASC_ISSUER_ID`, `ASC_PRIVATE_KEY_B64`, `ASC_BYPASS_KEYCHAIN`, `GOOGLE_PLAY_SERVICE_ACCOUNT_CREDENTIALS` — the values above are empty placeholders; fill in real credentials before running (see the repository for what each one is for).

## Documentation

## What todah-zg/codemagic-mcp MCP server does

The todah-zg/codemagic-mcp MCP server exposes mobile delivery operations through the Model Context Protocol. It connects an authenticated Codemagic account with App Store Connect and Google Play workflows, covering tasks from repository onboarding to build execution and store publishing.

On the Codemagic side, agents can discover teams, applications, workflows, and builds; start, monitor, or cancel builds; retrieve build details and step logs; and work with caches and webhook subscriptions. The server can also connect a Git repository to Codemagic and generate a time-limited public URL for a build artifact.

Its iOS tools cover App Store Connect app and TestFlight build discovery, beta groups and testers, external beta review, export compliance, version metadata, submission validation, and IPA uploads. The project description also identifies Android publishing through Google Play as part of the supported mobile delivery pipeline.

## How it works

MCP-compatible clients call the server’s tools as needed. A typical Codemagic flow starts by finding an application and its workflows, then triggering a build and checking its state with `wait_for_build`. That tool returns immediately, so an agent calls it again until the build reaches a terminal state. Build details, artifacts, and per-step logs can then be inspected.

For iOS delivery, an agent can find a TestFlight build, upload an IPA, update localized release metadata, declare export compliance, and run a preflight validation before submission. TestFlight groups and testers can be managed through separate tools. The server also provides a `ping` operation for checking whether the process is available.

## Setup and configuration

The todah-zg/codemagic-mcp MCP server requires Node.js 20 or 22. The documented no-install launch command uses the npm package `codemagic-mcp-server` through `npx`:

```json
{
  "command": "npx",
  "args": ["-y", "codemagic-mcp-server"]
}
```

`CODEMAGIC_API_TOKEN` is required for the Codemagic account. App Store Connect operations use `ASC_KEY_ID`, `ASC_ISSUER_ID`, and `ASC_PRIVATE_KEY_B64`; `ASC_BYPASS_KEYCHAIN=1` can force authentication through environment variables instead of the macOS keychain. Google Play operations use `GOOGLE_PLAY_SERVICE_ACCOUNT_CREDENTIALS`, which may contain raw JSON or an `@file:` reference.

The README documents Claude Desktop configuration on macOS and Windows. It also describes building from a local clone with `npm install`, `npm run build`, and Node.js, but local paths must be supplied in the client configuration.

## Tools and capabilities

Supported operations include:

- Listing teams, applications, workflows, builds, App Store Connect apps, TestFlight builds, and beta groups.
- Triggering, waiting for, inspecting, logging, and cancelling Codemagic builds.
- Adding repositories and managing webhooks and build caches.
- Uploading IPAs, adding TestFlight testers, creating groups, and submitting beta reviews.
- Setting export compliance and version metadata, then validating an App Store submission.
- Creating temporary public artifact download URLs.

## Limitations and notes

The server does not replace the external credentials or accounts required by Codemagic, App Store Connect, or Google Play. Store-specific environment variables are only needed for the corresponding operations. `wait_for_build` performs one status check per call rather than holding an open wait, so clients must repeat it while a build is running. The provided setup documentation specifically describes Claude Desktop; compatibility with other MCP clients is not established by the supplied material.

_Full upstream README: https://allmcps.com/mcp/todah-zg-codemagic-mcp/readme_

