Vibe Provision

io.github.totte-dev由 GitHub 账号 totte-dev 发布v0.1.1更新于 Oct 25, 2026

Provision SaaS services from YAML and inject .env. Supports Clerk, Stripe, Resend and more.

概览

AI 生成的概览

一个本地 MCP 服务器,让 AI 助手根据 YAML 配置开通 Clerk、Stripe、Resend、Neon、Upstash 等 SaaS 服务,并生成 .env 文件。

可以做什么
检查所有已配置服务商的认证与开通状态,并向 vibe.yaml 配置中添加新服务。调用各服务商 API 开通资源并生成 .env 输出,可写入本地 .env 文件、Vercel 或 Terraform 目标。按环境合并基础与覆盖 YAML 文件,管理多环境配置。
适用场景
适合在搭建 SaaS 应用时,让助手依据声明式配置创建认证、支付、邮件、数据库或缓存资源,而不必手动操作各服务商控制台。最好在已一次性完成服务商认证后使用。
运行要求
通过 npx 在本地运行(需要 Node.js)。需用 CLI 的 auth 命令一次性完成各服务商认证,凭据保存在用户主目录本地。每个所用服务需要相应的 API 密钥或访问令牌。需访问服务商 API 的网络;Vercel 输出需要 Vercel CLI。
安装前请注意
开通会在第三方账户中创建真实资源,包括 Stripe 产品、价格和 webhook 端点,可能产生费用。凭据保存在本地并发送给服务商 API。服务器会写入 .env 和状态文件,并可向 Vercel 或 Terraform 输出注入环境变量。执行开通前请检查生成的配置。

安装

在 SourceWeft 中

  1. 打开 控制台中的 Vibe Provision,将其添加到工作区。
  2. 为需要使用其工具的对话启用该服务。

Desktop only,通过 STDIO。 STDIO 服务会启动本地进程,因此需要 SourceWeft 桌面宿主。

其他 MCP 客户端

参照 仓库 中的启动说明。

README

vibe-provision

Provision external SaaS services from YAML. One command to set up Clerk, Stripe, Resend and inject .env.

"AI can write code, but it can't click dashboards." — vibe-provision solves that.

Quick Start

bash
# 1. Generate a config templatenpx vibe-provision init
# 2. Authenticate with providers (one-time)npx vibe-provision auth
# 3. Provision resources and generate .envnpx vibe-provision up

That's it. Your .env is ready — run your dev server.

vp is a short alias: npx vp up works too.

vibe.yaml

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, etc.) can generate this file alongside your app code.

Supported Providers

ProviderCategoryWhat it createsAuth method
ClerkAuthRedirect URL config + env varsAPI key paste
StripePaymentsProducts, Prices, Webhook EndpointsAPI key paste
ResendEmailDomain registrationAPI key paste
SupabaseDB + AuthProject + API keysAccess token
NeonPostgresProject + databaseAPI key
UpstashRedisDatabaseEmail + API key

Output Targets

Control where env vars are written via the output section:

TargetDescription
.envLocal .env file (default)
vercelVercel environment variables via CLI
terraform.vibe-provision/terraform.tfvars.json with merge semantics

Environment-Specific Config

Use --env to manage multiple environments:

bash
npx vp up --env dev      # merges vibe.yaml + vibe.dev.yaml → .env.devnpx vp up --env staging  # merges vibe.yaml + vibe.staging.yaml → .env.stagingnpx vp up --env prod     # merges vibe.yaml + vibe.prod.yaml → .env.prodnpx vp up                # uses vibe.yaml only → .env

Base config (vibe.yaml) holds shared settings. Override files (vibe.{env}.yaml) deep-merge on top:

yaml
# vibe.dev.yaml — only override what differsservices:  payments:    provider: stripe    config:      webhooks:        url: https://dev.example.com/api/webhooks/stripe

MCP Server (AI Agent Integration)

vibe-provision includes an MCP server so AI agents (Claude Code, Cursor) can provision services directly.

Setup

Add to your .mcp.json (global or per-project):

json
{  "mcpServers": {    "vibe-provision": {      "command": "npx",      "args": ["vibe-provision", "mcp"]    }  }}

Available Tools

ToolDescription
vibe_provision_statusCheck auth and provisioning state for all providers
vibe_provision_upProvision resources and generate .env (requires prior auth)
vibe_provision_addAdd a new service to vibe.yaml

Example Flow

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

Idempotency

vibe-provision up is safe to run multiple times. It tracks created resources in .vibe-provision/state.json and skips anything that already exists.

How It Works

  1. init — generates a vibe.yaml template
  2. auth — walks you through authenticating each provider, stores credentials locally in ~/.vibe-provision/auth/
  3. up — reads vibe.yaml, calls provider APIs to create resources, writes to configured output targets

Credentials never leave your machine.

Examples

Development

bash
npm installnpm run lint          # type checknpm test              # run tests (47 tests)npm run dev -- init   # run CLI in dev mode

License

FSL-1.1-Apache-2.0 — Free to use for any purpose except competing hosted services. Converts to Apache 2.0 on 2028-03-26.

来源:README.md,提交 360aee8

工具

0
SourceWeft 尚未在沙箱中启动过该软件包,因此其工具未知。

版本历史

1
  1. v0.1.1最新Sep 16, 2026

评分

已满足适用检查项的 40%

该评分衡量此收录条目的完整程度,依据注册中心条目、端点与公开来源计算得出。它不是对服务器本身的评价,也不表示服务器安全或当前可用:可连通性是带日期的检查结果,评分也不包含安装量或用户评价。

  • 近 30 天内可连通25 分

    请保持端点能够响应 MCP 握手;SourceWeft 每 30 天探测一次。

  • 已声明认证方式10 分

    请在注册中心条目中声明凭据请求头,或保持端点能够响应探测,以便判定其认证方式。

  • 已列出工具15 分

    请让服务器在无凭据时响应 tools/list,或发布可在沙箱中无凭据启动的软件包。

  • 描述必需15 分
  • 图标10 分
  • 文档15 分
  • 许可证10 分

    请在仓库或注册中心条目中声明许可证。