How to Monetize an MCP Server: Subscriptions, Keys and Usage
You monetize an MCP server by selling access to it: a buyer pays, gets a key, and your server only answers requests that carry a valid key. On Pocketsflow you sell the subscription or license through a hosted or embedded checkout, Pocketsflow sends a signed webhook when someone pays or cancels, and your server issues and revokes the key. Pocketsflow is the merchant of record, so it collects the money and handles sales tax and VAT on each payment.
Three ways to charge for an MCP server on Pocketsflow
Pick the model that matches how your MCP server runs.
- Subscription plus an API key: best for a remote MCP server you host. The buyer pays monthly or yearly, your backend creates a key on the subscription webhook, and the AI app sends that key with every request.
- License key: best for a local MCP server the buyer runs with
npxor a binary. Pocketsflow generates the key at checkout and your server checks it against public endpoints, so no secret ships inside your code. - Usage per tool call: best when each call costs you money, such as a model call or a paid data source. A subscription includes a number of calls, and Pocketsflow bills the rest at the end of each period. This needs the Pocketsflow Pro plan.
What Pocketsflow does and what your MCP server does
Pocketsflow is a billing and checkout layer, not an MCP host. Be clear on the split before you build.
| Pocketsflow provides | You build |
|---|---|
| Checkout, cards and wallets, tax as merchant of record | The MCP server and its tools |
| Subscriptions, trials and renewals | A table of customers and their API keys |
| Signed webhooks for every subscription change | The endpoint that creates and revokes keys |
| License keys and the public check endpoints | The auth check on every MCP request |
| Usage meters and the overage charge | Counting tool calls and reporting them |
How to monetize an MCP server with Pocketsflow, step by step
- Get a test API key. In the Pocketsflow dashboard, open Developers, then API keys, and create a
pk_test_key. A test key only touches test data and never charges a real card. - Create the plan. Create a subscription with a price and a billing period: weekly, monthly or yearly. Add a free trial in days if developers want to try your tools first.
- Open a checkout from your site. When a signed-in user clicks Subscribe, call
POST /checkout/sessionsfrom your backend with the subscription offer id asproductIdand your own user id inmetadata. Redirect to the returnedurl, or pass it toPocketsflow.open()from Pocketsflow'sembed.jsto show the checkout in an overlay on your page. - Add a webhook. Subscribe an HTTPS endpoint to
customer.subscription.created,invoice.payment_failedandcustomer.subscription.deleted. Pocketsflow returns the signing secret once, so store it right away. - Issue the key on payment. Verify the
X-Pocketsflow-Signature-V2header, an HMAC-SHA256 of the timestamp and the raw body, and drop repeats byX-Pocketsflow-Event-Id. Oncustomer.subscription.created, generate a random key, store its hash next to the user and thesubscriptionCustomer.id, and show the key once in your app. - Revoke on cancel. On
customer.subscription.deleted, disable the key. Oninvoice.payment_failed, decide whether to keep access during the retry window or limit it. - Go live. Run the whole flow in test mode, then swap in a
pk_live_key and create the live webhook. Test and live webhooks are separate.
Check the key on every MCP request
A remote MCP server checks the key itself, on every request. The AI app sends the key in an Authorization: Bearer header, which most MCP clients let a user add to a remote server's config. Your server hashes the key, looks it up, and refuses the call when the key is missing or revoked. Pocketsflow is not in this path, so a slow webhook never blocks a tool call. OAuth is optional: a paid key is the simplest start for a small MCP server.
Sell a local MCP server with a Pocketsflow license key
A local MCP server runs on the buyer's machine, so it cannot hold a secret. Pocketsflow license keys fit this case. Turn on License keys on a one-time product and every sale gets a key such as 7KQ2M-X9D4R-T3VWB-8HNPC, shown in the receipt and in the order.completed webhook. The buyer puts it in an environment variable in the MCP config, a common pattern for local MCP servers. Your server calls POST /licenses/activate once and POST /licenses/validate on start, with the product id and the key and no API key. A refunded or disputed order's key stops validating on its own.
License keys on one-time products work on every Pocketsflow plan. For a subscription, Pocketsflow can issue each subscriber a key whose activation limit follows their seats and which stops validating when the subscription ends; seats are part of the Pro plan.
Bill per tool call with Pocketsflow usage pricing
Pocketsflow usage pricing adds a meter, such as tool_calls, to the subscription. You set the included calls, a price per package of calls, and per unit, graduated or volume pricing. Your server counts calls per subscriber and sends them with POST /subscriptions/{id}/usage, where the id is the subscriptionCustomer.id from the webhook. Send an idempotency key so a retry is counted once, and batch: Pocketsflow accepts 300 reports a minute per subscriber, and one report of 500 calls counts the same as 500 reports of one. At the end of the period, Pocketsflow charges the overage once to the card on file and sends usage.period_closed. Usage pricing needs the Pro plan, $119 a month as of November 2026. The tiers are explained in usage-based billing for SaaS.
What one MCP subscriber earns you on Pocketsflow
Selling on Pocketsflow has no monthly fee. Each payment carries the Pocketsflow fee, 4.7% + $0.30 as of November 2026. The chart shows one monthly payment at four example prices for a paid MCP server.
| Point | You keep | Pocketsflow fee |
|---|---|---|
| $9.00/mo | $8.28 | $0.72 |
| $19.00/mo | $17.81 | $1.19 |
| $29.00/mo | $27.34 | $1.66 |
| $49.00/mo | $46.40 | $2.60 |
Source: Pocketsflow pricing (pocketsflow.com/pricing), 4.7% + $0.30 per payment, November 2026. Example prices, before payout fees.
At $19.00 a month, Pocketsflow keeps $1.19 of each payment and you keep $17.81. With 100 subscribers that is $1781.00 a month. The fixed part of the fee weighs more on low prices, so a yearly plan, one payment instead of twelve, keeps more of each dollar.
When Pocketsflow is not the right fit for an MCP server
Pocketsflow does not host your MCP server, list it in a directory, or check keys for a remote server. A marketplace that hosts, authenticates and bills in one place may suit you better if you accept its cut. If you already use Stripe Billing and file sales tax yourself, staying may be simpler. Pocketsflow fits when you run your own server and want checkout, subscriptions and tax handled worldwide without a monthly fee.
Where to go next
Still picking what to build? Read MCP server ideas. Selling a plain HTTP API too? Read how to sell API access. See the endpoints on the Pocketsflow developers page, check the fee on the pricing page, or set up the plan from Claude or Cursor with the Pocketsflow MCP server.