MCP Billing Gateway
Proxy inverso que añade facturación de Stripe y pagos cripto x402 a cualquier servidor MCP
Documentación
MCP Billing Gateway
Agrega suscripciones de Stripe, créditos por llamada y pagos criptográficos x402 a cualquier servidor MCP — sin escribir código de facturación.
MCP Billing Gateway es un proxy de facturación alojado que se sitúa entre los agentes de IA y tu servidor MCP. Gestiona automáticamente la verificación de pagos, el seguimiento de uso y la aplicación de niveles. Registras tu servidor, defines un plan de precios y apuntas a los llamadores a la URL proxy. No se requiere código de facturación.
Servicio en vivo: https://mcp-billing-gateway-production.up.railway.app
Tutorial: Monetiza cualquier servidor MCP en 10 minutos — demostración paso a paso con código funcional
Instalación
pip install mcp-billing-gateway
O con uvx:
uvx mcp-billing-gateway
Configuración para Claude Desktop
Agrega a ~/Library/Application Support/Claude/claude_desktop_config.json (macOS) o %APPDATA%\Claude\claude_desktop_config.json (Windows):
{
"mcpServers": {
"mcp-billing-gateway": {
"command": "uvx",
"args": ["mcp-billing-gateway"]
}
}
}
Configuración para Cursor
Agrega a .cursor/mcp.json en tu proyecto:
{
"mcpServers": {
"mcp-billing-gateway": {
"command": "uvx",
"args": ["mcp-billing-gateway"]
}
}
}
Reinicia tu editor después de agregar la configuración para activar el servidor MCP.
Herramientas
| Herramienta | Descripción |
|---|---|
get_billing_info | Devuelve las capacidades del servicio, métodos de pago admitidos, características y documentación de integración |
El servidor MCP local proporciona descubrimiento de servicios. La funcionalidad completa de facturación se ejecuta en el gateway alojado — regístrate como operador y proxy tus servidores MCP a través de él.
Cómo funciona
AI Agent → MCP Billing Gateway → Your MCP Server
(billing enforced here)
- Regístrate como operador y obtén una clave API
- Registra la URL de tu servidor MCP y tu plan de precios
- Apunta a los llamadores a tu slug proxy:
https://mcp-billing-gateway-production.up.railway.app/proxy/{your-slug}/mcp - Los llamadores pagan mediante clave API de Stripe o USDC x402 — la facturación se maneja de manera transparente
Características
- Facturación por llamada — cobra a los llamadores por cada llamada a la herramienta (fiat o cripto)
- Suscripciones — planes mensuales/anuales de Stripe con límites de llamadas
- Precios por niveles — nivel gratuito + niveles de pago según el uso
- Micropagos x402 — acepta USDC en Base de agentes de IA sin claves API
- Panel del operador — rastrea ingresos, uso y llamadores en tiempo real
- Transporte MCP — transporte MCP HTTP Streamable completo en el endpoint
/mcp/
Inicio rápido
1. Regístrate como operador
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"}'
Respuesta:
{
"operator_id": "op_abc123",
"api_key": "bg_live_xxxxxxxxxxxx",
"message": "Operator registered successfully"
}
2. Registra tu servidor MCP
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. Crea un plan de precios
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. Conecta llamadores a tu servidor proxy
{
"mcpServers": {
"my-server": {
"url": "https://mcp-billing-gateway-production.up.railway.app/proxy/my-server/mcp",
"headers": {
"Authorization": "Bearer CALLER_API_KEY"
}
}
}
}
Métodos de pago
| Método | Mejor para | Cómo |
|---|---|---|
| Suscripción Stripe | Desarrolladores humanos | Plan mensual o anual mediante Stripe Checkout |
| Stripe por llamada | Desarrolladores humanos | Créditos consumidos por cada llamada a herramienta |
| Micropagos x402 | Agentes de IA | USDC en Base, sin claves API necesarias |
Ejemplos
Verificar capacidades del gateway
# 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"
# }
Registrar y monetizar un servidor MCP existente
# 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
Panel del operador
Accede a tu panel en:
https://mcp-billing-gateway-production.up.railway.app/dashboard
Rastrea ingresos, uso, llamadores activos y configura tus servidores en tiempo real.
Referencia de API
Endpoints del operador
| Endpoint | Método | Descripción |
|---|---|---|
/api/v1/operator/register | POST | Crear cuenta de operador |
/api/v1/operator/profile | GET | Ver perfil y claves API |
/api/v1/operator/stats | GET | Estadísticas de ingresos y uso |
Gestión de servidores
| Endpoint | Método | Descripción |
|---|---|---|
/api/v1/servers | POST | Registrar un servidor MCP |
/api/v1/servers | GET | Listar tus servidores |
/api/v1/servers/{id}/plans | POST | Crear plan de precios |
Proxy
| Endpoint | Método | Descripción |
|---|---|---|
/proxy/{slug}/* | ANY | Llamadas proxy con aplicación de facturación |
/mcp/ | ANY | Transporte MCP HTTP Streamable |
Arquitectura
┌─────────────┐ ┌──────────────────────┐ ┌──────────────────┐
│ 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
El gateway es un proxy transparente. Los llamadores interactúan con tu servidor MCP normalmente — el gateway intercepta las solicitudes, verifica el pago, rastrea el uso y reenvía a tu servidor ascendente.
Autohospedado
El gateway está abierto para uso en la URL alojada anterior. Para implementaciones autohospedadas, clona el repositorio del servidor e implementa mediante Docker:
docker build -t mcp-billing-gateway .
docker run -p 3000:3000 mcp-billing-gateway