CodemagicMcp

A local Python MCP server that exposes the Codemagic CI/CD REST API as Claude-callable tools.

Codemagic MCP Server

MCP Registry

A local Python MCP server that exposes the Codemagic CI/CD REST API as Claude-callable tools. Trigger builds, manage apps, download artifacts, and clear caches — all from Claude Code or Claude Desktop without leaving the chat.

Codemagic MCP server

CodemagicMcp MCP server MCP Badge License: MIT

Tools

Apps

ToolDescription
list_appsList all applications in your Codemagic account
get_appGet details of a specific application
add_appAdd a public repository to Codemagic
add_private_appAdd a private repository using an SSH key
delete_app ⚠️Delete an application from Codemagic

Builds

ToolDescription
list_buildsList builds, optionally filtered by app
get_buildGet build details with step count summary; pass include_steps=True for full step list
trigger_buildTrigger a new build for an application
cancel_build ⚠️Cancel a running build
get_build_logsGet a step-by-step status summary of a build (filterable by status)
get_step_logsGet raw logs for a specific build step by step ID
list_build_artifactsList all artifacts produced by a build

Artifacts

ToolDescription
get_artifact_urlGet the download URL for a build artifact
create_artifact_public_urlCreate a time-limited public URL for an artifact

Caches

ToolDescription
list_cachesList all build caches for an application
delete_cache ⚠️Delete a specific build cache
delete_all_caches ⚠️Delete all build caches for an application

Environment Variables

ToolDescription
list_variablesList all environment variables for an application
add_variableAdd an environment variable to an application
update_variableUpdate an existing environment variable
delete_variable ⚠️Delete an environment variable

Webhooks

ToolDescription
list_webhooksList all webhooks for an application
add_webhookAdd a webhook to an application
delete_webhook ⚠️Delete a webhook

⚠️ These tools are marked as destructive and will prompt for confirmation before executing.

Quick Start

The fastest way to get running with Claude Code — no separate install step needed:

# 1. Add the server (uses uvx to run it on-demand)
claude mcp add codemagic -e CODEMAGIC_API_KEY=your-api-key-here -- uvx codemagic-mcp

# 2. Restart Claude Code — tools will appear in /tools

That's it. See Configuration for optional settings like CODEMAGIC_DEFAULT_APP_ID.


Installation

Requirements: Python 3.11+

Option 1 — uvx (recommended, no install needed)

uvx codemagic-mcp

Option 2 — pip

pip install codemagic-mcp

Option 3 — from source

git clone https://github.com/AgiMaulana/CodemagicMcp.git
cd CodemagicMcp
python3 -m venv .venv
.venv/bin/pip install -e .

Configuration

Get your API token from Codemagic User Settings → Integrations → Codemagic API.

You can provide settings as environment variables or via a .env file:

# .env
CODEMAGIC_API_KEY=your-api-key-here

# Optional: set a default app so you don't have to specify it every time
CODEMAGIC_DEFAULT_APP_ID=your-app-id-here

Default App ID

CODEMAGIC_DEFAULT_APP_ID is optional but recommended if you work primarily with one app. When set, the AI will use it automatically whenever a tool requires an app_id and none was specified. If it is not set, the AI will:

  1. Call list_apps to discover available apps.
  2. Use the app automatically if only one exists.
  3. Present the list and ask you to choose if multiple apps are found.

Register with Claude Code

Run the following command to add the server:

claude mcp add codemagic -- codemagic-mcp

Then set your API key in the MCP env config, or export it in your shell before starting Claude Code:

export CODEMAGIC_API_KEY=your-api-key-here

Alternatively, add it manually to ~/.claude.json:

{
  "mcpServers": {
    "codemagic": {
      "command": "codemagic-mcp",
      "env": {
        "CODEMAGIC_API_KEY": "your-api-key-here",
        "CODEMAGIC_DEFAULT_APP_ID": "your-app-id-here"
      }
    }
  }
}

Using uvx (no prior installation needed)

{
  "mcpServers": {
    "codemagic": {
      "command": "uvx",
      "args": ["codemagic-mcp"],
      "env": {
        "CODEMAGIC_API_KEY": "your-api-key-here",
        "CODEMAGIC_DEFAULT_APP_ID": "your-app-id-here"
      }
    }
  }
}

Restart Claude Code — the tools will appear in /tools.

Register with Claude Desktop

Add to ~/Library/Application Support/Claude/claude_desktop_config.json (macOS) or %APPDATA%\Claude\claude_desktop_config.json (Windows):

{
  "mcpServers": {
    "codemagic": {
      "command": "codemagic-mcp",
      "env": {
        "CODEMAGIC_API_KEY": "your-api-key-here",
        "CODEMAGIC_DEFAULT_APP_ID": "your-app-id-here"
      }
    }
  }
}

Restart Claude Desktop to pick up the changes.

Project Structure

codemagic_mcp/
├── config.py        # pydantic-settings config (validates API key at startup)
├── client.py        # httpx async client, one method per endpoint
├── server.py        # FastMCP instance
└── tools/
    ├── apps.py
    ├── builds.py
    ├── artifacts.py
    ├── caches.py
    ├── variables.py
    └── webhooks.py

Adding New Tools

  1. Add a method to client.py
  2. Add the tool function to the relevant tools/*.py file
  3. That's it — server.py never needs to change

Máy chủ liên quan