Codemagic
Codemagic MCP 서버
Codemagic CI/CD REST API를 Claude에서 호출 가능한 도구로 노출하는 로컬 Python MCP 서버입니다. 채팅을 나갈 필요 없이 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 .구성
Codemagic 사용자 설정 → 통합 → Codemagic API에서 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=200기본 앱 ID
CODEMAGIC_DEFAULT_APP_ID는 선택 사항이지만 주로 하나의 앱으로 작업하는 경우 권장됩니다. 설정하면 도구에서 app_id가 필요하고 지정되지 않았을 때 AI가 자동으로 이를 사용합니다. 설정되지 않은 경우 AI는 다음과 같이 동작합니다:
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그런 다음 MCP 환경 설정에 API 키를 설정하거나, 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