mcpField
C
Coolify MCP

Coolify MCP

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

Coolify MCP について

Coolify MCP は AI クライアントを Coolify v4.3.10 API に接続し、デプロイやインフラを管理します。幅広い API 操作に加え、スキーマ検証、診断、ドキュメント検索、書き込みとシークレットの制御を備えています。

主な機能

  1. 01プロジェクト、アプリ、DB、サービスの作成と管理
  2. 02アプリのデプロイ、操作、診断
  3. 03シークレットをマスクした環境変数管理
  4. 04内蔵 Coolify ドキュメントの検索
  5. 05生成された API スキーマによる入力検証

活用シーン

  1. 01プロジェクト設定からリリースまでのデプロイ
  2. 02デプロイ失敗や実行時ログの確認
  3. 03データベース、サービス、定期タスクの管理

MCP 対応

Coolify API の操作を MCP ツールとして提供し、アプリ、インフラ、データベース、サービスの読み取りと書き込みに対応します。stdio と HTTP のトランスポートをサポートします。

設定

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

mcp.json · 共通設定
{
"mcpServers": {
"frndchagas-coolify": {
"command": "npx",
"args": [
"-y",
"@fndchagas/coolify-mcp"
],
"env": {
"COOLIFY_BASE_URL": "<COOLIFY_BASE_URL>",
"COOLIFY_TOKEN": "<COOLIFY_TOKEN>",
"COOLIFY_STRICT_VERSION": "<COOLIFY_STRICT_VERSION>",
"COOLIFY_ALLOW_WRITE": "<COOLIFY_ALLOW_WRITE>",
"COOLIFY_ALLOW_UNSAFE_LOGS": "<COOLIFY_ALLOW_UNSAFE_LOGS>",
"COOLIFY_OPENAPI_REF": "<COOLIFY_OPENAPI_REF>"
}
}
}
}
起動コマンドnpx -y @fndchagas/coolify-mcp
設定が必要な環境変数
COOLIFY_BASE_URLCoolify API base URL.
COOLIFY_TOKENシークレットCoolify API token.
COOLIFY_STRICT_VERSIONFail on version mismatch.
COOLIFY_ALLOW_WRITEEnable write operations.
COOLIFY_ALLOW_UNSAFE_LOGSAllow raw logs without redaction (unsafe).
COOLIFY_OPENAPI_REFOverride OpenAPI version ref (optional).

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

パッケージ
npm@fndchagas/coolify-mcp2.3.1

ツール

65

掲載時のツール一覧 · 2 週間前に更新

パラメーター型必須説明
typestringいいえ
limitintegerいいえ
offsetintegerいいえ
statusstringいいえ
summarybooleanいいえ

詳細

coolify-mcp

npm version npm downloads license node version typescript CI Glama score

Coolify API 用の MCP サーバーです。ゼロから本番環境までのデプロイワークフローをすべて実行できます。

coolify-mcp demo

Coolify v4.3.10 API を対象としています。型とスキーマは Coolify 公式の OpenAPI 仕様から直接生成されるため、ツールの入力は常に API が実際に受け付ける内容と一致します。

特長

  • 完全なデプロイワークフロー:プロジェクト、環境、サーバー、アプリケーションをゼロから作成できます
  • 5 種類のアプリケーション:createApplication ツールで、公開 Git、GitHub App、Deploy Key、Dockerfile、Docker Image の各ソースを作成できます。さらに、createService で Docker Compose のデプロイにも対応します(Coolify v4.1 以降、Compose のデプロイはサービスとして扱われます)
  • 環境管理:秘密情報をマスキングしながら、環境変数の作成・読み取り・更新・削除をすべて実行できます
  • デプロイ制御:アプリケーションのデプロイ(任意で終了ステータスまで待機し、失敗時にはログ末尾を表示)、起動、停止、再起動ができます
  • 診断:diagnoseApp は UUID、名前、ドメインでアプリを検索し、ステータス、最近のデプロイ、失敗時のログ末尾、ランタイムログ、推奨される次のアクションをまとめて表示します
  • ドキュメント検索:searchDocs は、同梱されたローカルインデックスを使って Coolify 公式ドキュメントを全文検索します。ネットワーク接続は不要です
  • セキュリティ:書き込み保護、秘密情報の秘匿、MCP アノテーション(readOnlyHint/destructiveHint)に対応しているため、クライアントは読み取りを自動承認し、破壊的な呼び出しを制限できます
  • API をほぼ網羅:データベース(8 種類のエンジン、バックアップ、環境変数)、サービス、ストレージ、スケジュールタスク、チーム、プレビュー、サーバー、SSH キー、GitHub Apps に対応しています
  • トークン効率に優れる:65 個のツール定義が消費するコンテキストは約 9k トークンです。Coolify の OpenAPI 仕様から生成されたスキーマに基づき、実行時に厳密な検証を行います

要件

  • Node 18 以降
  • Coolify API トークン(Coolify ダッシュボードの Settings > API)

インストール

Claude Desktop、ワンクリック: 最新リリースから coolify-mcp.mcpb をダウンロードし、Settings → Extensions にドラッグします。Coolify の URL とトークンの入力を求められます。Node のインストールも JSON の編集も不要です。

npm 経由:

npm install -g @fndchagas/coolify-mcp
# or
npx -y @fndchagas/coolify-mcp

クイックスタート

Claude Code CLI
claude mcp add coolify \
  --env COOLIFY_BASE_URL="https://coolify.example.com/api/v1" \
  --env COOLIFY_TOKEN="<token>" \
  -- npx -y @fndchagas/coolify-mcp
OpenAI Codex CLI
codex mcp add coolify \
  --env COOLIFY_BASE_URL="https://coolify.example.com/api/v1" \
  --env COOLIFY_TOKEN="<token>" \
  -- npx -y @fndchagas/coolify-mcp

または ~/.codex/config.toml を編集します。

[mcp_servers.coolify]
command = "npx"
args = ["-y", "@fndchagas/coolify-mcp"]
env = { COOLIFY_BASE_URL = "https://coolify.example.com/api/v1", COOLIFY_TOKEN = "<token>" }
手動設定(~/.mcp.json)
{
  "mcpServers": {
    "coolify": {
      "type": "stdio",
      "command": "npx",
      "args": ["-y", "@fndchagas/coolify-mcp"],
      "env": {
        "COOLIFY_BASE_URL": "https://coolify.example.com/api/v1",
        "COOLIFY_TOKEN": "<token>",
        "COOLIFY_ALLOW_WRITE": "true"
      }
    }
  }
}

環境変数

変数デフォルト説明
COOLIFY_BASE_URL必須Coolify API の URL(例:https://coolify.example.com/api/v1)
COOLIFY_TOKEN必須Coolify の Settings > API から取得した API トークン
COOLIFY_ALLOW_WRITEtrue書き込み操作(作成、更新、削除、デプロイ)を有効にします
COOLIFY_STRICT_VERSIONfalseAPI のバージョンが一致しない場合に失敗させます
COOLIFY_MCP_ELICITATIONon破壊的な削除時の人間による確認をスキップするには、off に設定します(エリシテーションを通知するものの、実装していないクライアント向けの回避策です)
MCP_TRANSPORTstdioトランスポート:stdio、http、both
PORT7331HTTP ポート(http トランスポートを使用する場合)
MCP_HTTP_TOKEN未設定/mcp リクエストで必要なベアラートークン(HTTP トランスポート)。設定すると、デフォルトのバインド先も 0.0.0.0 に切り替わります
MCP_HTTP_HOST127.0.0.1(トークン設定時は 0.0.0.0)HTTP トランスポートのバインド先インターフェース。トークンなしでループバック以外にバインドすると、強い警告がログに記録されます

ゼロからデプロイする

この MCP を使えば、アプリケーションをゼロからデプロイできます。

1. listProjects / createProject       → Get or create a project
2. listEnvironments / createEnvironment → Get or create an environment
3. listServers / createServer         → Get or create a server
4. listPrivateKeys / createPrivateKey → Get or create SSH keys (if needed)
5. createApplication (type: public)   → Create the application
6. applicationEnvs (action: upsert)   → Configure environment variables
7. deploy                             → Trigger deployment

ツールのリファレンス

プロジェクトと環境
ツール説明書き込み
listProjectsすべてのプロジェクトを一覧表示します
createProject新しいプロジェクトを作成します✓
updateProjectプロジェクト名/説明を更新します✓
deleteProjectプロジェクトとそのすべてのリソースを削除します✓
listEnvironmentsプロジェクト内の環境を一覧表示します
createEnvironment新しい環境を作成します✓
サーバーとインフラストラクチャ
ツール説明書き込み
listServersすべてのサーバーを一覧表示します
getServerサーバーの詳細を取得します
createServer新しいサーバーを作成します✓
validateServerサーバー接続を検証します
listPrivateKeysSSH 秘密鍵を一覧表示します
createPrivateKey新しい SSH 鍵を作成します✓
listGithubApps設定済みの GitHub Apps を一覧表示します
アプリケーション - 読み取り
ツール説明
listApplicationsすべてのアプリケーションを一覧表示します(デフォルトでは要約表示)
getApplicationアプリケーションの詳細を取得します(デフォルトではシークレットをマスクします)
getLogsアプリケーションの実行時ログを取得します
アプリケーション - 作成
ツール説明書き込み
createApplicationアプリケーションを作成します。type でソースを選択します:public、private-github-app、private-deploy-key、dockerfile、または dockerimage。その他の追加フィールドは extra に指定し、タイプごとに検証されます。✓

Docker Compose のデプロイは、docker_compose_raw を渡して createService で作成します。Coolify v4.1 以降、これらはアプリケーションではなくサービスです。

アプリケーション - 管理
ツール説明書き込み
updateApplicationアプリケーションの設定を更新します✓
deleteApplicationアプリケーションを削除します✓
startApplicationアプリケーションを起動します✓
stopApplicationアプリケーションを停止します✓
restartApplicationアプリケーションを再起動します✓
環境変数
ツール説明書き込み
applicationEnvsアプリケーションの環境変数を管理します:一覧表示(デフォルトではマスク)、作成、更新、キーによるアップサート、一括更新、削除✓

データベースとサービスの環境変数には、それぞれ専用のツール databaseEnvs と serviceEnvs があります。

デプロイ
ツール説明書き込み
deployデプロイを開始します。wait: true の場合は、最終ステータスになるまでポーリングし、失敗時にはログの末尾を返します✓
diagnoseAppUUID、名前、またはドメインでアプリを診断します:ステータス、最近のデプロイ、失敗時のログの末尾、ランタイムログ、ヒント
diagnoseServerUUID、名前、または IP でサーバーを診断します:リソースのステータス内訳、ドメイン、ヒント
listDeployments実行中のデプロイを一覧表示します
getDeploymentデプロイのステータスとログを取得します
listAppDeploymentsアプリケーションのデプロイを一覧表示します
cancelDeployment実行中のデプロイをキャンセルします✓
データベース
ツール説明書き込み
listDatabasesすべてのデータベースを一覧表示します
getDatabaseデータベースの詳細を取得します
createDatabaseデータベースを作成します。type でエンジンを選択します:postgresql、mysql、mariadb、mongodb、redis、keydb、dragonfly、clickhouse✓
updateDatabaseデータベースの設定を更新します✓
deleteDatabaseデータベースを削除します(デフォルトではボリュームと設定も削除されます)✓
controlDatabaseデータベースを起動、停止、または再起動します✓
databaseBackupsバックアップのスケジュールと実行を管理します(list/create/update/delete/list_executions/delete_execution)✓
databaseEnvsデータベースの環境変数を管理します(list/create/update/bulk_update/delete)✓
サービス
ツール説明書き込み
listServicesサービスを一覧表示します
getServiceサービスの詳細を取得します(シークレットはデフォルトでマスクされます)
createServiceワンクリックサービスまたは Docker Compose デプロイを作成します✓
updateServiceサービスを更新します✓
deleteServiceサービスを削除します✓
controlServiceサービスを起動、停止、または再起動します✓
serviceEnvsサービスの環境変数を管理します(list/create/update/bulk_update/delete)✓
ストレージ、スケジュールタスク、プレビュー
ツール説明書き込み
storagesアプリケーション、データベース、サービスの永続ボリュームとファイルマウントを管理します✓
scheduledTasks実行履歴を含む、アプリケーションとサービスの cron タスクを管理します✓
deletePreviewプルリクエスト ID でプレビューデプロイを削除します✓
チーム、サーバー、Git
ツール説明書き込み
teamsチームの一覧表示、現在のチームの取得、メンバーの一覧表示を行います
updateServerサーバーの設定を更新します✓
deleteServerサーバーを削除します✓
getServerResourcesサーバー上で実行中のリソースを一覧表示します
getServerDomainsサーバーに設定されているドメインを一覧表示します
getPrivateKeySSH キーのメタデータを取得します(キーの内容はデフォルトでマスクされます)
updatePrivateKeySSH 秘密鍵を更新します✓
deletePrivateKeySSH 秘密鍵を削除します✓
getGithubAppRepositoriesGitHub App がアクセスできるリポジトリを一覧表示します
getGithubAppBranchesリポジトリのブランチを一覧表示します
一括操作
ツール説明書き込み
getInfrastructureOverviewサーバー、プロジェクト、アプリケーション(ステータス内訳)、データベース、サービス、実行中のデプロイをまとめて取得します
restartProjectAppsプロジェクトまたは環境内のすべてのアプリケーションを再起動します(確認を求めます)✓
redeployProjectプロジェクトまたは環境内のすべてのアプリケーションのデプロイを開始します(確認を求めます)✓
stopAllApplications実行中のすべてのアプリケーションを緊急停止します。プロジェクト単位での停止も可能です(影響範囲を示して確認を求めます)✓
その他
ツール説明
listResourcesフィルターを適用してすべてのリソースを一覧表示します
searchDocsCoolify 公式ドキュメントを全文検索します(インデックスを同梱しており、ネットワーク接続は不要です)
getHealthCoolify API が稼働していることを確認します

セキュリティ機能

書き込み保護

すべての書き込み操作を無効にします:

COOLIFY_ALLOW_WRITE=false
シークレットのマスキング
  • 環境変数の値はデフォルトでマスキングされます
  • データベースの認証情報は伏せられます
  • 必要な場合に限り、showSecrets: true を使用してください
HTTP トランスポートの強化

HTTP トランスポートはデフォルトで 127.0.0.1 にバインドします。ループバック以外にも公開するには、MCP_HTTP_TOKEN を設定してください。以降、/mcp へのすべてのリクエストに Authorization: Bearer <token>(定数時間で検証)が必要になり、バインド先は 0.0.0.0 に切り替わります(MCP_HTTP_HOST で上書きできます)。トークンなしでループバック以外のホストにバインドすると、ポートにアクセスできる人なら誰でも Coolify インスタンスを操作できることを示す、目立つ警告がログに記録されます。

破壊的な削除の前に人間が確認

elicitation に対応した MCP クライアント(Claude Code、VS Code Copilot)では、プロジェクト、アプリケーション、データベース、サービス、サーバー、または秘密鍵を削除する前に、何が失われるかを明示して、ユーザーに確認を求めます。elicitation に対応していないクライアントの動作は従来どおりです。拒否、キャンセル、またはタイムアウトの場合、呼び出しは中止されます。プロンプトを完全に無効にするには、COOLIFY_MCP_ELICITATION=off を設定してください。

開発

git clone https://github.com/frndchagas/coolify-mcp.git
cd coolify-mcp
npm install
npm run dev
スクリプト
npm run dev            # Run in development mode
npm run build          # Build TypeScript
npm run generate       # Fetch the pinned OpenAPI spec and regenerate types
Coolify の固定バージョン

バージョンは src/coolify/constants.ts で定義されています。更新するには:

  1. src/coolify/constants.ts の COOLIFY_VERSION を編集します
  2. npm run generate を実行します

レジストリ掲載情報

MCP クライアントの例

HTTP クライアント
import { Client } from '@modelcontextprotocol/sdk/client/index.js';
import { StreamableHTTPClientTransport } from '@modelcontextprotocol/sdk/client/streamableHttp.js';

const client = new Client({ name: 'coolify-client', version: '1.0.0' });
const transport = new StreamableHTTPClientTransport(
  new URL('http://localhost:7331/mcp')
);

await client.connect(transport);

// List all applications
const apps = await client.callTool({
  name: 'listApplications',
  arguments: {},
});
console.log(apps.structuredContent);

// Deploy an application
const deploy = await client.callTool({
  name: 'deploy',
  arguments: { uuid: 'your-app-uuid' },
});
console.log(deploy.structuredContent);

await client.close();
Stdio クライアント
import { Client } from '@modelcontextprotocol/sdk/client/index.js';
import { StdioClientTransport } from '@modelcontextprotocol/sdk/client/stdio.js';

const client = new Client({ name: 'coolify-client', version: '1.0.0' });
const transport = new StdioClientTransport({
  command: 'npx',
  args: ['-y', '@fndchagas/coolify-mcp'],
  env: {
    COOLIFY_BASE_URL: 'https://coolify.example.com/api/v1',
    COOLIFY_TOKEN: '<token>',
  },
});

await client.connect(transport);

const result = await client.callTool({
  name: 'getApplication',
  arguments: { uuid: 'your-app-uuid' },
});
console.log(result.structuredContent);

await client.close();

ライセンス

MIT

コメント

MCP は初めてですか?

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

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