Skip to main content
Glama

Codemagic MCP 서버

MCP Registry

Codemagic CI/CD REST API를 Claude에서 호출 가능한 도구로 노출하는 로컬 Python MCP 서버입니다. 채팅을 나갈 필요 없이 Claude Code나 Claude Desktop에서 바로 빌드를 트리거하고, 앱을 관리하고, 아티팩트를 다운로드하고, 캐시를 삭제할 수 있습니다.

Codemagic MCP server

CodemagicMcp MCP server MCP Badge License: MIT

도구

도구

설명

list_apps

Codemagic 계정의 모든 애플리케이션 나열

get_app

특정 애플리케이션의 세부 정보 가져오기

add_app

공개 저장소를 Codemagic에 추가

add_private_app

SSH 키를 사용하여 비공개 저장소 추가

delete_app ⚠️

Codemagic에서 애플리케이션 삭제

빌드

도구

설명

list_builds

빌드 나열 (앱별 필터링 가능)

get_build

단계 수 요약이 포함된 빌드 세부 정보 가져오기; 전체 단계 목록을 보려면 include_steps=True 전달

trigger_build

애플리케이션에 대한 새 빌드 트리거

cancel_build ⚠️

실행 중인 빌드 취소

get_build_logs

빌드의 단계별 상태 요약 가져오기 (상태별 필터링 가능)

get_step_logs

특정 빌드 단계에 대한 원시 로그를 인라인으로 가져오거나 관리되는 임시 파일 생성/업데이트

get_step_log_artifact

특정 빌드 단계에 대해 관리되는 로컬 단계 로그 아티팩트가 여전히 존재하는지 확인

list_build_artifacts

빌드에서 생성된 모든 아티팩트 나열

아티팩트

도구

설명

get_artifact_url

빌드 아티팩트의 다운로드 URL 가져오기

create_artifact_public_url

아티팩트에 대한 시간 제한 공개 URL 생성

캐시

도구

설명

list_caches

애플리케이션의 모든 빌드 캐시 나열

delete_cache ⚠️

특정 빌드 캐시 삭제

delete_all_caches ⚠️

애플리케이션의 모든 빌드 캐시 삭제

환경 변수

도구

설명

list_variables

애플리케이션의 모든 환경 변수 나열

add_variable

애플리케이션에 환경 변수 추가

update_variable

기존 환경 변수 업데이트

delete_variable ⚠️

환경 변수 삭제

웹훅

도구

설명

list_webhooks

애플리케이션의 모든 웹훅 나열

add_webhook

애플리케이션에 웹훅 추가

delete_webhook ⚠️

웹훅 삭제

⚠️ 이 도구들은 파괴적인 작업으로 표시되어 있으며 실행 전 확인을 요청합니다.

빠른 시작

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는 다음과 같이 동작합니다:

  1. list_apps를 호출하여 사용 가능한 앱을 찾습니다.

  2. 앱이 하나만 존재하면 자동으로 사용합니다.

  3. 여러 앱이 발견되면 목록을 제시하고 선택을 요청합니다.

단계 로그 파일 전달

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_BYTESCODEMAGIC_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

새 도구 추가

  1. client.py에 메서드 추가

  2. 관련 tools/*.py 파일에 도구 함수 추가

  3. 끝입니다 — server.py는 변경할 필요가 없습니다

Install Server
A
license - permissive license
A
quality
A
maintenance

Maintenance

Maintainers
1hResponse time
4dRelease cycle
9Releases (12mo)

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