mcpField
C
CodemagicMcp

CodemagicMcp

ローカル
github.com/AgiMaulanaクラウド・インフラ24 週間前に更新

CodemagicMcp について

CodemagicMcpはCodemagic CI/CD REST APIをClaude CodeとClaude Desktopに公開する、ローカル動作のPython製MCPサーバーです。アプリやビルド、アーティファクト、キャッシュ、変数、Webhookを管理できます。

主な機能

  1. 01Codemagicアプリの管理
  2. 02ビルドの開始と確認
  3. 03ビルドとステップログの取得
  4. 04アーティファクト一覧と共有URL作成
  5. 05キャッシュと変数の管理
  6. 06アプリWebhookの管理

活用シーン

  1. 01チャットからCodemagicビルドを開始
  2. 02ビルド状態とステップログの確認
  3. 03完了したビルドのアーティファクト取得
  4. 04アプリのキャッシュと設定の管理

MCP 対応

ローカル動作のPython製MCPサーバーとして、Codemagic REST APIの操作をClaude CodeやClaude DesktopなどのMCPクライアントにツールとして公開します。Codemagic APIキーで認証します。

設定

ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。

mcp.json · 共通設定
{
"mcpServers": {
"agimaulana-codemagicmcp": {
"command": "uvx",
"args": [
"CodemagicMcp"
],
"env": {
"CODEMAGIC_API_KEY": "<CODEMAGIC_API_KEY>",
"CODEMAGIC_DEFAULT_APP_ID": "<CODEMAGIC_DEFAULT_APP_ID>",
"CODEMAGIC_BASE_URL": "<CODEMAGIC_BASE_URL>"
}
}
}
}
起動コマンドuvx CodemagicMcp
設定が必要な環境変数
CODEMAGIC_API_KEYシークレットYour Codemagic API key (found in User Settings → Integrations → Codemagic API)
CODEMAGIC_DEFAULT_APP_IDDefault Codemagic app ID to use when not specified in tool calls
CODEMAGIC_BASE_URLCodemagic API base URL (default: https://api.codemagic.io)

ローカルサーバーにはマシン上の実行環境(Node.js 18 以上など)が必要です。設定ファイルの場所はクライアントごとに異なります。

パッケージ
pypiCodemagicMcp0.6.2

ツール

ツール一覧はまだ取得されていません

ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。

詳細

Codemagic MCP Server

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_appsCodemagic アカウント内のすべてのアプリケーションを一覧表示します
get_app特定のアプリケーションの詳細を取得します
add_app公開リポジトリを Codemagic に追加します
add_private_appSSH キーを使用してプライベートリポジトリを追加します
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 ⚠️環境変数を削除します
Webhook
ツール説明
list_webhooksアプリケーションのすべての Webhook を一覧表示します
add_webhookアプリケーションに Webhook を追加します
delete_webhook ⚠️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 などのオプション設定については、Configuration を参照してください。


インストール

要件: 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 User Settings → Integrations → 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 は省略可能ですが、主に 1 つのアプリを使用する場合は設定することをおすすめします。設定すると、app_id が必要なツールで指定されていない場合、AI は自動的にこの値を使用します。設定されていない場合、AI は次のように動作します。

  1. list_apps を呼び出して、利用可能なアプリを確認します。
  2. アプリが 1 つだけの場合は、自動的にそのアプリを使用します。
  3. 複数のアプリが見つかった場合は、一覧を表示して選択を求めます。
ステップログファイルの配信

get_step_logs は、2 つの配信モードに対応しています。

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

アーティファクトが見つからない場合、サーバーは理由 not_generated_or_expired とともに status="missing" を返します。これは、ファイルが一度も生成されていないか、期限切れになって削除されたことを意味します。

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 を変更する必要はありません

コメント

MCP は初めてですか?

プロトコルの概要から最初のサーバーの導入まで、よくある疑問にまとめて答えます。

AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。