Skip to main content
Glama
sapph1re

MCP Billing Gateway SDK

by sapph1re

MCP Billing Gateway

Glama MCP Server

Stripeサブスクリプション、コールごとのクレジット課金、x402暗号資産決済を、課金コードを書くことなくあらゆるMCPサーバーに追加できます。

MCP Billing Gatewayは、AIエージェントとMCPサーバーの間に配置されるホスト型課金プロキシです。支払い検証、利用状況の追跡、プラン制限の適用を自動的に処理します。サーバーを登録し、料金プランを設定して、呼び出し元をプロキシURLに向けるだけです。課金コードは不要です。

ライブサービス: https://mcp-billing-gateway-production.up.railway.app

インストール

pip install mcp-billing-gateway

または uvx を使用する場合:

uvx mcp-billing-gateway

Claude Desktopの設定

~/Library/Application Support/Claude/claude_desktop_config.json (macOS) または %APPDATA%\Claude\claude_desktop_config.json (Windows) に追加します:

{
  "mcpServers": {
    "mcp-billing-gateway": {
      "command": "uvx",
      "args": ["mcp-billing-gateway"]
    }
  }
}

Cursorの設定

プロジェクト内の .cursor/mcp.json に追加します:

{
  "mcpServers": {
    "mcp-billing-gateway": {
      "command": "uvx",
      "args": ["mcp-billing-gateway"]
    }
  }
}

設定を追加した後、エディタを再起動してMCPサーバーを有効にしてください。

Related MCP server: Agent Bazaar

ツール

ツール

説明

get_billing_info

サービスの機能、サポートされている支払い方法、機能、統合ドキュメントを返します

ローカルのMCPサーバーはサービスディスカバリを提供します。完全な課金機能はホスト型ゲートウェイ上で実行されます。オペレーターとして登録し、MCPサーバーをプロキシ経由で運用してください。

仕組み

AI Agent → MCP Billing Gateway → Your MCP Server
            (billing enforced here)
  1. オペレーターとして登録し、APIキーを取得する

  2. MCPサーバーのURLと料金プランを登録する

  3. 呼び出し元をプロキシスラッグに向ける: https://mcp-billing-gateway-production.up.railway.app/proxy/{your-slug}/mcp

  4. 呼び出し元はStripe APIキーまたはx402 USDCで支払う — 課金は透過的に処理されます

機能

  • コールごとの課金 — ツール呼び出しごとに課金(法定通貨または暗号資産)

  • サブスクリプション — コール制限付きの月額/年額Stripeプラン

  • 段階的価格設定 — 無料プラン + 利用状況に応じた有料プラン

  • x402マイクロペイメント — APIキーなしでAIエージェントからBase上のUSDCを受け入れ可能

  • オペレーターダッシュボード — 収益、利用状況、呼び出し元をリアルタイムで追跡

  • MCPトランスポート — /mcp/ エンドポイントでの完全なStreamable HTTP MCPトランスポート

クイックスタート

1. オペレーターとして登録

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"}'

レスポンス:

{
  "operator_id": "op_abc123",
  "api_key": "bg_live_xxxxxxxxxxxx",
  "message": "Operator registered successfully"
}

2. 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. 料金プランを作成

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. 呼び出し元をプロキシサーバーに接続

{
  "mcpServers": {
    "my-server": {
      "url": "https://mcp-billing-gateway-production.up.railway.app/proxy/my-server/mcp",
      "headers": {
        "Authorization": "Bearer CALLER_API_KEY"
      }
    }
  }
}

支払い方法

方法

最適な用途

方法

Stripeサブスクリプション

人間の開発者

Stripe Checkout経由の月額または年額プラン

Stripeコールごと課金

人間の開発者

ツール呼び出しごとにクレジットを消費

x402マイクロペイメント

AIエージェント

Base上のUSDC、APIキー不要

例

ゲートウェイ機能の確認

# 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"
# }

既存のMCPサーバーの登録と収益化

# 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

オペレーターダッシュボード

ダッシュボードへのアクセス:

https://mcp-billing-gateway-production.up.railway.app/dashboard

収益、利用状況、アクティブな呼び出し元を追跡し、サーバーをリアルタイムで設定します。

APIリファレンス

オペレーターエンドポイント

エンドポイント

メソッド

説明

/api/v1/operator/register

POST

オペレーターアカウントの作成

/api/v1/operator/profile

GET

プロフィールとAPIキーの表示

/api/v1/operator/stats

GET

収益と利用統計

サーバー管理

エンドポイント

メソッド

説明

/api/v1/servers

POST

MCPサーバーの登録

/api/v1/servers

GET

サーバー一覧の取得

/api/v1/servers/{id}/plans

POST

料金プランの作成

プロキシ

エンドポイント

メソッド

説明

/proxy/{slug}/*

ANY

課金制限付きのプロキシ呼び出し

/mcp/

ANY

Streamable HTTP MCPトランスポート

アーキテクチャ

┌─────────────┐     ┌──────────────────────┐     ┌──────────────────┐
│  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

ゲートウェイは透過的なプロキシです。呼び出し元は通常通りMCPサーバーとやり取りします。ゲートウェイがリクエストをインターセプトし、支払いを検証し、利用状況を追跡して、アップストリームのサーバーに転送します。

セルフホスト

ゲートウェイは上記のホスト型URLで利用可能です。セルフホスト環境の場合は、サーバーリポジトリをクローンし、Docker経由でデプロイしてください:

docker build -t mcp-billing-gateway .
docker run -p 3000:3000 mcp-billing-gateway

ライセンス

MIT

Available Tools

1 tool
get_billing_infoBInspect

Get information about the MCP Billing Gateway service and integration options.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

B3.2/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries the full burden of behavioral disclosure. It states the tool retrieves information, implying a read-only operation, but fails to detail aspects like authentication needs, rate limits, response format, or error handling. This leaves significant gaps in understanding how the tool behaves.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, efficient sentence that directly states the tool's function without unnecessary words. It is front-loaded with the core action and resource, making it easy to parse and understand quickly.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool has zero parameters, 100% schema coverage, and an output schema exists, the description's focus on purpose is adequate. However, it lacks behavioral details (e.g., response structure, error cases) that could enhance completeness, especially since no annotations are provided to fill those gaps.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The tool has zero parameters, and the input schema coverage is 100%, so no parameter documentation is needed. The description appropriately does not discuss parameters, focusing instead on the tool's purpose, which aligns with the baseline expectation for parameterless tools.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the action ('Get information') and target resource ('MCP Billing Gateway service and integration options'), making the purpose understandable. It lacks sibling tools for differentiation, but the scope is well-defined. No tautology or misleading elements are present.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance is provided on when to use this tool, such as for setup, troubleshooting, or comparison with other services. The description implies usage for general information retrieval but offers no context, alternatives, or exclusions, leaving the agent without operational direction.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

  1. 1 tool updatev0.1.2
    • First observedget_billing_info

TDQS

B3.2/5.0

Scored across 1 tool

Disambiguation5/5

With only one tool, there is no possibility of ambiguity or overlap between tools, as there are no other tools to confuse it with. The tool's purpose is clearly defined as retrieving billing information, making disambiguation trivial.

Naming Consistency5/5

The single tool name 'get_billing_info' follows a clear verb_noun pattern (get + billing_info), which is consistent with itself. Since there are no other tools, there is no inconsistency to evaluate, and the naming is straightforward.

Tool Count2/5

A single tool is too few for a server named 'MCP Billing Gateway SDK', which suggests a broader scope for managing billing operations. This minimal set likely leaves significant gaps in functionality, such as creating, updating, or deleting billing data, making it inappropriate for comprehensive billing tasks.

Completeness1/5

The tool set is severely incomplete for a billing gateway domain, as it only provides a read operation (get_billing_info) without any support for create, update, delete, or other essential billing workflows. This will cause agent failures when attempting to perform full billing lifecycle management.

Maintenance

ActivitySlowing
ResponsivenessUnresponsive

Related MCP Connectors

Related MCP Servers

  • F
    license
    Not graded
    quality
    D
    maintenance
    A comprehensive framework for building and deploying commercial MCP servers with integrated billing, usage metering, and Stripe payment processing. It enables developers to monetize AI tools through a complete ecosystem including API key management, affiliate tracking, and automated deployment scripts.
    -
  • A
    license
    Not graded
    quality
    C
    maintenance
    Per-call billing and metering proxy for MCP tool servers. Providers set pricing via the open MCP Billing Spec (MIT), consumers pay through Stripe Connect with signed receipts and SLA monitoring.
    MIT
  • A
    license
    Not graded
    quality
    C
    maintenance
    Template for creating MCP servers with a server-side paywall gate, enabling free local usage and premium hosted tier with Stripe and x402 payment lanes.
    MIT