mcp-codemagic

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.

Category
Visit Server

README

mcp-codemagic

License: MIT CI Python 3.10+ Code style: Ruff MCP Built by MusicTech Lab

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-release workflow for app <app-id> on main."
  • "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 6a28af80c12e620808693f7a for app 6a28af80c12e620808693f7b on main."

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:

Recent Codemagic build status rendered in Claude Code

{
  "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

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.

Official
Featured
TypeScript
Magic Component Platform (MCP)

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.

Official
Featured
Local
TypeScript
Audiense Insights MCP Server

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.

Official
Featured
Local
TypeScript
VeyraX MCP

VeyraX MCP

Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.

Official
Featured
Local
graphlit-mcp-server

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.

Official
Featured
TypeScript
Kagi MCP Server

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.

Official
Featured
Python
E2B

E2B

Using MCP to run code via e2b.

Official
Featured
Neon Database

Neon Database

MCP server for interacting with Neon Management API and databases

Official
Featured
Qdrant Server

Qdrant Server

This repository is an example of how to create a MCP server for Qdrant, a vector search engine.

Official
Featured
Exa Search

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.

Official
Featured