Appearance
Monetization: Author Guide
Publish an MCP server or agent on Universal API and get paid every time someone uses it. This guide walks through the full author journey: connecting Stripe, choosing a pricing model, offering free trials, and receiving payouts.
How It Works
- Build & publish — create an MCP server or agent and set its visibility to
public - Connect Stripe — complete Stripe Connect Express onboarding from the Author Dashboard
- Set your pricing — per-invocation fees, a monthly subscription, or both
- Get paid — subscription revenue flows directly to your Stripe account; per-invocation earnings are paid out monthly
Universal API takes a 20% platform fee; you keep 80%.
Step 1: Connect Stripe
Before you can earn, connect a Stripe account from the Author Dashboard (universalapi.co → Author Dashboard → Connect Stripe), or via API:
bash
curl -X POST https://api.universalapi.co/author/stripe/connect \
-H "Authorization: Bearer uapi_ut_YOUR_TOKEN"This returns a Stripe Connect Express onboarding URL. Complete the flow (identity, bank account), then verify:
bash
curl https://api.universalapi.co/author/stripe/status \
-H "Authorization: Bearer uapi_ut_YOUR_TOKEN"You're ready when chargesEnabled and payoutsEnabled are both true.
Step 2: Choose a Pricing Model
Pricing is configured per resource via the authorPricing object (set it in the Author Dashboard or when creating/updating the resource).
Per-Invocation Pricing
Charge a small fee every time a consumer calls one of your tools:
json
{
"authorPricing": {
"perInvocationUsd": 0.01
}
}Consumers pay your fee (converted to credits) on top of the platform's infrastructure credits for each tool call. Good for: utility servers with sporadic usage, expensive backend operations.
Monthly Subscriptions
Offer unlimited access to your resource for a flat monthly price:
json
{
"authorPricing": {
"subscriptionPriceUsdMonthly": 9.99
}
}- Minimum price: $0.50/month
- Active subscribers skip your per-invocation fees entirely (platform infrastructure credits still apply)
- Payment is a Stripe destination charge straight to your Connect account, with the 20% platform fee deducted automatically
- Subscriptions renew monthly; consumers can cancel anytime (access continues until period end)
Good for: heavy-usage tools where per-invocation pricing would add up, predictable recurring revenue.
Free Trials
Let consumers try before they buy by setting a trial quota alongside your subscription price:
json
{
"authorPricing": {
"subscriptionPriceUsdMonthly": 9.99,
"freeTrialQuota": 25
}
}Consumers get 25 free invocations (author fees waived) before being prompted to subscribe. Trial usage is tracked per consumer per resource.
Combining Models
You can set both — per-invocation pricing for casual users, with a subscription as the better deal for regulars:
json
{
"authorPricing": {
"perInvocationUsd": 0.02,
"subscriptionPriceUsdMonthly": 14.99,
"freeTrialQuota": 10
}
}What Consumers See
On your resource's detail page (e.g. universalapi.co/mcp-servers/{you}/{server}), consumers see:
- Your pricing (per-invocation and/or monthly subscription)
- A Subscribe button (Stripe Checkout) if you offer a subscription
- A free-trial badge with remaining trial invocations
- Their current subscription status
Step 3: Track Earnings
The Author Dashboard shows invocation counts, revenue, platform fees, and your payout per resource and per month. Via API:
bash
# Earnings breakdown (optionally filter by period)
curl 'https://api.universalapi.co/author/earnings?period=2026-06' \
-H "Authorization: Bearer uapi_ut_YOUR_TOKEN"
# All your resources with usage metrics
curl https://api.universalapi.co/author/resources \
-H "Authorization: Bearer uapi_ut_YOUR_TOKEN"Open your Stripe Express Dashboard anytime for payout details:
bash
curl https://api.universalapi.co/author/stripe/dashboard \
-H "Authorization: Bearer uapi_ut_YOUR_TOKEN"Payouts
| Revenue Type | How You're Paid |
|---|---|
| Monthly subscriptions | Stripe destination charge — funds land in your Connect account on each renewal, minus the 20% platform fee |
| Per-invocation fees | Accumulated and paid out monthly to your Connect account |
Tips for Earning More
- Write a great description — resources are discovered via semantic search; clear descriptions of what your tools do drive discovery
- Include your own API keys (via role tokens) so consumers get a zero-setup experience — "keys-included" servers convert better
- Use version pinning (versioning docs) so production consumers can pin a stable version while you iterate
- Offer a free trial — lowering the barrier to first use is the biggest conversion lever
- Keep it reliable — invocation metrics and error rates are visible; a flaky server loses subscribers
Consumer-Side API
For completeness, the endpoints consumers use to subscribe to your resource:
| Endpoint | Description |
|---|---|
POST /resources/{resourceId}/subscribe | Start Stripe Checkout for the monthly plan |
GET /resources/{resourceId}/subscription | Get subscription + trial state |
POST /resources/{resourceId}/subscription/cancel | Cancel at period end |
See Also
- Pricing & Credits — how the platform credit system works
- Creating MCP Servers — build something worth paying for
- MCP Server Versioning — version history, rollback, pinning