io.github.AgiMaulana/CodemagicMcp
Codemagic CI/CD MCP Server β manage builds, apps, artifacts, and caches from your AI
Ask AI about io.github.AgiMaulana/CodemagicMcp
Powered by Claude Β· Grounded in docs
I know everything about io.github.AgiMaulana/CodemagicMcp. Ask me about installation, configuration, usage, or troubleshooting.
0/500
Reviews
Documentation
Codemagic MCP Server
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.
Tools
Apps
| Tool | Description |
|---|---|
list_apps | List all applications in your Codemagic account |
get_app | Get details of a specific application |
add_app | Add a public repository to Codemagic |
add_private_app | Add a private repository using an SSH key |
delete_app β οΈ | Delete an application from Codemagic |
Builds
| Tool | Description |
|---|---|
list_builds | List builds, optionally filtered by app |
get_build | Get build details with step count summary; pass include_steps=True for full step list |
trigger_build | Trigger a new build for an application |
cancel_build β οΈ | Cancel a running build |
get_build_logs | Get a step-by-step status summary of a build (filterable by status) |
get_step_logs | Get raw logs for a specific build step by step ID |
list_build_artifacts | List all artifacts produced by a build |
Artifacts
| Tool | Description |
|---|---|
get_artifact_url | Get the download URL for a build artifact |
create_artifact_public_url | Create a time-limited public URL for an artifact |
Caches
| Tool | Description |
|---|---|
list_caches | List 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
| Tool | Description |
|---|---|
list_variables | List all environment variables for an application |
add_variable | Add an environment variable to an application |
update_variable | Update an existing environment variable |
delete_variable β οΈ | Delete an environment variable |
Webhooks
| Tool | Description |
|---|---|
list_webhooks | List all webhooks for an application |
add_webhook | Add 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:
- Call
list_appsto discover available apps. - Use the app automatically if only one exists.
- 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
- Add a method to
client.py - Add the tool function to the relevant
tools/*.pyfile - That's it β
server.pynever needs to change
