Skip to main content
Glama

MCPay Build

MCPay Build is an MCP server that acts as a no-code builder for MCP Servers with built-in monetization.
It lets developers design, preview, and deploy MCP servers to GitHub + Vercel β€” and instantly monetize tool usage with x402 micropayments via MCPay.

πŸ‘‰ Build β†’ Preview β†’ Deploy β†’ Monetize

Our vision is an agent-to-agent economy powered by microtransactions, where AI agents can autonomously pay to use tools. MCPay Build provides the rails to make that future possible.


πŸ–ΌοΈ Workflow


β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”      β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”      β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”      β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚   Build   β”‚ ───▢ β”‚  Preview  β”‚ ───▢ β”‚  Deploy   β”‚ ───▢ β”‚   Monetize    β”‚
β”‚ (AI/MCP)  β”‚      β”‚ (sandbox) β”‚      β”‚ (Vercel)  β”‚      β”‚ (MCPay/x402)  β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜      β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜      β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜      β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜

Big Picture

This repo implements an MCP server β€œfactory”:

  • Lets an AI/chat (or you) spin up a brand-new MCP server in memory.

  • Provides tools to edit files, manage deps, run type checks, format, version, and preview live.

  • Deploys your server into a real Node.js environment using Vercel Sandbox.

  • Monetizes expensive operations (preview, run_command, stream_logs, etc.) using MCPay (per-call x402 micropayments).

Flow:
Create session β†’ edit files β†’ preview in sandbox β†’ get live URL β†’ iterate β†’ export as ZIP β†’ monetize tools.


✨ Features

  • MCPay integration β†’ free + paid tools side-by-side, billed automatically

  • Simple API β†’ server.tool(...) & server.paidTool(...) via mcpay/handler

  • Vercel-ready β†’ vercel.json + function exports (GET/POST/OPTIONS)

  • Type-safe β†’ modern TypeScript + Zod validation

  • Dev UX β†’ session/file/diff/format tools, ts-check, logs, live preview


πŸš€ Quickstart

1. Install dependencies

pnpm install

2. Configure environment

MCPAY_API_KEY=your_api_key     # required for paid tools
MCPAY_API_URL=https://api.mcpay.tech  # optional

3. Run locally

pnpm dlx vercel dev

Server runs at http://localhost:3000.

4. Connect from MCP client

Add to ~/.cursor/mcp.json:

{
  "mcpServers": {
    "mcpay-local": { "url": "http://localhost:3000" }
  }
}

Under the Hood

Main runtime & routing

  • Hono as the HTTP framework.

  • Open CORS (all origins/headers/methods allowed).

  • GET / β†’ serves a system prompt describing tools + philosophy.

  • All other routes β†’ handled by createPaidMcpHandler(...).

  • Function exports (GET/POST/OPTIONS) β†’ deploys cleanly to Vercel.


State & storage

  • Sessions in Vercel KV (session:{id}) with virtual file system + sandbox metadata.

  • Commits in KV (commit:{session}:{commit}) for full snapshots.

  • Logs/ZIPs uploaded to Vercel Blob with public URLs.


Templates & defaults

When you run create_session, it seeds:

  • index.ts β€” MCP server template (with hello + get-time tools).

  • package.json, tsconfig.json, .gitignore, .env.example, README.md.


Preview = live sandbox

preview tool does:

  1. Loads session + hashes files.

  2. Reuses existing sandbox if files unchanged (<30 min).

  3. Else:

    • Creates fresh Vercel Sandbox (Node 22, 2 vCPUs).

    • Uploads files.

    • Detects Node/npm versions.

    • Installs deps (npm/yarn/pnpm).

    • Runs build if available.

    • Starts server (npm start or fallback).

    • Health-checks endpoints until ready.

    • Aggregates logs (uploads long logs to Blob).

Returns: sandbox ID, preview URL, logs, node/npm versions, status.


Built-in Tools

Paid (metered via MCPay)

  • create_session β€” bootstrap project

  • preview β€” deploy to sandbox, return live URL

  • download_session β€” zip + upload project

  • run_command β€” exec arbitrary shell in sandbox

  • stream_logs β€” live-tail logs

Free

  • File ops: add_or_update_file, delete_file, get_file, list_files, get_all_codebase

  • Env ops: add_env_key, list_env_keys, delete_env_key

  • Package ops: add_dependency, debug_package_json

  • Quality: ts_check, npm_audit, format_file

  • Versioning: commit, diff, revert, get_logs

  • Info: get_environment_info, get_session_stats, stop_preview, force_refresh_sandbox


Monetization

  • MCP handler is created with createPaidMcpHandler.

  • Paid tools have explicit { price, currency }.

  • Requires MCPAY_API_KEY (and optional MCPAY_API_URL).

Example:

server.paidTool(
  "analyze-data",
  "Analyze data (paid)",
  { price: 0.1, currency: "USD" },
  { data: z.string(), format: z.enum(["json","csv"]) },
  async ({ data, format }) => ({
    content: [{ type: "text", text: `Analyzed ${format} data` }]
  })
);

πŸ›  Typical Flow

  1. create_session β†’ new ID

  2. add_or_update_file β†’ edit index.ts

  3. ts_check + format_file

  4. commit β†’ snapshot

  5. preview β†’ live sandbox URL

  6. stream_logs β†’ monitor in real time

  7. download_session β†’ zip/export


πŸ“¦ Deployment

Deploy to Vercel:

pnpm dlx vercel

Set env vars in project settings:

  • MCPAY_API_KEY

  • MCPAY_API_URL (optional)


❗ Notes

  • Blob uploads are public β†’ don’t commit secrets.

  • Sandbox per tool (for some ops) β†’ isolation at cost of speed/$$.

  • .env handling β†’ only keys are tracked; actual secrets must be set in runtime env.


πŸ“„ License

MIT