vibe-provision

vibe-provision

Enables AI agents to provision and manage external SaaS services (Clerk, Stripe, Resend, etc.) by authenticating and creating resources via YAML configuration.

Category
Visit Server

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

# 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

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

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

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

Supported Providers

Provider Category What it creates Auth method
Clerk Auth Redirect URL config + env vars API key paste
Stripe Payments Products, Prices, Webhook Endpoints API key paste
Resend Email Domain registration API key paste
Supabase DB + Auth Project + API keys Access token
Neon Postgres Project + database API key
Upstash Redis Database Email + API key

Output Targets

Control where env vars are written via the output section:

Target Description
.env Local .env file (default)
vercel Vercel environment variables via CLI
terraform .vibe-provision/terraform.tfvars.json with merge semantics

Environment-Specific Config

Use --env to manage multiple environments:

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

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

# vibe.dev.yaml — only override what differs
services:
  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):

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

Available Tools

Tool Description
vibe_provision_status Check auth and provisioning state for all providers
vibe_provision_up Provision resources and generate .env (requires prior auth)
vibe_provision_add Add 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

npm install
npm run lint          # type check
npm 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.

Recommended Servers

playwright-mcp

playwright-mcp

A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.

Official
Featured
TypeScript
Magic Component Platform (MCP)

Magic Component Platform (MCP)

An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.

Official
Featured
Local
TypeScript
Audiense Insights MCP Server

Audiense Insights MCP Server

Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.

Official
Featured
Local
TypeScript
VeyraX MCP

VeyraX MCP

Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.

Official
Featured
Local
graphlit-mcp-server

graphlit-mcp-server

The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.

Official
Featured
TypeScript
Kagi MCP Server

Kagi MCP Server

An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.

Official
Featured
Python
E2B

E2B

Using MCP to run code via e2b.

Official
Featured
Neon Database

Neon Database

MCP server for interacting with Neon Management API and databases

Official
Featured
Exa Search

Exa Search

A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.

Official
Featured
Qdrant Server

Qdrant Server

This repository is an example of how to create a MCP server for Qdrant, a vector search engine.

Official
Featured