VOOZH about

URL: https://glama.ai/mcp/servers/AgiMaulana/CodemagicMcp?locale=ko-KR

⇱ Codemagic by AgiMaulana | 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 ⚠️

μ›Ήν›… μ‚­μ œ

⚠️ 이 도ꡬ듀은 파괴적인 μž‘μ—…μœΌλ‘œ ν‘œμ‹œλ˜μ–΄ 있으며 μ‹€ν–‰ μ „ 확인을 μš”μ²­ν•©λ‹ˆλ‹€.

Related MCP server: claudecode-mcp

λΉ λ₯Έ μ‹œμž‘

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

μƒˆ 도ꡬ μΆ”κ°€

  1. client.py에 λ©”μ„œλ“œ μΆ”κ°€

  2. κ΄€λ ¨ tools/*.py νŒŒμΌμ— 도ꡬ ν•¨μˆ˜ μΆ”κ°€

  3. λμž…λ‹ˆλ‹€ β€” server.pyλŠ” λ³€κ²½ν•  ν•„μš”κ°€ μ—†μŠ΅λ‹ˆλ‹€

A
license - permissive license
A
quality
A
maintenance

Maintenance

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

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