vibe-provision について
vibe-provisionは、YAML設定から外部SaaSリソースを作成し、環境変数を指定先に出力します。Clerk、Stripe、Resendなどのサービスをセットアップする開発チームやAIエージェント向けです。
主な機能
- 01設定テンプレートの生成
- 02対応するSaaSリソースの作成
- 03変数を.envなどの出力先に書き込み
- 04環境別設定のマージ
- 05リソース記録による重複作成の回避
- 06プロバイダー認証情報のローカル保存
活用シーン
- 01新しいアプリのSaaSサービスを設定
- 02開発環境と本番環境の設定を分ける
- 03AIエージェントにプロジェクト設定からサービスを作成させる
MCP 対応
MCPサーバーは、プロバイダーの状態確認、リソースの作成、`vibe.yaml`のサービス一覧更新に使えるツールを提供します。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
ツール
3掲載時のツール一覧 · 2 週間前に更新
| パラメーター | 型 | 必須 | 説明 |
|---|---|---|---|
| env | string | いいえ | 環境名(dev、staging、prod) |
詳細
vibe-provision
YAML から外部 SaaS サービスをプロビジョニングします。Clerk、Stripe、Resend をセットアップして .env に値を注入するコマンドを実行するだけです。
「AI はコードを書けますが、ダッシュボードはクリックできません。」— vibe-provision がその問題を解決します。
クイックスタート
# 1. Generate a config template
npx vibe-provision init
# 2. Authenticate with providers (one-time)
npx vibe-provision auth
# 3. Provision resources and generate .env
npx vibe-provision up
これで完了です。.env の準備ができたので、開発サーバーを起動してください。
vp は短縮エイリアスです。npx vp up も使えます。
vibe.yaml
project: my-saas-app
output:
- .env
- vercel # auto-inject env vars to Vercel
- terraform # generate terraform.tfvars.json
services:
auth:
provider: clerk
config:
app_name: "My SaaS App"
redirect_urls:
- http://localhost:3000/callback
payments:
provider: stripe
config:
products:
- name: "Pro Plan"
prices:
- amount: 1900
currency: usd
interval: month
webhooks:
events:
- checkout.session.completed
- customer.subscription.updated
email:
provider: resend
config:
domain: my-app.com
database:
provider: neon
config:
region: aws-ap-northeast-1
cache:
provider: upstash
config:
region: ap-northeast-1
AI(Cursor、Claude Code など)は、アプリのコードとあわせてこのファイルを生成できます。
対応プロバイダー
| プロバイダー | カテゴリー | 作成されるもの | 認証方法 |
|---|---|---|---|
| Clerk | 認証 | リダイレクト URL の設定+環境変数 | API キーを貼り付け |
| Stripe | 決済 | 商品、価格、Webhook エンドポイント | API キーを貼り付け |
| Resend | メール | ドメイン登録 | API キーを貼り付け |
| Supabase | DB+認証 | プロジェクト+API キー | アクセストークン |
| Neon | Postgres | プロジェクト+データベース | API キー |
| Upstash | Redis | データベース | メールアドレス+API キー |
出力先
output セクションで、環境変数の書き込み先を指定できます。
| 出力先 | 説明 |
|---|---|
.env | ローカルの .env ファイル(デフォルト) |
vercel | CLI 経由で Vercel の環境変数に書き込み |
terraform | マージ方式で .vibe-provision/terraform.tfvars.json に書き込み |
環境別の設定
--env を使って複数の環境を管理できます。
npx vp up --env dev # merges vibe.yaml + vibe.dev.yaml → .env.dev
npx vp up --env staging # merges vibe.yaml + vibe.staging.yaml → .env.staging
npx vp up --env prod # merges vibe.yaml + vibe.prod.yaml → .env.prod
npx vp up # uses vibe.yaml only → .env
ベース設定(vibe.yaml)には共通の設定を記述します。オーバーライドファイル(vibe.{env}.yaml)の内容は、ベース設定に対してディープマージされます。
# vibe.dev.yaml — only override what differs
services:
payments:
provider: stripe
config:
webhooks:
url: https://dev.example.com/api/webhooks/stripe
MCP サーバー(AI エージェントとの連携)
vibe-provision には MCP サーバーが含まれており、AI エージェント(Claude Code、Cursor)からサービスを直接プロビジョニングできます。
セットアップ
.mcp.json(グローバルまたはプロジェクトごと)に追加します。
{
"mcpServers": {
"vibe-provision": {
"command": "npx",
"args": ["vibe-provision", "mcp"]
}
}
}
利用可能なツール
| ツール | 説明 |
|---|---|
vibe_provision_status | すべてのプロバイダーの認証状態とプロビジョニング状態を確認します |
vibe_provision_up | リソースをプロビジョニングして .env を生成します(事前の認証が必要です) |
vibe_provision_add | vibe.yaml に新しいサービスを追加します |
フローの例
User: "Add Stripe payments to my app"
→ AI generates vibe.yaml with stripe config
→ AI calls vibe_provision_status → "stripe: NOT authenticated"
→ AI: "Run npx vp auth in your terminal"
→ User authenticates (one-time)
→ AI calls vibe_provision_up → Products, Prices, Webhooks created
→ .env updated, app ready to run
冪等性
vibe-provision up は何度実行しても安全です。作成したリソースを .vibe-provision/state.json に記録し、すでに存在するものはスキップします。
仕組み
init—vibe.yamlのテンプレートを生成しますauth— 各プロバイダーの認証を案内し、認証情報をローカルの~/.vibe-provision/auth/に保存しますup—vibe.yamlを読み込み、プロバイダーの API を呼び出してリソースを作成し、設定した出力先に書き込みます
認証情報がマシンの外に送信されることはありません。
例
- saas-starter-simple — Next.js+Clerk+Stripe+Resend を使った、直接的な Webhook 処理
- saas-starter — 同じ構成に、qhook を加えた、本番環境向けの Webhook 処理
開発
npm install
npm run lint # type check
npm test # run tests (47 tests)
npm run dev -- init # run CLI in dev mode
ライセンス
FSL-1.1-Apache-2.0 — 競合するホステッドサービスを除き、あらゆる目的で無料で利用できます。2028-03-26 に Apache 2.0 に移行します。
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。