Codemagic
MCP-сервер Codemagic
Локальный Python MCP-сервер, который предоставляет REST API Codemagic CI/CD в качестве инструментов, вызываемых Claude. Запускайте сборки, управляйте приложениями, загружайте артефакты и очищайте кэши — всё это из Claude Code или Claude Desktop, не покидая чат.
Инструменты
Приложения
Инструмент | Описание |
| Список всех приложений в вашей учетной записи Codemagic |
| Получить подробную информацию о конкретном приложении |
| Добавить публичный репозиторий в Codemagic |
| Добавить приватный репозиторий с использованием SSH-ключа |
| Удалить приложение из Codemagic |
Сборки
Инструмент | Описание |
| Список сборок, опционально с фильтрацией по приложению |
| Получить подробную информацию о сборке со сводкой по количеству шагов; передайте |
| Запустить новую сборку для приложения |
| Отменить запущенную сборку |
| Получить пошаговую сводку состояния сборки (с возможностью фильтрации по статусу) |
| Получить необработанные логи напрямую или создать/обновить управляемый временный файл для конкретного шага сборки |
| Проверить, существует ли еще управляемый локальный артефакт лога шага для конкретного шага сборки |
| Список всех артефактов, созданных сборкой |
Артефакты
Инструмент | Описание |
| Получить URL для скачивания артефакта сборки |
| Создать временный публичный URL для артефакта |
Кэши
Инструмент | Описание |
| Список всех кэшей сборок для приложения |
| Удалить конкретный кэш сборки |
| Удалить все кэши сборок для приложения |
Переменные окружения
Инструмент | Описание |
| Список всех переменных окружения для приложения |
| Добавить переменную окружения в приложение |
| Обновить существующую переменную окружения |
| Удалить переменную окружения |
Вебхуки
Инструмент | Описание |
| Список всех вебхуков для приложения |
| Добавить вебхук в приложение |
| Удалить вебхук |
⚠️ Эти инструменты помечены как деструктивные и будут запрашивать подтверждение перед выполнением.
Быстрый старт
Самый быстрый способ начать работу с Claude Code — отдельный шаг установки не требуется:
# 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Это всё. См. Конфигурация для получения информации о дополнительных настройках, таких как CODEMAGIC_DEFAULT_APP_ID.
Установка
Требования: Python 3.11+
Вариант 1 — uvx (рекомендуется, установка не требуется)
uvx codemagic-mcpВариант 2 — pip
pip install codemagic-mcpВариант 3 — из исходного кода
git clone https://github.com/AgiMaulana/CodemagicMcp.git
cd CodemagicMcp
python3 -m venv .venv
.venv/bin/pip install -e .Конфигурация
Получите свой API-токен в Codemagic User Settings → Integrations → Codemagic API.
Вы можете предоставить настройки в виде переменных окружения или через файл .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 приложения по умолчанию
CODEMAGIC_DEFAULT_APP_ID является необязательным, но рекомендуется, если вы работаете в основном с одним приложением. Если этот параметр задан, ИИ будет использовать его автоматически всякий раз, когда инструменту требуется app_id, а он не был указан. Если он не задан, ИИ:
Вызовет
list_appsдля обнаружения доступных приложений.Автоматически использует приложение, если оно только одно.
Представит список и попросит вас выбрать, если найдено несколько приложений.
Доставка файлов логов шагов
get_step_logs поддерживает два режима доставки:
delivery="file"— это значение по умолчанию, которое записывает лог во временный управляемый локальный файл, возвращая метаданные, такие какartifact_id,file_path,bytes,line_countиexpires_at.delivery="inline"— возвращает необработанный текст лога шага напрямую.
Режим локального файла полезен, когда лог шага слишком велик, чтобы удобно возвращать его в строке. Управляемые файлы логов хранятся в CODEMAGIC_LOG_TEMP_DIR, а просроченные файлы удаляются по мере возможности при записи нового файла лога. Окно хранения по умолчанию контролируется параметром CODEMAGIC_LOG_TTL_SECONDS и составляет 3600 секунд.
Сервер также выполняет очистку при запуске и периодический фоновый цикл очистки. Интервал цикла контролируется параметром CODEMAGIC_LOG_CLEANUP_INTERVAL_SECONDS и составляет 300 секунд. В качестве дополнительной меры безопасности, управляемый временный каталог ограничен параметрами CODEMAGIC_LOG_MAX_TOTAL_BYTES и CODEMAGIC_LOG_MAX_FILE_COUNT; при превышении любого из этих лимитов первыми удаляются самые старые файлы.
get_step_log_artifact(build_id, step_id) проверяет, существует ли еще этот управляемый артефакт, не вызывая Codemagic повторно и не возвращая содержимое файла. Метаданные артефакта включают детерминированный artifact_id в следующем формате:
artifact_<build_id>_<step_id>Если артефакт отсутствует, сервер возвращает status="missing" с причиной not_generated_or_expired, что означает, что файл либо никогда не был создан, либо он истек и был удален.
Регистрация в Claude Code
Выполните следующую команду, чтобы добавить сервер:
claude mcp add codemagic -- codemagic-mcpЗатем установите свой API-ключ в конфигурации MCP env или экспортируйте его в своей оболочке перед запуском Claude Code:
export CODEMAGIC_API_KEY=your-api-key-hereАльтернативно, добавьте его вручную в ~/.claude.json:
{
"mcpServers": {
"codemagic": {
"command": "codemagic-mcp",
"env": {
"CODEMAGIC_API_KEY": "your-api-key-here",
"CODEMAGIC_DEFAULT_APP_ID": "your-app-id-here"
}
}
}
}Использование uvx (предварительная установка не требуется)
{
"mcpServers": {
"codemagic": {
"command": "uvx",
"args": ["codemagic-mcp"],
"env": {
"CODEMAGIC_API_KEY": "your-api-key-here",
"CODEMAGIC_DEFAULT_APP_ID": "your-app-id-here"
}
}
}
}Перезапустите Claude Code — инструменты появятся в /tools.
Регистрация в Claude Desktop
Добавьте в ~/Library/Application Support/Claude/claude_desktop_config.json (macOS) или %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"
}
}
}
}Перезапустите Claude Desktop, чтобы применить изменения.
Структура проекта
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Добавление новых инструментов
Добавьте метод в
client.pyДобавьте функцию инструмента в соответствующий файл
tools/*.pyЭто всё —
server.pyменять не нужно
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