Vibe Provision

io.github.totte-devPublished by GitHub account totte-devv0.1.1Updated Oct 25, 2026

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

Overview

AI-generated overview

A local MCP server that lets an AI assistant provision SaaS services such as Clerk, Stripe, Resend, Neon and Upstash from a YAML config and write the resulting.

What you can do
Check authentication and provisioning state for all configured providers and add a new service to the vibe.yaml config file. Provision resources across providers and generate the .env output, writing env vars to a local .env file, Vercel or Terraform targets. Manage environment-specific configs by merging base and override YAML files per environment.
When to use it
Useful when you are scaffolding a SaaS app and want the assistant to create auth, payment, email, database or cache resources from a declarative config instead of clicking provider dashboards. Best after you have authenticated with the providers once.
Requirements
Runs locally via npx (Node.js). One-time provider authentication through the CLI auth command, with credentials stored locally in the user's home directory. Provider API keys or access tokens for each service used. Network access to provider APIs; Vercel output requires the Vercel CLI.
Before you install
Provisioning creates real resources in third-party accounts, including Stripe products, prices and webhook endpoints, which can involve billing. Credentials are stored locally and sent to provider APIs. The server writes .env files and state files and can inject environment variables into Vercel or Terraform outputs. Review generated config before running provisioning.

Installation

In SourceWeft

  1. Open Vibe Provision in the dashboard and add it to a workspace.
  2. Enable the server for the chats that should use its tools.

Desktop only via STDIO. STDIO servers start a local process, so they need the SourceWeft desktop host.

Other MCP clients

Follow the launch instructions in the repository.

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.

Source: README.md at commit 360aee8

Tools

0
SourceWeft has not started this package in its sandbox yet, so its tools are not known.

Version history

1
  1. v0.1.1LatestSep 16, 2026

Score

40% of the applicable checks met

How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.

  • Reached in the last 30 days25 pts

    Keep the endpoint answering the MCP handshake; SourceWeft probes it every 30 days.

  • Auth declared10 pts

    Declare the credential headers in the registry entry, or keep the endpoint answering the probe so its auth can be classified.

  • Tools listed15 pts

    Answer tools/list without a credential, or ship a package that starts in a sandbox without one.

  • DescriptionRequired15 pts
  • Logo10 pts
  • Documentation15 pts
  • License10 pts

    Declare a license in the repository or the registry entry.