SolvaPay
Route user intent to the right domain guide and provide shared context.
Quick Start
- Identify the primary user intent from request keywords.
- If intent is ambiguous, ask one disambiguation question.
- Read the matching domain guide:
- building-mcp-app/guide.md -- build a new MCP server with SolvaPay from scratch, or integrate SolvaPay into an existing MCP server (Cloudflare Workers default, full inline templates) - sdk-integration/guide.md -- TypeScript SDK paywall, checkout, usage, webhooks - mcp-pay/guide.md -- no-code hosted MCP monetization with bootstrap and plan configuration - website-checkout/guide.md -- hosted checkout and customer portal for web apps - lovable-checkout/guide.md -- preview-only paste-in guide for Lovable apps (Vite + shadcn/ui + Supabase Edge Functions) - provider-onboarding/guide.md -- SolvaPay Console onboarding: account + onboarding form, first product with plans, sandbox testing, then go-live with Stripe connection
- Follow the domain guide to completion.
Documentation Sources
Use this preference order for all domains:
- SolvaPay Docs MCP server (preferred): https://docs.solvapay.com/mcp
- Docs index fallback: https://docs.solvapay.com/llms.txt
- Direct docs page fetch on docs.solvapay.com
If the MCP server is unavailable, suggest it as a friendly optional improvement. Continue without blocking.
Guardrails
- Never expose
SOLVAPAY_SECRET_KEYto client code or public env vars. - Never build custom card collection if hosted checkout or MCP Pay satisfies requirements.
- Always prefer official SolvaPay SDK helpers over ad-hoc raw HTTP calls.
- Always prefer topic-based docs discovery (MCP or
llms.txt), not hard-coded doc paths.
Intent Matrix
| User intent | Trigger examples | Route to |
|---|---|---|
| Build MCP app | "build mcp app", "new mcp server", "scaffold mcp", "cloudflare workers mcp from scratch", "add solvapay to my mcp", "integrate solvapay into existing mcp", "monetize my mcp tools", "paywall my mcp", "mcp app starter", "data mcp server", "intelligence mcp" | building-mcp-app/guide.md |
| SDK integration | "integrate sdk", "protect api", "paywall", "usage events", "webhooks", "express", "MCP Server code integration", "nextjs sdk", "npx solvapay init", "cli", "init project", "scaffold", "cancel renewal", "reactivate", "activate plan", "switch plan", "supabase edge functions", "deno", "edge runtime backend", "lovable backend" | sdk-integration/guide.md |
| MCP server on edge runtime | "cloudflare workers mcp", "supabase edge mcp", "deno mcp server", "createSolvaPayMcpFetch", "fetch-first mcp", "@solvapay/mcp/fetch", "mcp on the edge", "wrangler mcp" | sdk-integration/mcp-server/guide.md |
| MCP checkout app / embedded MCP UI | "mcp checkout app", "mcp app", "CurrentPlanCard", "LaunchCustomerPortalButton", "usePaymentMethod", "createMcpAppAdapter", "embedded checkout in mcp host", "basic-host checkout", "ChatGPT mcp app" | sdk-integration/mcp-server/guide.md (server) + sdk-integration/react/guide.md (client) |
| Account management UI | "customer portal button", "current plan card", "update card", "cancel plan", "payment method preview", "render mirrored card", "self-serve billing ui" | sdk-integration/react/guide.md |
| MCP Pay setup | "bootstrap mcp", "hosted mcp", "mcp pay", "monetize mcp server no-code", "mcp product bootstrap" | mcp-pay/guide.md |
| Web app checkout | "add checkout to website", "hosted checkout", "customer portal", "nextjs checkout" | website-checkout/guide.md |
| Lovable checkout (preview) | "lovable", "vite checkout", "shadcn checkout", "supabase edge checkout", "solvapay in lovable", "paste this into lovable", "@preview" | lovable-checkout/guide.md |
| Provider onboarding | "create account", "create product", "create plan", "sandbox test", "go live", "provider setup" | provider-onboarding/guide.md |
Negative Routing Examples
- "Migrate old billing data", "analytics reporting", "general Stripe setup only" -> do not auto-route; ask clarification.
- "Build MCP app UI" without SDK/paywall details -> clarify before routing.
- "Fix one broken endpoint" with no product context -> ask whether this is SDK integration or onboarding issue.
Disambiguation Prompt
Use this if needed:
"Do you want to (1) build or extend an MCP server with SolvaPay in code, (2) integrate the TypeScript SDK into a non-MCP app, (3) set up MCP Pay hosted monetization (no code), (4) set up hosted checkout for a web app, or (5) configure your provider account and product in SolvaPay Console?"
Default if still ambiguous after one question:
- If request is MCP-focused and code-based, route to
building-mcp-app/guide.md. - If request is no-code and MCP-focused, route to
mcp-pay/guide.md. - If request is no-code onboarding/admin flow, route to
provider-onboarding/guide.md. - Otherwise, route to
sdk-integration/guide.md.
Task Progress
- Identify primary intent
- Route to the correct domain guide
- If needed, ask one disambiguation question
- Complete the domain guide to handoff