Codemagic
Codemagic MCP-Server
Ein lokaler Python-MCP-Server, der die Codemagic CI/CD REST-API als Claude-aufrufbare Tools bereitstellt. Lösen Sie Builds aus, verwalten Sie Apps, laden Sie Artefakte herunter und leeren Sie Caches – alles direkt aus Claude Code oder Claude Desktop, ohne den Chat zu verlassen.
Tools
Apps
Tool | Beschreibung |
| Listet alle Anwendungen in Ihrem Codemagic-Konto auf |
| Ruft Details einer bestimmten Anwendung ab |
| Fügt ein öffentliches Repository zu Codemagic hinzu |
| Fügt ein privates Repository mithilfe eines SSH-Schlüssels hinzu |
| Löscht eine Anwendung aus Codemagic |
Builds
Tool | Beschreibung |
| Listet Builds auf, optional gefiltert nach App |
| Ruft Build-Details mit einer Zusammenfassung der Schrittanzahl ab; übergeben Sie |
| Löst einen neuen Build für eine Anwendung aus |
| Bricht einen laufenden Build ab |
| Ruft eine schrittweise Statuszusammenfassung eines Builds ab (filterbar nach Status) |
| Ruft Rohprotokolle inline ab oder erstellt/aktualisiert eine verwaltete temporäre Datei für einen bestimmten Build-Schritt |
| Überprüft, ob ein verwaltetes lokales Schritt-Protokoll-Artefakt für einen bestimmten Build-Schritt noch existiert |
| Listet alle von einem Build erzeugten Artefakte auf |
Artefakte
Tool | Beschreibung |
| Ruft die Download-URL für ein Build-Artefakt ab |
| Erstellt eine zeitlich begrenzte öffentliche URL für ein Artefakt |
Caches
Tool | Beschreibung |
| Listet alle Build-Caches für eine Anwendung auf |
| Löscht einen bestimmten Build-Cache |
| Löscht alle Build-Caches für eine Anwendung |
Umgebungsvariablen
Tool | Beschreibung |
| Listet alle Umgebungsvariablen für eine Anwendung auf |
| Fügt eine Umgebungsvariable zu einer Anwendung hinzu |
| Aktualisiert eine bestehende Umgebungsvariable |
| Löscht eine Umgebungsvariable |
Webhooks
Tool | Beschreibung |
| Listet alle Webhooks für eine Anwendung auf |
| Fügt einen Webhook zu einer Anwendung hinzu |
| Löscht einen Webhook |
⚠️ Diese Tools sind als destruktiv gekennzeichnet und erfordern vor der Ausführung eine Bestätigung.
Schnellstart
Der schnellste Weg, mit Claude Code zu starten – kein separater Installationsschritt erforderlich:
# 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 /toolsDas ist alles. Siehe Konfiguration für optionale Einstellungen wie CODEMAGIC_DEFAULT_APP_ID.
Installation
Voraussetzungen: Python 3.11+
Option 1 — uvx (empfohlen, keine Installation erforderlich)
uvx codemagic-mcpOption 2 — pip
pip install codemagic-mcpOption 3 — aus dem Quellcode
git clone https://github.com/AgiMaulana/CodemagicMcp.git
cd CodemagicMcp
python3 -m venv .venv
.venv/bin/pip install -e .Konfiguration
Holen Sie sich Ihr API-Token unter Codemagic User Settings → Integrations → Codemagic API.
Sie können Einstellungen als Umgebungsvariablen oder über eine .env-Datei bereitstellen:
# .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
# Optional: customize managed temp log storage for get_step_logs(..., delivery="file")
CODEMAGIC_LOG_TEMP_DIR=/tmp/codemagic-mcp
CODEMAGIC_LOG_TTL_SECONDS=3600
CODEMAGIC_LOG_CLEANUP_INTERVAL_SECONDS=300
CODEMAGIC_LOG_MAX_TOTAL_BYTES=524288000
CODEMAGIC_LOG_MAX_FILE_COUNT=200Standard-App-ID
CODEMAGIC_DEFAULT_APP_ID ist optional, wird aber empfohlen, wenn Sie hauptsächlich mit einer App arbeiten. Wenn diese gesetzt ist, verwendet die KI sie automatisch, wann immer ein Tool eine app_id erfordert und keine angegeben wurde. Wenn sie nicht gesetzt ist, wird die KI:
list_appsaufrufen, um verfügbare Apps zu finden.Die App automatisch verwenden, wenn nur eine existiert.
Die Liste präsentieren und Sie bitten zu wählen, falls mehrere Apps gefunden werden.
Bereitstellung von Schritt-Protokolldateien
get_step_logs unterstützt zwei Bereitstellungsmodi:
delivery="file"ist der Standardmodus und schreibt das Protokoll in eine verwaltete lokale temporäre Datei, wobei Metadaten wieartifact_id,file_path,bytes,line_countundexpires_atzurückgegeben werden.delivery="inline"gibt den rohen Schritt-Protokolltext direkt zurück.
Der lokale Dateimodus ist nützlich, wenn ein Schritt-Protokoll zu groß ist, um es bequem inline zurückzugeben. Verwaltete Protokolldateien werden unter CODEMAGIC_LOG_TEMP_DIR gespeichert und abgelaufene Dateien werden opportunistisch bereinigt, wann immer eine neue Protokolldatei geschrieben wird. Das Standard-Aufbewahrungsfenster wird durch CODEMAGIC_LOG_TTL_SECONDS gesteuert und beträgt standardmäßig 3600 Sekunden.
Der Server führt außerdem einen Bereinigungslauf beim Start und eine periodische Hintergrund-Bereinigungsschleife aus. Das Schleifenintervall wird durch CODEMAGIC_LOG_CLEANUP_INTERVAL_SECONDS gesteuert und beträgt standardmäßig 300 Sekunden. Als zusätzliche Sicherheitsmaßnahme ist das verwaltete temporäre Verzeichnis durch CODEMAGIC_LOG_MAX_TOTAL_BYTES und CODEMAGIC_LOG_MAX_FILE_COUNT begrenzt; wenn eines der Limits überschritten wird, werden die ältesten Dateien zuerst entfernt.
get_step_log_artifact(build_id, step_id) überprüft, ob dieses verwaltete Artefakt noch existiert, ohne Codemagic erneut aufzurufen oder den Dateiinhalt zurückzugeben. Die Artefakt-Metadaten enthalten eine deterministische artifact_id in diesem Format:
artifact_<build_id>_<step_id>Wenn das Artefakt fehlt, gibt der Server status="missing" mit dem Grund not_generated_or_expired zurück, was bedeutet, dass die Datei entweder nie generiert wurde oder abgelaufen ist und gelöscht wurde.
Registrierung bei Claude Code
Führen Sie den folgenden Befehl aus, um den Server hinzuzufügen:
claude mcp add codemagic -- codemagic-mcpSetzen Sie dann Ihren API-Schlüssel in der MCP-Umgebungskonfiguration oder exportieren Sie ihn in Ihrer Shell, bevor Sie Claude Code starten:
export CODEMAGIC_API_KEY=your-api-key-hereAlternativ fügen Sie ihn manuell zu ~/.claude.json hinzu:
{
"mcpServers": {
"codemagic": {
"command": "codemagic-mcp",
"env": {
"CODEMAGIC_API_KEY": "your-api-key-here",
"CODEMAGIC_DEFAULT_APP_ID": "your-app-id-here"
}
}
}
}Verwendung von uvx (keine vorherige Installation erforderlich)
{
"mcpServers": {
"codemagic": {
"command": "uvx",
"args": ["codemagic-mcp"],
"env": {
"CODEMAGIC_API_KEY": "your-api-key-here",
"CODEMAGIC_DEFAULT_APP_ID": "your-app-id-here"
}
}
}
}Starten Sie Claude Code neu – die Tools erscheinen unter /tools.
Registrierung bei Claude Desktop
Fügen Sie dies zu ~/Library/Application Support/Claude/claude_desktop_config.json (macOS) oder %APPDATA%\Claude\claude_desktop_config.json (Windows) hinzu:
{
"mcpServers": {
"codemagic": {
"command": "codemagic-mcp",
"env": {
"CODEMAGIC_API_KEY": "your-api-key-here",
"CODEMAGIC_DEFAULT_APP_ID": "your-app-id-here"
}
}
}
}Starten Sie Claude Desktop neu, um die Änderungen zu übernehmen.
Projektstruktur
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.pyHinzufügen neuer Tools
Fügen Sie eine Methode zu
client.pyhinzuFügen Sie die Tool-Funktion zur entsprechenden
tools/*.py-Datei hinzuDas ist alles –
server.pymuss nie geändert werden
Maintenance
Latest Blog Posts
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/AgiMaulana/CodemagicMcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server