# Claude Code MCP 設定 どこに書く？Coolify連携とVPSデプロイ

> Coolifyのインストール、GitHubへの接続、Next.jsのデプロイ、ドメインとHTTPS、MCP、VPSの要件、トラブルシューティング。ドル建ての技術料金と元記事に記載された制限。

Source: https://ailoot.ai/blog/ja/coolify-claude-code-deploy/
Canonical: https://ailoot.ai/blog/ja/coolify-claude-code-deploy/
Language: ja
Publisher: Ailoot (https://ailoot.ai/)
Translation: guide-087
Revision: sha256-90a102a260f2110cf7a52ce0e5352aba1bb81a0e36b4bbb4a94c5f3bff17ac51


<div class="aside" data-semantic="editorial-reference" role="note" aria-label="Ailootドキュメント">

[Ailootドキュメント](https://ailoot.ai/docs/) — サービスを利用するための参考資料。

</div>

## 2026年のプラットフォームの制限と支払い条件

<div class="aside" data-semantic="key-takeaway" role="note" aria-label="このセクションの重要なポイント">

重要なポイント

無料プランは最初の上限超過までは使えますが、それ以降は海外発行のカードが必要です。Herokuは2022年にすべてのユーザー向け無料プランを終了し、2026年2月に維持管理モードへ移行しました。Coolifyをセルフホストすれば、サーバーは自分のものです。ユーザー単位の課金も、ベンダーロックインもありません。

</div>

2026年によくあるバイブコーダーのシナリオです。CursorやClaude Codeで一晩かけてMVPを作り、GitHubリポジトリに移して、vercel.comを開く → リポジトリを接続する → サブスクリプション画面に進む → カード情報を入力する → `Transaction declined` と表示される。

これはバグでも一時的な障害でもありません。

Railway、Render、Herokuも同じ状況です。Herokuは実際に2022年にすべてのユーザー向け無料プランを終了し、2026年2月にはプロジェクトが維持管理モードに移行しました。新機能も新しいEnterprise契約もありません。利用できないカードしか持たないユーザーにとって、これは「ドアは閉まった。20%の手数料を取る仲介業者を通って迂回しろ」という意味です。

カザフスタンのバーチャルVisaカードや法人向け決済サービスを使って支払うことはできます。しかし、価格に20%が上乗せされ、取引ごとに30分余計にかかり、決済処理業者に国の不一致を検知されてアカウントがブロックされるリスクもあります。

元の例には、Vercel Pro、Railway、Renderでの3つの試行が含まれていました。

## Coolifyとは？セルフホスト型プラットフォームの仕組み

<div class="aside" data-semantic="key-takeaway" role="note" aria-label="このセクションの重要なポイント">

重要なポイント

Coolifyは、オープンソースでセルフホスト可能なPaaSであり、Heroku、Vercel、Netlifyの直接的な代替サービスです。Ubuntuを実行するどのVPSにも、curlコマンド1つでインストールできます。内部ではDocker + Traefikをリバースプロキシに、Let's EncryptをHTTPSに使用します。GitHub連携、自動デプロイ用Webhook、S3バックアップ、280以上のワンクリックサービス（PostgreSQL、Redis、MinIO）に対応しています。セルフホスト版は永久に無料で、制限はありません。GitHubで55,800スターを獲得しており、ライセンスはApache-2.0です。

</div>

CoolifyはLaravel + Dockerで構築されたオープンソースプロジェクトで、何も入っていないVPSをアプリケーションのデプロイプラットフォームに変えます。Coolifyを一度インストールすれば、あとはすべてWebインターフェースで操作できます。GitHubを接続し、リポジトリを選んで、Deployをクリックするだけです。

公式ドキュメントでは、簡潔かつ正確にこう説明されています。

<figure>
<blockquote>
<p>Coolifyは、Heroku / Netlify / Vercelなどに代わる、オープンソースのセルフホスト可能なサービスです。</p>
</blockquote>
<figcaption>— Coolify GitHub README、https://github.com/coollabsio/coolify</figcaption>
</figure>

内部では、Coolifyは4つの部分で構成されています。

1.  **Laravel 12 + Livewire 3 + Tailwind v4で構築されたWebインターフェース** — アプリケーションを管理するダッシュボードです。
2.  **Docker + Docker Compose** — 各アプリケーションはコンテナ内で実行され、ほかのアプリケーションから分離されます。
3.  **リバースプロキシ（TraefikまたはCaddy）** — HTTP/HTTPSの受信トラフィックを受け取り、コンテナに振り分けます。
4.  **Let's Encrypt連携** — すべてのドメインのSSL証明書を自動で発行・更新します。

Coolifyを機能面でVercelに匹敵させる主な機能は次のとおりです。

| 機能 | Vercel | Coolify |
|----|----|----|
| git push時の自動デプロイ | ✅ | ✅（GitHub webhook経由） |
| 無料HTTPS | ✅ | ✅（Let's Encrypt） |
| PRのプレビュー環境 | ✅ | ✅（GitHub App経由） |
| 環境変数のUI | ✅ | ✅ |
| データベースのバックアップ | ❌（独自のデータベースなし） | ✅（S3互換ストレージへ） |
| PostgreSQL / Redis / MongoDB | 月額\$20以上／各 | ✅ ワンクリック、無料 |
| スケジュールタスク（cron） | ❌ | ✅（cron構文） |
| ユーザー単位の課金 | 月額\$20／シート | なし |
| ベンダーロックイン | 高い（Edge Functions、ISR） | なし（自分のDocker） |
| グローバルCDN | ✅ | ❌（自分のVPSのみ） |

Coolifyに標準で含まれていないのは、グローバルCDNだけです。これが正直な答えです。プロジェクトが世界中にユーザーを持ち、米国や欧州のユーザーの遅延を減らしたい場合は、Cloudflareを前段に配置してください。静的コンテンツなら無料です。

価格：**セルフホスト版は永久に無料**で、アプリケーション、サーバー、デプロイの数に制限はありません。Coolify Cloudは2台のサーバーで月額\$5、追加のサーバー1台ごとに\$3で利用できます。ただし、サーバー自体は引き続き自分のものです。Coolify Cloudがホストするのはダッシュボードだけです。

最新リリースは、**2026年5月18日のv4.1.0**です。新機能には、ベータ版のRailpackビルドパック、監査ログ、デプロイ間の設定差分、読み取り専用のネイティブMCPエンドポイントが含まれます。出典：[GitHubのリリース](https://github.com/coollabsio/coolify/releases)。

## 2026年にCoolifyを使うなら、どのVPSを選ぶべき？

<div class="aside" data-semantic="key-takeaway" role="note" aria-label="このセクションの重要なポイント">

重要なポイント

Coolifyの最低要件は、2 vCPU、2 GB RAM、30 GB SSD、Ubuntu LTS（20.04、22.04、または24.04）です。この構成のVPSなら、Vibeコーディングで作ったプロジェクトを3〜5個、並行して無理なく実行できます。

</div>

Coolifyの最低要件は[公式ドキュメント](https://coolify.io/docs/get-started/installation)に記載されています。

| パラメーター | 最低要件 | 推奨 |
|-------------|----------------------------------|---------------------------|
| CPU | 2コア | 2〜4コア |
| RAM | 2 GB | 4 GB（ビルド用の余裕を含む） |
| ストレージ | 30 GB | 50〜80 GB（イメージ + データベース用） |
| アーキテクチャ | AMD64またはARM64（64ビット） | AMD64 |
| OS | Ubuntu LTS 20.04 / 22.04 / 24.04 | 22.04 LTS |
| root | 必須 | パスワードではなくSSHキー経由 |

最低要件の2 GB RAMは**絶対的な下限**です。1 GBの場合、インストーラーはDockerのところまで進みますが、OOM（メモリ不足）が発生して停止します。RAMをケチらないでください。

価格の出典：[Timeweb Cloud](https://timeweb.cloud/services/vds-vps)、[FirstVDS](https://firstvds.ru/products/vds_vps_hosting)、[Selectel](https://selectel.ru/services/cloud/vps-vds)。

さらに大きな性能が必要な場合（100 GBのデータベース、複数のPostgresインスタンスなど）は、Aeza Dedicatedを利用してください。

選んではいけないもの：

- **RAMが512 MB〜1 GBの共有VPS** — Coolifyを動かすにも足りません。これはnginxで静的サイトを動かすためのもので、PaaS向けではありません。

デプロイの設定だけでなく、**Claudeの信頼性を高めるセットアップ**も構築したいですか？Coolifyは実行ツールですが、構造化されたコンテキスト（[`CLAUDE.md`](https://ailoot.ai/blog/ja/claude-md-template/)、[セカンドブレイン](https://ailoot.ai/blog/ja/claude-code-second-brain/)、[コンテキストエンジニアリング](https://ailoot.ai/blog/ja/context-engineering/)）がなければ、長いタスクでClaudeは依然として幻覚を起こします。完全なセットアップには、**AIクローン + セカンドブレイン + コンテキストエンジニアリング**の3つすべてが含まれます。この組み合わせによって、Claudeは「幻覚を起こすアシスタント」から信頼できるツールに変わります。

## Coolifyを5分でインストールする方法

<div class="aside" data-semantic="key-takeaway" role="note" aria-label="このセクションの重要なポイント">

重要なポイント

インストールには、ドキュメントに記載されたcurlコマンドを1つ実行します。起動すると、ポート8000にWebインターフェースが表示されます。そこで最初の管理者ユーザーを作成すると、空のダッシュボードが表示されます。Ubuntuの初期状態からCoolifyが動作するまで実際にかかる時間は5〜7分で、そのうち3〜4分は`apt-get install docker`にかかります。スクリプトが必要な依存関係を取得してDockerを設定するので、完了するまで待つだけです。

</div>

**手順1. SSHでVPSに接続します。**

プロバイダーでVPSを作成すると、サーバーのIPアドレスとrootパスワードがメールまたはコントロールパネルに表示されます。ローカルマシンから接続します。

```bash
ssh root@1.2.3.4
```

プロバイダーからパスワードではなくSSHキーを受け取った場合は、`-i path/to/key`を指定して接続します。ここからは、新規インストールしたUbuntu 22.04または24.04 LTSを使っているものとします。

**手順2. Coolifyのインストールコマンドを実行します。**

[公式ドキュメント](https://coolify.io/docs/get-started/installation)にあるコマンドを1つ実行します。

```bash
curl -fsSL https://cdn.coollabs.io/coolify/install.sh | sudo bash
```

スクリプトは次の3つを実行します。

1.  システムを確認する（Ubuntu LTSか、rootか、AMD64か）
2.  まだインストールされていない場合はDockerとDocker Composeをインストールする
3.  Coolifyのイメージ（`coolify/coolify`、`coolify/realtime`、`traefik`）をダウンロードし、docker-compose経由でバックグラウンド実行する

この処理には3〜5分かかります。`apt-get`のログが流れ、その後`docker pull`が表示されます。`Coolify v4.1.0 is now running`と表示されたら、手順3に進みます。

**手順3. Webインターフェースを開きます。**

ブラウザーで次のURLを開きます。

```
http://1.2.3.4:8000
```

Coolifyのセットアップウィザードが表示されます。最初のユーザーを作成するフォームです。メールアドレスとパスワードを入力して保存してください。このユーザーは自動的に管理者になるので、まだほかのユーザーを作る必要はありません。

保存すると、空のダッシュボードが表示されます。左側にResources / Projects / Servers / Sources / Notifications / Settingsのサイドバーがあり、中央に「最初のリソースを追加」という案内が表示されます。

**手順4. プロバイダーのファイアウォールでポートを開きます（UFWではありません）。**

Coolifyはすでに動作していますが、外部からアクセスできるのはダッシュボード用のポート8000だけです。ユーザーがアプリケーションにアクセスできるよう、ポート80（HTTP）と443（HTTPS）を開く必要があります。

| ポート | 用途 |
|----|----|
| 22 | サーバーへのSSH接続 |
| 80 | HTTPトラフィックを受信。Let's Encryptの検証に必要 |
| 443 | ユーザーのHTTPSトラフィックを受信 |
| 8000 | Coolifyダッシュボード（ダッシュボードに独自ドメインを設定した後で閉じます） |

公式ドキュメントに記載された重要な注意点です。

<figure>
<blockquote>
<p>DockerはNATベースのiptablesルールを使用しており、UFWなど従来のLinuxファイアウォールを迂回することがあります。</p>
</blockquote>
<figcaption>— Coolify Docs（ファイアウォール）、https://coolify.io/docs/knowledge-base/server/firewall</figcaption>
</figure>

つまり、UFWを有効にしてすべてのポートを閉じても、Dockerはiptables経由でコンテナを公開します。この環境ではUFWは役に立ちません。解決策は、UFWではなく**プロバイダーのコントロールパネルでポートを開閉すること**です。Timeweb / Selectel / Aezaでは、Webコンソールの「Network → Firewall」から設定します。

**手順5（任意）。ダッシュボードを独自ドメインに紐付けます。**

`http://1.2.3.4:8000`ではなく`https://coolify.example.com`で開くには、DNS Aレコード`coolify.example.com → 1.2.3.4`を作成し、Coolifyの**Settings → Instance Settings → Instance Domain**に進んでサブドメインを入力し、保存します。CoolifyがLet's Encrypt証明書を要求し、1分ほど後にダッシュボードをHTTPSで再読み込みします。

その後、ファイアウォールでポート8000を閉じても構いません。ダッシュボードには標準ポート443のHTTPSでアクセスできます。

## GitHubへの接続方法：AppとPATのどちらを使う？

<div class="aside" data-semantic="key-takeaway" role="note" aria-label="このセクションの重要なポイント">

重要なポイント

CoolifyはGitHubへの接続方法として、**GitHub App**（推奨）と<strong>Personal Access Token（PAT）</strong>の2つに対応しています。GitHub Appを使ってください。ウィザードを使えば設定は5分で完了し、PRプレビューが動作し、リポジトリ単位で権限を細かく設定できます。PATは従来のケース向けの古い方式です。プレビュー環境には対応せず、すべてのリポジトリにグローバルアクセスを許してしまうリスクがあります。公式ドキュメントには、「ユーザーの95%にとって、GitHub Appが正解です」と明記されています。

</div>

Coolifyで**Sources → + Add → GitHub App**に進みます。3画面のウィザードが表示されます。

1.  **Name & description** — ソース名（`github-main`）を入力し、必要に応じて説明を追加します。
2.  **Configure on GitHub** — GitHub.comに移動し、正しい権限が設定されたGitHub Appの作成フォームを自動で開くボタンです。
3.  **Confirm** — GitHubから戻ったら「Save」をクリックします。

2つ目の手順で、GitHubからCoolifyが要求する権限の確認を求められます。

| 権限 | レベル | 用途 |
|-----------------|------------|----------------------------------------------|
| Contents | 読み取り専用 | リポジトリのクローン |
| Pull Requests | 読み書き | プレビュー環境を作成し、PRにコメントする |
| Email addresses | 読み取り専用 | コミットを識別する |
| Metadata | 読み取り専用 | リポジトリを一覧表示する |

これらは**最低限の権限**です。GitHub Appは秘密鍵を閲覧できず、`main`に書き込めず、明示的に接続していないリポジトリにもアクセスできません。

公式ドキュメントより：



Personal Access Token（PAT）は古い方法なので、**使用しないことをおすすめします**。欠点は次のとおりです。

- すべてのリポジトリ（プライベートのものも含む）へのグローバルアクセスを許可する
- GitHub App専用の機能であるPRプレビューが動作しない
- トークンの有効期間が長い（90日、1年、または無期限）ため、漏えいすると危険

セキュリティポリシーでGitHub Appが禁止されていて、回避手段がない組織のリポジトリを扱う場合に限り、PATを使ってください。

Coolifyでソースを保存すると、接続済みリポジトリの一覧とともにGitHub Appがダッシュボードに表示されます。新しいアプリケーションを作成するときは、一覧からワンクリックで選べます。

## Claude CodeからNext.jsプロジェクトを6ステップでデプロイする方法

<div class="aside" data-semantic="key-takeaway" role="note" aria-label="このセクションの重要なポイント">

重要なポイント

Claude Codeの初期状態からサイト公開までの流れは次のとおりです。1) 空のフォルダーで`claude`を実行し、プロジェクトを説明するとClaudeがコードを生成する。2) `git init && git remote add`を実行する（Claudeがスラッシュコマンドで実行することもできます）。3) GitHubにpushする。4) Coolifyで「+ New Resource → Application」を選び、リポジトリを選択する。5) 環境変数を追加する。6) Deployする。CoolifyはNext.jsだと検出してNixpacksビルドパックを選び、3〜5分でDockerイメージをビルドし、一時ドメインを用意します。

</div>

**手順1. 空のフォルダーでClaude Codeにプロジェクトを説明します。**

```bash
mkdir my-vibe-app
cd my-vibe-app
git init
claude
```

セッションで次のように入力します。

```
Build a Next.js 14 app router project:
- a home page with a list of users
- /api/users endpoint returns an array from the database
- Postgres via Prisma
- Tailwind for styles
- .env.example with DATABASE_URL
- README.md with instructions for running the project
```

Claudeはファイル構成、package.json、prisma/schema.prisma、.env.exampleを生成します。次のようにも依頼してください。

```
Create a Dockerfile for production builds and a .dockerignore.
```

これは任意です。DockerfileがなくてもCoolifyはNixpacksでビルドできます。ただし、Dockerfileを用意すると処理を制御でき、大規模なプロジェクトでは高速になります。

**手順2. GitHubリポジトリを作成してpushします。**

GitHub UIから手動で作成して`git remote add origin ...`を実行することもできますが、Claude Codeに任せることもできます。

```
/commit-push-pr Initial Next.js app generated with Claude Code
```

または、「すべてコミットして、私のアカウントに`my-vibe-app`という新しいリポジトリを作ってpushして」と伝えてください。Claudeは`gh` CLIを使ってプライベート（またはパブリック）リポジトリを作成し、最初のpushを行います。出典：[Claude Codeの公式コマンド](https://github.com/anthropics/claude-code/blob/main/.claude/commands/commit-push-pr.md)。

**手順3. CoolifyでApplicationを作成します。**

Coolifyのダッシュボードで<strong>+ New → Application</strong>をクリックします。フォームが表示されます。

1.  **Source** — 前のH2で接続したGitHub Appである`github-main`を選択します。
2.  **Repository** — 一覧から`my-vibe-app`を選択します。
3.  **Branch** — `main`
4.  **Build Pack** — Coolifyが自動で判定します。Dockerfileがあれば`dockerfile`を使い、なければ`nixpacks`を使います。手動で上書きできます。
5.  **Domain** — ひとまず提案された値をそのまま使います。一時的なものなので、後で独自のものに置き換えます。
6.  **Port** — Next.jsのデフォルトである`3000`

保存します。

**手順4. 環境変数を追加します。**

作成したアプリケーションで**Environment Variables**タブを開きます。変数を1つずつ追加します。

```
DATABASE_URL=postgresql://user:pass@db-host:5432/mydb
NODE_ENV=production
ANTHROPIC_API_KEY=sk-ant-...
```

データベースがない場合は、Coolifyで直接作成します。**+ New → Database → PostgreSQL**に進んでください。Coolifyは30秒でPostgresコンテナを起動し、`postgresql://postgres@postgres-xyz:5432/postgres`形式の内部DATABASE_URLを表示します。これをアプリケーションに設定します。

すべての変数はCoolifyのデータベース内で暗号化され、ビルドログには表示されません。

**手順5. Deployをクリックします。**

右上に青色のDeployボタンがあります。Logsタブにライブログが表示されます。

```
[stage: clone]   Cloning '<repository-url-from-github>'
[stage: build]   Detected Next.js, using Nixpacks
[stage: build]   Installing Node 20, npm 10
[stage: build]   npm install (245s)
[stage: build]   npm run build (87s)
[stage: deploy]  Creating container my-vibe-app-xyz
[stage: deploy]  Container started, health check passed
[stage: proxy]   Traefik routing configured for <TEMP_DOMAIN>
[stage: ssl]     Let's Encrypt cert issued for <TEMP_DOMAIN>
```

最初のビルドには3〜5分かかります（Nodeのベースイメージを取得して依存関係をインストールするため）。以降のビルドはDockerレイヤーキャッシュのおかげで60〜90秒です。

**Running**になったら、Coolifyの**Domains**に表示されたアプリURLをコピーし、正確なURLを開きます。以下の`<app-url-from-coolify>`にはその値を使います。山括弧の表記はプレースホルダーで、実在のアドレスではありません。HTTPSも最初から有効で、ホームページが表示されるはずです。無料のワイルドカードDNSサービスは、IPアドレスを含む任意のサブドメインを名前解決します。Coolifyは一時ドメインにこれを使うので、独自のDNSを設定しなくてもすぐにサイトを開けます。

**手順6. すべて動作するか確認します。**

上のアプリURLに`/api/users`を付けて開きます。例は`<app-url-from-coolify>/api/users`で、スラッシュを重複させません。これが手順1のJSONエンドポイントで、ルートURLはホームページです。500エラーが出たら、Logsタブでスタックトレースを確認できます。初回デプロイで最もよくある問題は、DATABASE_URLが存在しないデータベースを指していることです。CoolifyでPostgreSQLインスタンスを作成し（上の手順4を参照）、DATABASE_URLを置き換えてください。

VPSを注文した時点から15分です。元の例では、新規サーバーでこの流れに12〜18分かかりました。

## 独自ドメインとHTTPSの設定方法

<div class="aside" data-semantic="key-takeaway" role="note" aria-label="このセクションの重要なポイント">

重要なポイント

独自ドメインは3ステップで接続できます。DNS AレコードでサーバーのIPを指定し、Coolifyの設定で一時ドメインの代わりに独自ドメインを入力し、Automatic HTTPSを有効にしてRedeployをクリックします。DNSの反映後、Let's Encryptが2〜3分でSSL証明書を自動発行します（通常5〜30分）。重要なのは、Redeployをクリックする時点ですでにDNSが名前解決できることです。そうでないとLet's Encryptの検証に失敗し、次の試行まで12分待つことになります。

</div>

**手順1. ドメイン登録業者のコントロールパネルでDNS Aレコードを作成します。**

元の例では、Reg.ru、Beget、Timewebでホストされているドメインを使っています。手順は同じです。

| レコード種別 | 名前 | 値 |
|------------|---------------------------|------------------------|
| A | `app`（ルートドメインの場合は`@`） | `1.2.3.4`（サーバーのIP） |

保存してコンソールを開き、確認します。

```bash
dig app.example.com +short
# 1.2.3.4 が返るはずです
```

何も返らないか、異なるIPが返る場合は、まだDNSが反映されていません。5〜30分待ってください。

**手順2. Coolifyにドメインを入力します。**

アプリケーションで**Configuration → General**タブを開きます。**Domains**で、Coolifyからコピーした一時アプリURLを、自分で設定したドメインの`https://app.example.com`に置き換えます。**Automatic HTTPS**を有効にします（通常はデフォルトで有効です）。

保存して**Redeploy**をクリックします。

**手順3. Let's Encrypt証明書を待ちます。**

ビルドログに次のように表示されます。

```
[stage: ssl]  Requesting Let's Encrypt cert for app.example.com
[stage: ssl]  HTTP challenge sent to /.well-known/acme-challenge/xxx
[stage: ssl]  Validation passed, cert issued
[stage: ssl]  Cert installed, HTTPS enabled
```

2〜3分後、アドレスバーに緑色の鍵マークが表示された状態で、`https://app.example.com`からサイトにアクセスできます。

Let's Encryptで起きる可能性がある問題（[公式トラブルシューティングガイド](https://coolify.io/docs/troubleshoot/dns-and-domains/lets-encrypt-not-working)による上位3項目）：

1.  **ファイアウォールでポート80が閉じている。** Let's EncryptはHTTPチャレンジで検証します。`http://app.example.com/.well-known/acme-challenge/xxx`にリクエストを送るため、ポート80が閉じていると検証できません。プロバイダーのファイアウォールで開いてください。
2.  **Cloudflareのプロキシが有効（オレンジ色の雲）。** Let's Encryptのリクエストを横取りして独自のプレースホルダーページを返すため、検証に失敗します。「DNS only」（灰色の雲）に切り替えるか、Cloudflare API経由でDNS-01チャレンジを設定してください。
3.  **DNSがまだ反映されていない。** Aレコードを作成して30秒後にすぐRedeployをクリックしても、Let's Encryptはドメインを認識できません。サーバー間でDNSが伝播するまで5〜30分待ってください。

Let's Encryptのレート制限は、**1ドメインにつき1時間に失敗5回**で、12分ごとに1回分回復します。上限に達した場合、Redeployを続けて10回クリックしないでください。ログを確認し、問題を修正して、12分後に再試行してください。

## Claude Code MCP 設定 JSONでCoolifyに接続する方法 {#claude-codeはmcp経由でcoolifyをどう管理する}

<div class="aside" data-semantic="key-takeaway" role="note" aria-label="このセクションの重要なポイント">

重要なポイント

Model Context Protocol経由でClaude CodeからCoolify APIに直接アクセスできるため、「このアプリケーションをデプロイして」と伝えてビルドを開始したり、ステータスを確認したり、ログを読んだり、環境変数を更新したりできます。選択肢は3つです。forsonny/Coolify-MCP-Server（基本機能、7カテゴリの操作）、dazeb/coolify-mcp-enhanced（15以上の追加ツールとワンクリックのデータベースデプロイ）、ajmcclary/Coolify-Manager（公式CLIを使ったClaude Skill）です。v4.1.0（2026年5月18日）からはCoolifyがサードパーティーサーバー不要のネイティブMCPエンドポイントを提供していますが、現時点では読み取り専用です。

</div>

Model Context Protocol（MCP）は、Claude Codeが外部システムと通信するためのAnthropicの標準規格です（詳しくは[MCPサーバーのガイド](https://ailoot.ai/blog/ja/mcp-servers-claude-code/)を参照）。MCPサーバーを接続すると、Claudeが呼び出せる一連のツールが使えるようになります。Coolify向けの既製サーバーが3つあり、ネイティブの選択肢も1つあります。

**選択肢1. forsonny/Coolify-MCP-Server-for-Claude-Code — 基本機能。**



できること：

- **Applications：** 作成、起動、停止、再起動
- **Services：** 一覧表示、作成、起動／停止／再起動
- **Deployments：** 実行中のデプロイを表示、UUIDで取得
- **Teams & Members：** 一覧表示、情報の取得
- **SSH Keys：** 一覧表示、作成
- **Environment Variables：** アプリとサービスの変数をすべて作成・読み取り・更新・削除
- **Server Insights：** サーバーごとのドメイン、健全性、バージョン

インストール：

```bash
git clone '<OFFICIAL_URL>'
cd Coolify-MCP-Server-for-Claude-Code
npm install
npm run build
# In .env:
#   COOLIFY_BASE_URL=https://coolify.example.com
#   COOLIFY_API_TOKEN=[Coolify Settings → API Tokens から取得]
npm run setup  # automatically configures Claude Code
```

その後、Claude Codeで次のように入力できます。

```
Show the status of the my-vibe-app application in Coolify and the 3 latest deployments.
```

Claudeが表を返します。

**選択肢2. dazeb/coolify-mcp-enhanced — 拡張版（推奨）。**



基本セットに追加される機能：

- **PostgreSQL / Redis / MinIOのワンクリックデプロイ** — 「Postgresをセットアップして」と頼むと、AIがコンテナを作成しDATABASE_URLを返します。
- **リアルタイム監視 + リソース使用量** — アプリケーションごとのCPU/RAMをリアルタイムで表示
- **複数の環境設定を一括更新** — 1つのコマンドで20個の変数を更新
- **Docker Compose対応** — 複数サービスのアプリケーションをデプロイ

Claude Codeの設定（プロジェクトルートの`.mcp.json`）：

```json
{
  "mcpServers": {
    "coolify-enhanced": {
      "command": "node",
      "args": ["/path/to/coolify-mcp-enhanced/dist/index.js"],
      "env": {
        "COOLIFY_ACCESS_TOKEN": "your-token-here",
        "COOLIFY_BASE_URL": "https://coolify.example.com"
      }
    }
  }
}
```

**選択肢3. ajmcclary/Coolify-Manager — CLIを使ったClaude Skill。**



MCPサーバーではなく、公式Coolify CLIをラップするClaude Code Skillです。次の機能が含まれます。

- サービスとコンテナの健全性診断
- SSL証明書の診断
- 複数インスタンスへの対応（Coolifyサーバーを複数持つ場合）
- トラブルシューティングの手順

インストール：Skillをダウンロードし、`~/.claude/skills/coolify-manager/`に配置します。Claude Codeが認識し、関連タスクで使用を提案します。

**選択肢4（2026年5月の新機能）。Coolify v4.1.0のネイティブMCP。**

2026年5月18日付のv4.1.0変更履歴には、次のように記載されています。

> CoolifyのリソースとAPI/UI用の読み取り専用ツールを備えた、インスタンス単位のMCPサポートを追加。

Coolifyが独自のMCPエンドポイントを提供するため、サードパーティーサーバーを使わずClaude Codeを直接接続できます。現時点では**読み取り専用**（アプリケーション一覧、ステータス、設定）で、変更操作には対応していません。ただし、「インフラについて教えて」といった多くのタスクには十分です。

`.mcp.json`で接続します。

```json
{
  "mcpServers": {
    "coolify-native": {
      "url": "https://coolify.example.com/api/v1/mcp",
      "headers": {
        "Authorization": "Bearer <your-api-token>"
      }
    }
  }
}
```

ネイティブMCPで書き込みが可能になるのはv4.2またはv4.3まで待ちましょう。Coolifyチームは2026年末までの提供を約束しています。

## 初回デプロイでよくある5つの落とし穴とその回避方法

<div class="aside" data-semantic="key-takeaway" role="note" aria-label="このセクションの重要なポイント">

重要なポイント

初回デプロイでよくあるエラーは、RAM不足、ポート80が閉じている、CloudflareのプロキシがLet's Encryptの検証を妨げる、UFWがDockerを保護できない、PATをGitHub Appの代わりに選ぶ、の5つです。すべて公式ドキュメントに記載されていますが、実際に経験がないと遭遇しやすい問題です。以下は、Coolifyを初めてインストールした際の実体験に基づく5項目のチェックリストです。

</div>

**落とし穴1：RAMが2 GB未満だと、OOMでインストールに失敗する。**

症状：`curl install.sh`が`docker pull coolify/coolify`まで進み、70%で止まった後、`Killed (signal 9)`でプロセスが終了します。`dmesg | tail`のログには`Out of memory: Killed process`と表示されます。

対処法：

```bash
# 4 GBのスワップファイルを作成して、一時的に問題を解決する
sudo fallocate -l 4G /swapfile
sudo chmod 600 /swapfile
sudo mkswap /swapfile
sudo swapon /swapfile
echo '/swapfile none swap sw 0 0' | sudo tee -a /etc/fstab
```

長期的にはRAMを4 GBに増やしてください。Coolifyはスワップを使って動作しますが、大規模なNext.jsプロジェクトのビルドには失敗することがあります。

**落とし穴2：UFWを有効にしても、Dockerがポートを開放する。**

症状：UFWを有効にし、22以外のポートをすべて閉じたのに、インターネットからアプリケーションのランダムなポート（3000など）にアクセスできます。

[公式ドキュメント](https://coolify.io/docs/knowledge-base/server/firewall)による理由：

<figure>
<blockquote>
<p>CoolifyはDocker上で動作します。DockerはNATベースのiptablesルールを使用し、UFWなど従来のLinuxファイアウォールを迂回することがあります。</p>
</blockquote>
<figcaption>— Coolify Docs（ファイアウォール）、https://coolify.io/docs/knowledge-base/server/firewall</figcaption>
</figure>

対処法：UFWではなく、**プロバイダーのコントロールパネルにあるファイアウォール**を使います。Timeweb / Selectel / Aezaでは「Firewall」または「Network → Firewall」から仮想ネットワークレベルのルールを設定します。これらはパケットがDockerに届く前に適用されます。

別の方法として、Dockerとの互換性を得るためにUFWへパッチを適用するスクリプトufw-dockerがあります。ただし、コントロールパネルでクリックして設定するより複雑です。

**落とし穴3：Cloudflareのプロキシ（オレンジ色の雲）がLet's Encryptを妨げる。**

症状：Redeploy後、ログに`Let's Encrypt validation failed - challenge returned 403`と表示されます。

理由：CloudflareがLet's EncryptのHTTPリクエストをプロキシし、チャレンジファイルの代わりに独自のページを返します。

対処法は次の2つです。

1.  **「DNS only」（Cloudflareの灰色の雲）に切り替える。** 欠点は、Cloudflare CDNと保護機能が使えなくなることです。
2.  **Cloudflare API経由でDNS-01チャレンジを設定する。** CoolifyでSettings → SSL Configurationに進み、Cloudflareプロバイダーを選択します。Zone:ReadおよびDNS:Edit権限を持つAPIトークンを入力してください。Let's EncryptはHTTPではなくTXTレコードで検証します。

2つ目の方法は設定が複雑ですが、Cloudflareのプロキシを維持できます。

**落とし穴4：GitHub AppではなくPATを使うと、PRプレビューが動作しない。**

症状：Personal Access TokenでGitHubを接続すると、ほかはすべて動作するのに、PR用のプレビュー環境が作成されません。GitHubでPRを開いてもCoolifyに何も表示されません。

理由：PRプレビューはGitHub App専用の機能です。PATはWebhook経由で`pull_request`イベントを受け取りません。

対処法：Appを使ってGitHubに再接続します。Sources → Add → GitHub Appに進み、ウィザードを完了してください。古いPATソースは削除できます。

**落とし穴5：「Coolify ＝ Vercel」とは言い切れない。**

Coolifyが標準で**できないこと**：

| 機能 | Coolify | 対応方法 |
|----|----|----|
| グローバルCDN | なし | Cloudflareを前段に配置（静的コンテンツなら無料） |
| Incremental Static Regeneration | なし | `revalidatePath`は自分のサーバーでのみ動作 |
| 画像最適化 | なし | ローカルローダーまたはCloudflare Imagesで`next/image`を使う |
| ピーク時の自動スケーリング | なし | 手動でスケールし、VPSをアップグレードする |
| Edge Functions | なし | 通常のAPIルートを使う |

プロジェクトが世界中にユーザーを持ち、世界全体で\< 100 msの遅延を求める高トラフィックのSaaSなら、Coolifyは適していません。Vercel Enterpriseを選んでください。1日100〜1,000人のユーザーでMVPをテストしているVibeコーダーなら、Coolifyですべて対応できます。

率直なセルフホスト分析より：



この記事のタイトルにある15分は、初めて1つのプロジェクトをデプロイする場合の最短ルートを指します。監視、バックアップ、アラートを備えたインフラ全体の設定には、1〜2晩かかります。現実的に考えてください。

## Vercelと比べて1年間でいくら節約できる？

<div class="aside" data-semantic="key-takeaway" role="note" aria-label="このセクションの重要なポイント">

重要なポイント

初期設定には5〜10時間、メンテナンスには毎月1〜2時間かかる場合があります。

</div>

以下のVercel金額は2026年5月のシナリオ見積もりで、現在の提示価格ではなく比較の片側です。自前Coolifyはライセンス料がなくても、VPS、バックアップ、保存、通信、運用には費用がかかります。上の要件を満たす実際の見積もりを取得してください。VPSの数値価格がないため、固定額の節約は主張できません。

**C**をVPS、バックアップ保存、追加通信、監視、有料管理画面を含む月額インフラ費、**r**を同じ通貨の運用時間単価とします。重複して数えません。記事の作業見積もりは初期5〜10時間と月1〜2時間で、**初年度17〜34時間、翌年以降12〜24時間**です。

| シナリオ | Vercel見積もり/月 | Vercel/年 | Coolifyインフラ/月 | Coolify初年度TCO | 初年度の差額 |
|----|----|----|----|----|----|
| 月100,000訪問の試作1つ | $20 + 約$5 = $25 | $300 | C | 12C + (17〜34)r | $300 − 12C − (17〜34)r |
| VPS1台で5プロジェクト | $20 + $30帯域・機能 = $50 | $600 | C | 12C + (17〜34)r | $600 − 12C − (17〜34)r |
| 開発者3人、5プロジェクト | $60席 + $30帯域 = $90 | $1,080 | C | 12C + (17〜34)r | $1,080 − 12C − (17〜34)r |

サーバー規模が違うなら各シナリオに別のCを使います。初年度の月額換算は**C + (17〜34)r/12**、翌年以降の年額TCOは**12C + (12〜24)r**です。Vercel側にも同等の運用費を加えてください。差額が負なら自前のほうが高くなります。rに人件費が入るなら同じ担当者の給与を再加算しません。

切り替え前に実際の提供者の見積もりとバックアップ計画でCを埋め、rを決め、1か月の利用を比較します。未入力なら、示せるのは費用モデルで、金額の節約ではありません。





最大の利点は金額ではありません。Coolifyに移行すると、**「他社の支払いポリシーに依存する」という区分がなくなります**。20%の手数料がかかるバーチャル中継カードも必要ありません。

Coolifyは安価なVercelではありません。異なるカテゴリーの製品です。インフラを自分で所有し、その責任を引き受け、複雑さを受け入れることで費用を節約します。

Claude Codeで生成した後、プロトタイプをデプロイすることが最初のタスクなら、環境（env、秘密情報、スケジュールタスク、バックアップ）の管理は[**コンテキストエンジニアリング**](https://ailoot.ai/blog/ja/context-engineering/)の一部です。「すべてがどこにあるか」の構造がなければClaudeは迷い、変更のたびに時間を失います。完全なセットアップには、**AIクローン**（自分の方法論に合わせた[Skills](https://ailoot.ai/blog/ja/claude-code-skills-library/)と[Subagents](https://ailoot.ai/blog/ja/claude-code-subagents/)）+ [**セカンドブレイン**](https://ailoot.ai/blog/ja/claude-code-second-brain/)（プロジェクトのナレッジベース）+ **コンテキストエンジニアリング**（[Plan Mode](https://ailoot.ai/blog/ja/claude-code-plan-mode/)、`/compact`、実行環境）が含まれます。これらはAIの幻覚を防ぐ**3つの柱**です。

<div class="section" role="doc-bibliography" aria-label="出典">

### 出典

- [Coolify公式ドキュメント：概要](https://coolify.io/docs/get-started/introduction)
- [Coolifyインストールガイド](https://coolify.io/docs/get-started/installation)
- [Coolifyビルドパックの概要](https://coolify.io/docs/applications/build-packs/overview)
- [Coolifyファイアウォールのナレッジベース](https://coolify.io/docs/knowledge-base/server/firewall)
- [CoolifyのLet's Encryptトラブルシューティング](https://coolify.io/docs/troubleshoot/dns-and-domains/lets-encrypt-not-working)
- [Coolifyの料金](https://coolify.io/pricing)
- [Coolify GitHub：v4.1.0のリリース](https://github.com/coollabsio/coolify/releases)
- [Claude Codeの概要](https://code.claude.com/docs/en/overview)
- [Timeweb Cloud VPS](https://timeweb.cloud/services/vds-vps)
- [FirstVDS VPS](https://firstvds.ru/products/vds_vps_hosting)
- [Selectel VPS/VDS](https://selectel.ru/services/cloud/vps-vds/)
- [Vercelの料金](https://vercel.com/pricing)

</div>

完全なコンテキストワークフロー：**AIクローン + セカンドブレイン + コンテキストエンジニアリング**。



詳しい資料は[Ailoot](https://ailoot.ai/)でご覧いただけます。

## Claude Code MCP 設定 どこに書く？Coolify連携とVPSデプロイ：よくある質問

### デプロイ後、どのURLがJSONを返しますか？

CoolifyのDomainsに表示されたアプリURLをコピーし、/api/usersを開きます。ルートはホームページで、例のJSONエンドポイントは/api/usersです。

### 自前ホストの節約はどう計算しますか？

VPS、バックアップ、ストレージ、通信、監視、任意の管理画面料金を月額Cへまとめます。初年度TCOは12Cと17〜34時間の人件費の合計です。例のVercel年額と比較し、双方で同等の運用費も含めてください。


## Ailoot · 企業とそのプロジェクト群

Ailootは、蓄積した運営経験、幅広い顧客基盤、安定したサービス、継続的なKPI管理を基盤としています。

企業とそのプロジェクト群：数百万の顧客、毎月数十億規模の売上。

Ailootはこの運営経験を、お客様の製品、エージェント、アプリケーション、自動化でAI機能を利用するためのAPIアクセスに活かしています。
