pypi mcp-billing-gatewaystreamable-httpMITupdated 20d ago
Add Stripe subscriptions, per-call credits, and x402 crypto payments to any MCP server — without writing billing code.
¿Qué puedes hacer con MCP Billing Gateway?
MCP Billing Gateway
Add Stripe subscriptions, per-call credits, and x402 crypto payments to any MCP server — without writing billing code.
MCP Billing Gateway is a hosted billing proxy that sits between AI agents and your MCP server. It handles payment verification, usage tracking, and tier enforcement automatically. You register your server, set a pricing plan, and point callers to the proxied URL. No billing code required.
Live service: https://mcp-billing-gateway-production.up.railway.app
Tutorial: Monetize any MCP server in 10 minutes — step-by-step demo with working code
Installation
pip install mcp-billing-gateway
Or with uvx:
uvx mcp-billing-gateway
Configuration for Claude Desktop
Add to ~/Library/Application Support/Claude/claude_desktop_config.json (macOS) or %APPDATA%\Claude\claude_desktop_config.json (Windows):
{
"mcpServers": {
"mcp-billing-gateway": {
"command": "uvx",
"args": ["mcp-billing-gateway"]
}
}
}
Configuration for Cursor
Add to .cursor/mcp.json in your project:
{
"mcpServers": {
"mcp-billing-gateway": {
"command": "uvx",
"args": ["mcp-billing-gateway"]
}
}
}
Restart your editor after adding the configuration to activate the MCP server.
Tools
| Tool | Description |
|---|---|
get_billing_info |
Returns service capabilities, supported payment methods, features, and integration docs |
The local MCP server provides service discovery. The full billing functionality runs on the hosted gateway — register as an operator and proxy your MCP servers through it.
How it works
AI Agent → MCP Billing Gateway → Your MCP Server
(billing enforced here)
- Register as an operator and get an API key
- Register your MCP server URL + pricing plan
- Point callers to your proxy slug:
https://mcp-billing-gateway-production.up.railway.app/proxy/{your-slug}/mcp - Callers pay via Stripe API key or x402 USDC — billing is handled transparently
Features
- Per-call billing — charge callers per tool call (fiat or crypto)
- Subscriptions — monthly/annual Stripe plans with call limits
- Tiered pricing — free tier + paid tiers based on usage
- x402 micropayments — accept USDC on Base from AI agents with no API keys
- Operator dashboard — track revenue, usage, and callers in real time
- MCP transport — full Streamable HTTP MCP transport at
/mcp/endpoint
Quick Start
1. Register as operator
curl -X POST https://mcp-billing-gateway-production.up.railway.app/api/v1/operator/register \
-H "Content-Type: application/json" \
-d '{"email": "you@example.com", "name": "Your Name"}'
Response:
{
"operator_id": "op_abc123",
"api_key": "bg_live_xxxxxxxxxxxx",
"message": "Operator registered successfully"
}
2. Register your MCP server
curl -X POST https://mcp-billing-gateway-production.up.railway.app/api/v1/servers \
-H "Authorization: Bearer bg_live_xxxxxxxxxxxx" \
-H "Content-Type: application/json" \
-d '{
"name": "My MCP Server",
"upstream_url": "https://your-mcp-server.com/mcp",
"proxy_slug": "my-server"
}'
3. Create a pricing plan
curl -X POST https://mcp-billing-gateway-production.up.railway.app/api/v1/servers/{server_id}/plans \
-H "Authorization: Bearer bg_live_xxxxxxxxxxxx" \
-H "Content-Type: application/json" \
-d '{
"name": "Pay as you go",
"billing_model": "per_call",
"price_per_call_usd_micro": 10000,
"free_calls_per_month": 100
}'
4. Connect callers to your proxied server
{
"mcpServers": {
"my-server": {
"url": "https://mcp-billing-gateway-production.up.railway.app/proxy/my-server/mcp",
"headers": {
"Authorization": "Bearer CALLER_API_KEY"
}
}
}
}
Payment Methods
| Method | Best for | How |
|---|---|---|
| Stripe subscription | Human developers | Monthly or annual plan via Stripe Checkout |
| Stripe per-call | Human developers | Credits consumed per tool call |
| x402 micropayments | AI agents | USDC on Base, no API keys needed |
Examples
Check gateway capabilities
# Using the MCP client
result = await session.call_tool("get_billing_info")
print(result)
# {
# "service": "MCP Billing Gateway",
# "version": "0.1.0",
# "payment_methods": ["stripe_subscription", "stripe_metered", "x402_crypto"],
# "features": ["Per-call usage tracking", "Tiered pricing", ...],
# "live_service": "https://mcp-billing-gateway-production.up.railway.app"
# }
Register and monetize an existing MCP server
# 1. Register
API_KEY=$(curl -s -X POST .../api/v1/operator/register \
-H "Content-Type: application/json" \
-d '{"email": "dev@example.com", "name": "Dev"}' | jq -r .api_key)
# 2. Add your server
SERVER_ID=$(curl -s -X POST .../api/v1/servers \
-H "Authorization: Bearer $API_KEY" \
-H "Content-Type: application/json" \
-d '{"name": "my-tool", "upstream_url": "https://my-tool.com/mcp", "proxy_slug": "my-tool"}' \
| jq -r .server_id)
# 3. Set pricing: $0.01 per call, 100 free calls/month
curl -X POST .../api/v1/servers/$SERVER_ID/plans \
-H "Authorization: Bearer $API_KEY" \
-H "Content-Type: application/json" \
-d '{"name": "Starter", "billing_model": "per_call", "price_per_call_usd_micro": 10000, "free_calls_per_month": 100}'
# Callers now connect via: .../proxy/my-tool/mcp
Operator Dashboard
Access your dashboard at:
https://mcp-billing-gateway-production.up.railway.app/dashboard
Track revenue, usage, active callers, and configure your servers in real time.
API Reference
Operator endpoints
| Endpoint | Method | Description |
|---|---|---|
/api/v1/operator/register |
POST | Create operator account |
/api/v1/operator/profile |
GET | View profile and API keys |
/api/v1/operator/stats |
GET | Revenue and usage stats |
Server management
| Endpoint | Method | Description |
|---|---|---|
/api/v1/servers |
POST | Register an MCP server |
/api/v1/servers |
GET | List your servers |
/api/v1/servers/{id}/plans |
POST | Create pricing plan |
Proxy
| Endpoint | Method | Description |
|---|---|---|
/proxy/{slug}/* |
ANY | Proxied calls with billing enforcement |
/mcp/ |
ANY | Streamable HTTP MCP transport |
Architecture
┌─────────────┐ ┌──────────────────────┐ ┌──────────────────┐
│ AI Agent / │────▶│ MCP Billing Gateway │────▶│ Your MCP Server │
│ MCP Client │◀────│ (hosted on Railway) │◀────│ (upstream) │
└─────────────┘ └──────────────────────┘ └──────────────────┘
│
├── Payment verification (Stripe / x402)
├── Usage tracking & rate limiting
├── Tier enforcement
└── Operator dashboard
The gateway is a transparent proxy. Callers interact with your MCP server normally — the gateway intercepts requests, verifies payment, tracks usage, and forwards to your upstream server.
Self-hosted
The gateway is open for use at the hosted URL above. For self-hosted deployments, clone the server repository and deploy via Docker:
docker build -t mcp-billing-gateway .
docker run -p 3000:3000 mcp-billing-gateway
License
Instalación
Añade MCP Billing Gateway a tu cliente. Elige el que uses.
{
"servers": {
"mcp-billing-gateway": {
"type": "http",
"url": "https://mcp-billing-gateway-production.up.railway.app/mcp/"
}
}
}Add to `.vscode/mcp.json` in your workspace.
claude mcp add mcp-billing-gateway -- uvx mcp-billing-gatewaycodex mcp add mcp-billing-gateway -- uvx mcp-billing-gatewayamp mcp add mcp-billing-gateway -- uvx mcp-billing-gateway{
"mcpServers": {
"mcp-billing-gateway": {
"command": "uvx",
"args": [
"mcp-billing-gateway"
]
}
}
}Add to `claude_desktop_config.json`, then restart Claude Desktop.
{
"mcpServers": {
"mcp-billing-gateway": {
"command": "uvx",
"args": [
"mcp-billing-gateway"
]
}
}
}Add to `~/.cursor/mcp.json`, or `.cursor/mcp.json` for a single project.
{
"mcpServers": {
"mcp-billing-gateway": {
"command": "uvx",
"args": [
"mcp-billing-gateway"
]
}
}
}Add to `~/.codeium/windsurf/mcp_config.json`.
{
"mcpServers": {
"mcp-billing-gateway": {
"command": "uvx",
"args": [
"mcp-billing-gateway"
]
}
}
}Add to `cline_mcp_settings.json` via the MCP Servers panel.
{
"mcpServers": {
"mcp-billing-gateway": {
"command": "uvx",
"args": [
"mcp-billing-gateway"
]
}
}
}Add to `~/.gemini/settings.json`.
{
"mcpServers": {
"mcp-billing-gateway": {
"type": "local",
"command": "uvx",
"args": [
"mcp-billing-gateway"
],
"tools": [
"*"
]
}
}
}Add to `~/.copilot/mcp-config.json`, or run `/mcp add` inside the CLI.
{
"context_servers": {
"mcp-billing-gateway": {
"command": {
"path": "uvx",
"args": [
"mcp-billing-gateway"
]
}
}
}
}Add to your Zed `settings.json`.
uvx mcp-billing-gatewayRun `goose configure`, choose **Add Extension → Command-line Extension**, and paste this command.
1 herramienta
MCP Billing Gateway expone una herramienta a un agente conectado.
- get_billing_info
- Returns service capabilities, supported payment methods, features, and integration docs
Puntuación
82 / 100
Excelente
- Documentación25/25
- Mantenimiento25/25
- Confianza13/20
- Capacidad4/15
- Instalación15/15
- Documents what it does and how to connect
- Has a resolvable package or endpoint
- Exposes at least one tool, prompt or resource
- README has substantive content
- Includes a code example
- Documents its configuration
- Mentions credentials or security posture
- Last commit 12 days ago
- Has a release history
- Repository is not archived
- Licensed MIT
- Namespace verified in the official MCP registry
- Claimed by its owner
- Published under an organisation
- 1 tool(s) documented
- Provides prompt templates
- Provides resources
- 18 documented install method(s)
- Published to a package registry
- Offers a hosted endpoint — no local install
Historial de versiones
| Versiones | Publicada |
|---|---|
| 0.1.3Última | 19 ago 2026 |
| 0.1.2 | 12 abr 2026 |
| 0.1.1 | 11 abr 2026 |