mcp-codemagic
This MCP server enables users to manage Codemagic CI/CD builds directly from Claude Code, including listing apps, triggering builds, checking status, and canceling builds.
README
mcp-codemagic
An MCP server for Codemagic CI/CD. Trigger and inspect mobile/Flutter builds straight from Claude Code (or any MCP client) using the Codemagic REST API.
Built and maintained by MusicTech Lab.
Features
| Tool | Description |
|---|---|
codemagic_list_apps |
List all applications and their workflow ids |
codemagic_get_app |
Get one application's repo, branches, and workflows |
codemagic_start_build |
Trigger a build for an app/workflow on a branch or tag |
codemagic_get_build |
Get the status and details of a build |
codemagic_list_builds |
List builds, filterable by app/workflow/branch/status |
codemagic_cancel_build |
Cancel a running or queued build |
Requirements
- Python 3.10+
- Poetry
- A Codemagic API token
Setup
git clone https://github.com/musictechlab/mcp-codemagic.git
cd mcp-codemagic
poetry install
cp .env.example .env # then fill in CODEMAGIC_API_KEY
Getting your API token
In Codemagic, go to User settings → Integrations → Codemagic API (or Team settings → Integrations for team accounts) and copy the token. Put it in .env:
CODEMAGIC_API_KEY=your-codemagic-api-token
Running
poetry run python -m mcp_codemagic
# or, via the installed console script:
poetry run mcp-codemagic
Connecting to Claude Code
Add the server with the CLI:
claude mcp add codemagic -- poetry --directory /absolute/path/to/mcp-codemagic run python -m mcp_codemagic
Or add it manually to your MCP config:
{
"mcpServers": {
"codemagic": {
"command": "poetry",
"args": ["--directory", "/absolute/path/to/mcp-codemagic", "run", "python", "-m", "mcp_codemagic"],
"env": { "CODEMAGIC_API_KEY": "your-codemagic-api-token" }
}
}
}
Example prompts
- "List my Codemagic apps and their workflows."
- "Start the
ios-releaseworkflow for app<app-id>onmain." - "What's the status of build
<build-id>?" - "Show the last builds for app
<app-id>that are still building." - "Cancel build
<build-id>."
Examples
List apps
"List my Codemagic apps and their workflows."
Calls codemagic_list_apps and returns each application with its id and workflow ids:
{
"applications": [
{
"_id": "6a28af80c12e620808693f7b",
"appName": "vimoswim-coach",
"repository": { "htmlUrl": "https://github.com/vimoswim/vimoswim-coach" },
"workflowIds": ["6a28af80c12e620808693f7a"]
}
]
}
Trigger a build
"Start workflow
6a28af80c12e620808693f7afor app6a28af80c12e620808693f7bonmain."
Calls codemagic_start_build and returns the new build id:
{ "buildId": "6a28f92cf7acee31a7394057" }
Check build status
"What's the status of build
6a28f92cf7acee31a7394057?"
Calls codemagic_get_build. The status field moves through queued → building → finishing → publishing → finished:

{
"build": {
"_id": "6a28f92cf7acee31a7394057",
"status": "queued",
"branch": "main",
"workflowId": "6a28af80c12e620808693f7a",
"instanceType": "mac_mini_m2"
}
}
Errors come back as JSON (never raised), so the agent can read them:
{ "error": "Codemagic API 404 for GET /builds/missing", "status": 404, "body": { "message": "Build not found" } }
Configuration
| Variable | Required | Default | Description |
|---|---|---|---|
CODEMAGIC_API_KEY |
yes | — | Codemagic API token (x-auth-token) |
CODEMAGIC_BASE_URL |
no | https://api.codemagic.io |
Override the API base URL |
Development
poetry install
poetry run ruff check .
poetry run ruff format --check .
poetry run pytest
Contributing
See CONTRIBUTING.md.
Security
To report a vulnerability, see SECURITY.md.
License
MIT — see LICENSE.
<div align="center"> MusicTech Lab - Rockstars Developers dedicated to the Music Industry<br> <a href="https://musictechlab.io">Website</a> <span> | </span> <a href="https://linkedin.com/company/musictechlab">LinkedIn</a> <span> | </span> <a href="https://musictechlab.io/contact">Let's talk</a><br> Crafted by <a href="https://musictechlab.io">musictechlab.io</a> </div>
Recommended Servers
playwright-mcp
A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.
Magic Component Platform (MCP)
An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.
Audiense Insights MCP Server
Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.
VeyraX MCP
Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.
graphlit-mcp-server
The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.
Kagi MCP Server
An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.
E2B
Using MCP to run code via e2b.
Neon Database
MCP server for interacting with Neon Management API and databases
Qdrant Server
This repository is an example of how to create a MCP server for Qdrant, a vector search engine.
Exa Search
A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.