Skip to main content
Use this guide when you want to monetize an MCP server and keep implementation control in your own codebase.
If you want SolvaPay to host auth, checkout, and paywall enforcement with no code changes, use Managed MCP instead.

Who this is for

  • Teams building custom MCP server behavior
  • Teams that need custom auth and entitlement logic
  • Teams that want SDK-level control instead of Managed MCP

What you will achieve

By the end, your MCP server uses the SolvaPay SDK to enforce purchases and manage monetized tool access.

What the change looks like

You wrap your existing tool handlers with payable.mcp(). Your business logic stays untouched — SolvaPay intercepts the call, checks for a valid purchase, and either runs your function or returns a checkout URL to the agent.

Prerequisites

  • A SolvaPay account
  • A product and at least one plan in the SolvaPay Console
  • A TypeScript MCP server project
Start from createSolvaPayMcpServer — the recommended factory that wires the transport, intent tools, paywall, and UI resource for you, so you register paid tools with registerPayable instead of hand-rolling an MCP server.

Steps

  1. Complete SDK quick start to set up the base paywall flow.
  2. Follow the MCP integration guide for the full implementation.
  3. Configure identity with custom auth if your server uses external auth.
  4. Add usage billing with usage events where needed.
  5. Render a custom checkout or account UI inside the host iframe with the MCP App integration guide.

Verify

  • Protected MCP tools require an eligible purchase
  • Valid purchases allow tool execution
  • Usage events are recorded for billable calls