
CodemagicMcp
io.github.AgiMaulanaPublished by GitHub account AgiMaulanav0.6.2Updated Oct 24, 2026
Codemagic CI/CD MCP Server — manage builds, apps, artifacts, and caches from your AI
Overview
Lets an assistant manage Codemagic CI/CD builds, apps, artifacts, caches, variables, and webhooks through the Codemagic REST API.
- What you can do
- Exposes the Codemagic CI/CD REST API as assistant-callable tools. It can list and inspect apps and builds, trigger or cancel builds, read build and step logs, list artifacts, and create time-limited public artifact URLs. It also manages build caches, app environment variables, and webhooks, including delete operations marked destructive.
- When to use it
- Useful when a team builds and ships through Codemagic and wants to check build status, trigger or cancel builds, pull logs and artifacts, or adjust caches, variables, and webhooks from the chat instead of the Codemagic web UI.
- Requirements
- Runs locally as a Python package (Python 3.11+) via uvx, pip, or source, over stdio. Requires a Codemagic API key in CODEMAGIC_API_KEY; optional CODEMAGIC_BASE_URL and CODEMAGIC_DEFAULT_APP_ID. Needs network access to the Codemagic API. Desktop client only.
Installation
In SourceWeft
- Open CodemagicMcp in the dashboard and add it to a workspace.
- Enable the server for the chats that should use its tools.
Desktop only via STDIO. STDIO servers start a local process, so they need the SourceWeft desktop host.
Other MCP clients
Follow the launch instructions in the repository.
README
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.
[CodemagicMcp MCP server] [MCP Badge] [License: MIT]
Tools
Apps
Builds
Artifacts
Caches
Environment Variables
Webhooks
⚠️ 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:
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)
Option 2 — pip
Option 3 — from source
Configuration
Get your API token from Codemagic User Settings → Integrations → Codemagic API.
You can provide settings as environment variables or via a .env file:
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.
Step Log File Delivery
get_step_logs supports two delivery modes:
delivery="file"is the default and writes the log to a managed local temp file, returning metadata such asartifact_id,file_path,bytes,line_count, andexpires_at.delivery="inline"returns the raw step log text directly.
The local file mode is useful when a step log is too large to comfortably return inline. Managed log files are stored under CODEMAGIC_LOG_TEMP_DIR and expired files are cleaned up opportunistically whenever a new log file is written. The default retention window is controlled by CODEMAGIC_LOG_TTL_SECONDS and defaults to 3600 seconds.
The server also runs a startup cleanup pass and a periodic background cleanup loop. The loop interval is controlled by CODEMAGIC_LOG_CLEANUP_INTERVAL_SECONDS and defaults to 300 seconds. As an additional safety backstop, the managed temp directory is capped by CODEMAGIC_LOG_MAX_TOTAL_BYTES and CODEMAGIC_LOG_MAX_FILE_COUNT; when either cap is exceeded, the oldest files are evicted first.
get_step_log_artifact(build_id, step_id) checks whether that managed artifact still exists without calling Codemagic again or returning the file contents. The artifact metadata includes a deterministic artifact_id in this format:
If the artifact is missing, the server returns status="missing" with reason not_generated_or_expired, which means the file was either never generated or it expired and was deleted.
Register with Claude Code
Run the following command to add the server:
Then set your API key in the MCP env config, or export it in your shell before starting Claude Code:
Alternatively, add it manually to ~/.claude.json:
Using uvx (no prior installation needed)
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):
Restart Claude Desktop to pick up the changes.
Project Structure
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
Source: README.md at commit 0b726c8
Tools
0Version history
1- v0.6.2LatestSep 16, 2026
Score
50% of the applicable checks met
How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.
- Reached in the last 30 days25 pts
Keep the endpoint answering the MCP handshake; SourceWeft probes it every 30 days.
- Auth declared10 pts
Declare the credential headers in the registry entry, or keep the endpoint answering the probe so its auth can be classified.
- Tools listed15 pts
Answer tools/list without a credential, or ship a package that starts in a sandbox without one.
- DescriptionRequired15 pts
- Logo10 pts
- Documentation15 pts
- License10 pts