mcpField
V
vibe-provision

vibe-provision

本地服务
github.com/totte-dev开发工具031 周前更新

关于 vibe-provision

vibe-provision 根据 YAML 配置创建外部 SaaS 资源,并将环境变量写入指定目标,适用于搭建应用服务的开发团队和 AI Agent。支持 Clerk、Stripe、Resend 等服务。

主要功能

  1. 01生成配置模板
  2. 02创建受支持的 SaaS 资源
  3. 03写入变量至 .env 等目标
  4. 04合并特定环境配置
  5. 05记录资源以避免重复创建
  6. 06在本地认证服务提供商

适用场景

  1. 01为新应用配置 SaaS 服务
  2. 02创建独立的开发和生产环境配置
  3. 03让 AI Agent 根据项目配置创建服务

MCP 相关

其 MCP 服务提供查询服务提供商状态、创建资源以及更新 `vibe.yaml` 服务列表的工具。

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。

mcp.json · 通用配置
{
"mcpServers": {
"totte-dev-vibe-provision": {
"command": "npx",
"args": [
"-y",
"vibe-provision"
]
}
}
}
启动命令npx -y vibe-provision

本地服务需要在你的电脑上安装运行环境(如 Node.js 18+)。各客户端的配置文件位置不同,请参考客户端文档。

安装包
npmvibe-provision0.1.1

工具

3

收录的工具列表 · 更新于 2 周前

参数类型必填说明
envstring否环境名称(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数据库 + 身份验证项目 + API 密钥访问令牌
NeonPostgres项目 + 数据库API 密钥
UpstashRedis数据库电子邮件 + 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 Agent 集成)

vibe-provision 内含 MCP 服务,因此 AI Agent(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 中跟踪已创建的资源,并跳过所有已存在的资源。

工作原理

  1. init —— 生成 vibe.yaml 模板
  2. auth —— 引导你完成各提供商的认证,并将凭据保存在本地 ~/.vibe-provision/auth/
  3. up —— 读取 vibe.yaml,调用提供商 API 创建资源,并写入已配置的输出目标

凭据绝不会离开你的计算机。

示例

开发

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。

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。