mcpField
M
MCP Pay Server

MCP Pay Server

ローカル
github.com/nexiansOrg金融データ079 週間前に更新

MCP Pay Server について

MCP Pay Server は、ツール呼び出しに課金するサービス運営者向けの単独型 MCP サーバーです。Base 上の USDC による前払い残高を、署名検証や残高確認、差し引きで管理します。

主な機能

  1. 01HTTP+SSE による双方向通信
  2. 02MCP ツール、リソース、プロンプトの公開
  3. 03Base 上の USDC 入金
  4. 04署名検証と有料残高の差し引き
  5. 05ウォレット残高の確認

活用シーン

  1. 01MCP ツールへの呼び出し単価の設定
  2. 02クライアントによる USDC 残高の事前入金
  3. 03有料ツール実行前の残高確認
  4. 04支払いウォレットの残高確認

MCP 対応

HTTP+SSE 経由で、MCP クライアントにツール、リソース、プロンプトを公開します。クライアントは決済機能の取得、入金情報リソースの参照、残高確認ツールの利用ができます。

設定

ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。

インストール方法は未掲載です

このサーバーのパッケージやリモートエンドポイントはまだ取得できていません。プロジェクトの README の手順に従ってください。

リポジトリ

ツール

ツール一覧はまだ取得されていません

ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。

詳細

MCP Pay Server

HTTP+SSE トランスポートを使用した Model Context Protocol(MCP)サーバーのスタンドアロン実装で、基本的な前払いクレジットシステムを備えています。

機能

  • MCP のツール、リソース、プロンプトを公開します
  • 双方向通信に HTTP+SSE をサポートします
  • Base(または Base Sepolia)での USDC 入金を使用したシンプルな決済レイヤーを実装しています
  • Express、TypeScript、Viem、Zod で構築されています

セットアップ

  1. 依存関係をインストールします:

    npm install
    
  2. 環境変数を設定します: ルートディレクトリ(mcp-pay-server/.env)に次の内容の .env ファイルを作成します。

    # 必須:サーバーが USDC 入金を監視するウォレットの公開アドレス
    SERVER_DEPOSIT_ADDRESS=0xYourServerWalletPublicAddress
    
    # 任意:Base または Base Sepolia の RPC URL(デフォルト値が設定されています)
    # BASE_RPC_URL=https://your-base-rpc-url
    
    # 任意:サーバーのポート(デフォルトは 3000)
    # PORT=3001
    
    • SERVER_DEPOSIT_ADDRESS:サーバーが入金を監視する 0x... 形式の公開アドレスです。
    • BASE_RPC_URL:Base ブロックチェーン(メインネットまたは Sepolia)との通信に使用する RPC エンドポイントです。
    • PORT:HTTP サーバーがリッスンするポートです。

使用方法

サーバーを起動します:

npm start

これにより MCP サーバーが起動し、設定された SERVER_DEPOSIT_ADDRESS への USDC 入金の監視が開始されます。

決済システムの概要

このサーバーでは、暗号署名によって検証される前払いクレジットシステムを使用します。クライアントは接続後、決済機能を個別に取得します。

  1. 接続: クライアントがサーバーに接続します。
  2. 機能の取得: クライアントが payments/getCapabilities メソッドを呼び出し、次の情報を受け取ります。
    • 入金情報を提供するリソースの URI(例:mcp-pay://server/payment/info)。
    • 残高確認に使用するツールの名前(例:payments_getBalance)。
    • 支払いが必要なツールと、それぞれの費用の一覧(文字列形式)。
  3. 入金情報: クライアントは入金情報リソース(URI は機能情報から取得)を読み取り、サーバーの USDC 入金アドレスを確認します。
  4. クレジット: クライアントは(設定されたネットワーク上で)入金アドレスに USDC を送金します。サーバーはこのアドレスを監視し、送金者のアカウントにクレジットを付与します。
  5. 有料ツールの使用: クライアントが機能情報で有料として指定されたツールを呼び出す場合:
    • params.arguments に __payer(クライアントの 0x... 形式のアドレス)と __signature(正規化されたリクエストの ECDSA 署名)を含める必要があります。
    • サーバーの中央ミドルウェアが署名を検証し、ツールのロジックを実行する前に、支払者の残高がツールの費用を満たしているか確認します。
    • 検証に成功するとツールが実行されます。ツールの実行が成功した場合、支払者の残高から費用が差し引かれます。
  6. 残高の確認: クライアントは残高確認ツール(名前は機能情報から取得)を使用し、引数として payerAddress を渡します。このツールに署名は不要です。

利用可能なエンドポイント

  • POST /mcp - クライアントからサーバーへのリクエストに使用します(mcp-session-id ヘッダーが必要です)。一般的な MCP メソッドと payments/getCapabilities を処理します。
  • GET /mcp - SSE(Server-Sent Events)ストリームに使用します(mcp-session-id ヘッダーが必要です)。

決済機能(payments/getCapabilities で公開)

  • 入金情報リソース URI: mcp-pay://server/payment/info(デフォルト)
  • 残高確認ツール: payments_getBalance(デフォルト)
  • 有料ツール(例):
    • greet:0.05 USDC(デフォルト)
    • (その他も設定できます)

利用可能なツール

  • greet:シンプルな挨拶ツール(デフォルトで支払いが必要です)。
  • payments_getBalance:呼び出し元のウォレットのクレジット残高を返します(無料)。

利用可能なリソース

  • mcp-pay://server/payment/info:サーバーの入金アドレスを返します。

開発

TypeScript コードをビルドします:

npm run build

コメント

MCP は初めてですか?

プロトコルの概要から最初のサーバーの導入まで、よくある疑問にまとめて答えます。

AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。