Version History, Rollbacks, and Monthly Subscriptions for MCP Servers
Today we're shipping two features that make Universal API a more serious home for production MCP servers: resource versioning with rollback and version pinning, and author monthly subscriptions with free trials.
Resource Versioning: Never Lose a Working Build
Every time you update an MCP server's source code, Universal API now writes an immutable version snapshot. Your history is append-only — nothing is ever overwritten or deleted.
What you get
- Full version history — every source change is captured with timestamp, author, size, extracted tools/prompts, and an optional change note
- One-click rollback — restore any prior version instantly
- Runtime version pinning — pin AI clients to a specific version with a query parameter
Browsing history
curl -s https://api.universalapi.co/mcp-admin/{serverId}/versions \
-H "Authorization: Bearer YOUR_TOKEN" | jq{
"data": {
"serverId": "mcp-xxx",
"latestVersion": 3,
"versions": [
{"version": 3, "changeNote": "Rollback to version 1", "rollbackOf": 1, "tools": ["echo"]},
{"version": 2, "changeNote": "Add reverse tool", "tools": ["echo", "reverse"]},
{"version": 1, "changeNote": "Initial version", "tools": ["echo"]}
]
}
}Pass a changeNote on any update to annotate the new version:
curl -s -X PUT https://api.universalapi.co/mcp-admin/update \
-H "Authorization: Bearer YOUR_TOKEN" \
-H "Content-Type: application/json" \
-d '{"serverId": "mcp-xxx", "sourceCode": "...", "changeNote": "Fix timeout bug"}'Rollback (append-only)
Rolling back never rewrites history. Instead, it creates a new version whose source is a copy of the target — so you can always roll forward again:
curl -s -X POST https://api.universalapi.co/mcp-admin/{serverId}/rollback \
-H "Authorization: Bearer YOUR_TOKEN" \
-H "Content-Type: application/json" \
-d '{"targetVersion": 1}'Version pinning
This is the big one for production users. If your agents or workflows depend on a specific server behavior, pin them to a version by appending ?v=N to the MCP endpoint URL:
https://mcp.api.universalapi.co/mcp/s/snowtimber/serpapi?v=3Pinned clients keep executing version 3's source even as the author ships v4, v5, v6. Upgrade on your schedule, not theirs.
The Versions tab on every MCP server's detail page shows the full history, lets owners roll back, and gives everyone a copy-ready pinned URL for any version.
Author Subscriptions: Predictable Monetization
Until now, authors could only charge per invocation. Today we're adding monthly subscription pricing — set a flat monthly price for your MCP server and let users subscribe through Stripe.
For authors
Add subscription pricing to your server's authorPricing:
curl -s -X PUT https://api.universalapi.co/mcp-admin/update \
-H "Authorization: Bearer YOUR_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"serverId": "mcp-xxx",
"authorPricing": {
"subscriptionPriceUsdMonthly": 9.99,
"freeTrialQuota": 25
}
}'subscriptionPriceUsdMonthly— your monthly price ($0.50 minimum, the Stripe charge floor)freeTrialQuota— optional free invocations before payment is required
You can also configure this visually from the Author Dashboard. Payments flow directly to your Stripe Connect account via destination charges, with Universal API's standard 20% application fee.
For consumers
- Try first — if the author set a
freeTrialQuota, your first N invocations skip author fees entirely. A trial badge on the resource page shows your remaining quota. - Subscribe — hit the Subscribe button (or
POST /resources/{resourceId}/subscribe) and complete Stripe Checkout. - Use freely — while your subscription is active, the author's per-invocation fees are waived. You only pay standard infrastructure credits.
- Cancel anytime — cancellation takes effect at the end of the billing period.
# Check your subscription + trial state
curl -s https://api.universalapi.co/resources/{resourceId}/subscription \
-H "Authorization: Bearer YOUR_TOKEN" | jq
# Cancel at period end
curl -s -X POST https://api.universalapi.co/resources/{resourceId}/subscription/cancel \
-H "Authorization: Bearer YOUR_TOKEN" | jqWhy these two together?
Versioning and subscriptions solve the same underlying problem: trust. Subscribers need confidence that the thing they're paying for monthly won't break underneath them — version pinning guarantees it. Authors need confidence they can iterate without fear — rollback guarantees that.
Both features are live now for every MCP server on the platform. Read the full details in the MCP Server API Reference and Pricing docs.