Codemagic
Servidor MCP de Codemagic
Un servidor MCP de Python local que expone la API REST de CI/CD de Codemagic como herramientas invocables por Claude. Inicia compilaciones, gestiona aplicaciones, descarga artefactos y limpia cachés, todo desde Claude Code o Claude Desktop sin salir del chat.
Herramientas
Aplicaciones
Herramienta | Descripción |
| Lista todas las aplicaciones en tu cuenta de Codemagic |
| Obtiene los detalles de una aplicación específica |
| Añade un repositorio público a Codemagic |
| Añade un repositorio privado usando una clave SSH |
| Elimina una aplicación de Codemagic |
Compilaciones
Herramienta | Descripción |
| Lista las compilaciones, opcionalmente filtradas por aplicación |
| Obtiene los detalles de la compilación con un resumen del conteo de pasos; pasa |
| Inicia una nueva compilación para una aplicación |
| Cancela una compilación en ejecución |
| Obtiene un resumen del estado paso a paso de una compilación (filtrable por estado) |
| Obtiene registros sin procesar en línea o crea/actualiza un archivo temporal gestionado para un paso de compilación específico |
| Comprueba si un artefacto de registro de paso local gestionado todavía existe para un paso de compilación específico |
| Lista todos los artefactos producidos por una compilación |
Artefactos
Herramienta | Descripción |
| Obtiene la URL de descarga para un artefacto de compilación |
| Crea una URL pública con tiempo limitado para un artefacto |
Cachés
Herramienta | Descripción |
| Lista todas las cachés de compilación para una aplicación |
| Elimina una caché de compilación específica |
| Elimina todas las cachés de compilación para una aplicación |
Variables de entorno
Herramienta | Descripción |
| Lista todas las variables de entorno para una aplicación |
| Añade una variable de entorno a una aplicación |
| Actualiza una variable de entorno existente |
| Elimina una variable de entorno |
Webhooks
Herramienta | Descripción |
| Lista todos los webhooks para una aplicación |
| Añade un webhook a una aplicación |
| Elimina un webhook |
⚠️ Estas herramientas están marcadas como destructivas y solicitarán confirmación antes de ejecutarse.
Inicio rápido
La forma más rápida de empezar con Claude Code — no se necesita ningún paso de instalación por separado:
# 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 /toolsEso es todo. Consulta Configuración para ver ajustes opcionales como CODEMAGIC_DEFAULT_APP_ID.
Instalación
Requisitos: Python 3.11+
Opción 1 — uvx (recomendado, no requiere instalación)
uvx codemagic-mcpOpción 2 — pip
pip install codemagic-mcpOpción 3 — desde el código fuente
git clone https://github.com/AgiMaulana/CodemagicMcp.git
cd CodemagicMcp
python3 -m venv .venv
.venv/bin/pip install -e .Configuración
Obtén tu token de API en Codemagic User Settings → Integrations → Codemagic API.
Puedes proporcionar los ajustes como variables de entorno o mediante un archivo .env:
# .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=200ID de aplicación predeterminado
CODEMAGIC_DEFAULT_APP_ID es opcional pero recomendado si trabajas principalmente con una aplicación. Cuando se establece, la IA lo usará automáticamente siempre que una herramienta requiera un app_id y no se haya especificado ninguno. Si no se establece, la IA:
Llamará a
list_appspara descubrir las aplicaciones disponibles.Usará la aplicación automáticamente si solo existe una.
Presentará la lista y te pedirá que elijas si se encuentran varias aplicaciones.
Entrega de archivos de registro de pasos
get_step_logs admite dos modos de entrega:
delivery="file"es el predeterminado y escribe el registro en un archivo temporal local gestionado, devolviendo metadatos comoartifact_id,file_path,bytes,line_countyexpires_at.delivery="inline"devuelve el texto del registro del paso sin procesar directamente.
El modo de archivo local es útil cuando un registro de paso es demasiado grande para devolverlo cómodamente en línea. Los archivos de registro gestionados se almacenan en CODEMAGIC_LOG_TEMP_DIR y los archivos caducados se limpian de forma oportunista cada vez que se escribe un nuevo archivo de registro. La ventana de retención predeterminada está controlada por CODEMAGIC_LOG_TTL_SECONDS y es de 3600 segundos por defecto.
El servidor también ejecuta una pasada de limpieza al inicio y un bucle de limpieza en segundo plano periódico. El intervalo del bucle está controlado por CODEMAGIC_LOG_CLEANUP_INTERVAL_SECONDS y es de 300 segundos por defecto. Como medida de seguridad adicional, el directorio temporal gestionado está limitado por CODEMAGIC_LOG_MAX_TOTAL_BYTES y CODEMAGIC_LOG_MAX_FILE_COUNT; cuando se supera cualquiera de los límites, se eliminan primero los archivos más antiguos.
get_step_log_artifact(build_id, step_id) comprueba si ese artefacto gestionado todavía existe sin volver a llamar a Codemagic ni devolver el contenido del archivo. Los metadatos del artefacto incluyen un artifact_id determinista en este formato:
artifact_<build_id>_<step_id>Si el artefacto falta, el servidor devuelve status="missing" con el motivo not_generated_or_expired, lo que significa que el archivo nunca se generó o caducó y fue eliminado.
Registrar con Claude Code
Ejecuta el siguiente comando para añadir el servidor:
claude mcp add codemagic -- codemagic-mcpLuego establece tu clave API en la configuración de entorno de MCP, o expórtala en tu shell antes de iniciar Claude Code:
export CODEMAGIC_API_KEY=your-api-key-hereAlternativamente, añádelo manualmente a ~/.claude.json:
{
"mcpServers": {
"codemagic": {
"command": "codemagic-mcp",
"env": {
"CODEMAGIC_API_KEY": "your-api-key-here",
"CODEMAGIC_DEFAULT_APP_ID": "your-app-id-here"
}
}
}
}Usando uvx (no se requiere instalación previa)
{
"mcpServers": {
"codemagic": {
"command": "uvx",
"args": ["codemagic-mcp"],
"env": {
"CODEMAGIC_API_KEY": "your-api-key-here",
"CODEMAGIC_DEFAULT_APP_ID": "your-app-id-here"
}
}
}
}Reinicia Claude Code — las herramientas aparecerán en /tools.
Registrar con Claude Desktop
Añádelo a ~/Library/Application Support/Claude/claude_desktop_config.json (macOS) o %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"
}
}
}
}Reinicia Claude Desktop para aplicar los cambios.
Estructura del proyecto
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.pyAñadir nuevas herramientas
Añade un método a
client.pyAñade la función de la herramienta al archivo
tools/*.pycorrespondienteEso es todo —
server.pynunca necesita cambiar
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