inference-mcp について
inference-mcp は、エージェントから inference.bsvkey.com 経由で Claude と Grok を呼び出す MCP サーバーです。トークン単位の課金を BSV または XRP で決済でき、署名付き利用レシートと料金をオフラインで検証できます。
主な機能
- 01Claude と Grok の推論実行
- 02プリペイドチャネルでのトークン課金
- 03BSV または XRP による都度払い
- 04利用レシートと料金の検証
- 05モデル一覧とチャネル残高の確認
活用シーン
- 01エージェントへのオンデマンド推論提供
- 02BSV の事前入金と利用量の追跡
- 03XRP による推論リクエストごとの支払い
- 04チャネル利用量と料金の監査
MCP 対応
MCP サーバーとして、モデル一覧、推論、チャネル残高の確認と開設、BSV または XRP で支払う推論のツールを提供します。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
npx -y @bsvkey/inference-mcpBSVKEY_API_KEYシークレットA funded channel key in the form channelId:channelSecret. Open + fund a channel once at https://inference.bsvkey.com. Optional (can be passed per call).BSVKEY_BASE_URLシークレットGateway base URL. Defaults to https://inference.bsvkey.com/v1; override to point at a self-hosted deployment.BSVKEY_WIFシークレットA funded BSV private key (WIF) used by the x402_infer tool to pay per call in BSV (no channel). Signing is local; the key never leaves the process. Optional (can be passed per call).BSVKEY_FUNDED_SATSシークレットThe amount you funded your channel with on-chain. When set, usage receipts are verified against this instead of the broker-signed fundedSats. Optional (can be passed per call as fundedSats).BSVKEY_RECEIPT_STATEシークレットPath to a JSON file where per-channel receipt continuity (seq + running totals) is persisted, so replays are caught across restarts. Optional; in-memory only if unset.ローカルサーバーにはマシン上の実行環境(Node.js 18 以上など)が必要です。設定ファイルの場所はクライアントごとに異なります。
ツール
6掲載時のツール一覧 · 3 日前に更新
このツールにパラメーターはありません。
詳細
@bsvkey/inference-mcp
ホスト型ゲートウェイ inference.bsvkey.com を通じて、任意のエージェントが トークン単位で従量課金され、BSV で決済される Claude と Grok の推論を購入できる MCP サーバーです。依存関係はありません(Node ≥ 18、グローバルの fetch を使用します)。これは薄い HTTP クライアントです。キーを保持したり、モデルを実行したりすることはなく、すべての呼び出しはゲートウェイ経由で課金されます。
ツール:list_models、infer、channel_balance、open_channel、x402_infer、xrp_infer。
支払い方法は 2 種類です。プリペイドチャネル(infer。一度資金を入金し、トークンごとに残高を引き落とします)か、x402 による呼び出しごとの支払い(x402_infer。チャネルは不要で、エージェントが独自のキーを使って各リクエストを BSV で支払います)です。x402_infer には入金済みの WIF(wif 引数または BSVKEY_WIF)と、オプションの @bsvkey/x402-bsv-client および @bsv/sdk パッケージが必要です(このパッケージと一緒にインストールされます)。
xrp_infer を使うと、XRP で呼び出しごとに支払えます。このツールは XRP で見積もりを取得し(XRP Ledger の XRP/RLUSD 市場価格に基づいて算出)、その金額ちょうどの XRP Payment に署名します。ゲートウェイはブロードキャスト前にそれを確認し、検証を待って(数秒)、回答、決済トランザクション、署名済みレシートを返します。入金済みの XRP シード(xrpSeed 引数または BSVKEY_XRP_SEED。 xrp.bsvkey.com/wallet で作成できます)と、オプションの xrpl パッケージが必要です(このパッケージと一緒にインストールされます。Node 20.19+ または 22.12+ が必要です)。アカウントには使用できない 1 XRP の準備金が残ります。
検証可能な従量課金。 各 infer 呼び出しは署名済みの使用量レシートを返し、オプションのパッケージがインストールされていれば、ツールがオフラインで自動検証します。結果には receiptVerified と meterVerified(true、false と receiptCheck、または null)が含まれます。ブローカーのキーを復元し(GET /v1/receipt-key からピン留め)、レシートを呼び出したチャネルに紐付け(レシートの自己申告ではなく、API キーから取得)、単調増加するシーケンス(リプレイや欠落がないこと)と入金額以内の累計を確認します。公開レートから請求額を再計算するため、過剰請求されることはありません。また、ピン留めされた bsvkey-meter/1 トークナイザーを使い、メッセージと完了出力の正確なバイト列からトークン数を再計算します。これにより、チャネルへの支払いはオンチェーンで行われ、メーターと請求額の両方を監査できるため、ブローカーの言い分を信頼する必要はありません。
無人で動作するクライアントが知っておくべきことは 4 つあります。
- 検証に失敗した場合は閉じます。 ピン留めしたキーのエンドポイントに接続できない場合、
receiptVerifiedはnull(不明)となり、決してtrueにはなりません。ピン留め先がダウンしている場合、検証結果は 信頼済み ではなく 不明 になります。 - 入金額を指定してください。
BSVKEY_FUNDED_SATSを設定するか、fundedSatsを渡して、オンチェーンで入金した額を指定します。レシート自身のfundedSatsはブローカーによる申告です。入金額を指定すると、異なる額を申告するレシートは拒否され、累計は実際に支払った額に照らして検証されます。 - 再起動後も状態を保持してください。 シーケンスの継続性は、デフォルトではメモリ内に保存されます(このプロセスが最初に確認するレシートより前のリプレイは検出できません)。
BSVKEY_RECEIPT_STATEにファイルパスを設定すると、チャネルごとのseqと累計が保持され、再起動後もリプレイを検出できます。 - レシートが台帳です。
GET /v1/channels/:idの残高エンドポイントは、署名済みレシートより約 20 秒遅れることがあります。レシートを信頼し、エンドポイントはキャッシュとして扱ってください。
仕様:https://inference.bsvkey.com/usage-receipts.md
クイックスタート
- https://inference.bsvkey.com でチャネルに一度入金します(BRC-100 ウォレットを使うか、ページ内でキーを読み込みます)。返されたキー
channelId:channelSecretをコピーします。 - そのキーを
BSVKEY_API_KEYに設定して、エージェントホストに MCP サーバーを追加します(以下を参照)。 - エージェントに推論の実行を依頼します。エージェントは
inferを呼び出し、トークンごとに支払います。
list_models と open_channel はキーなしで使用できます。infer と channel_balance には、入金済みチャネルのキーが必要です。
インストール
npm で @bsvkey/inference-mcp として公開されています。
Claude Code
claude mcp add bsvkey-inference \
--env BSVKEY_API_KEY=channelId:channelSecret \
-- npx -y @bsvkey/inference-mcp
Claude Desktop / Codex / 任意の MCP ホスト(JSON 設定)
{
"mcpServers": {
"bsvkey-inference": {
"command": "npx",
"args": ["-y", "@bsvkey/inference-mcp"],
"env": { "BSVKEY_API_KEY": "channelId:channelSecret" }
}
}
}
npm がありませんか? 単一ファイルのサーバー(https://inference.bsvkey.com/mcp/server.js)を直接取得し、"command": "node", "args": ["server.js"] を使用してください。
設定(env)
| 変数 | デフォルト | 意味 |
|---|---|---|
BSVKEY_BASE_URL | https://inference.bsvkey.com/v1 | ゲートウェイのベース URL です(独自に実行する場合は、セルフホスト可能なデプロイ先に設定してください)。 |
BSVKEY_API_KEY | — | 入金済みチャネルの channelId:channelSecret です。省略可能です。呼び出しごとに apiKey として渡すこともできます。 |
BSVKEY_FUNDED_SATS | — | チェーン上でチャネルに入金した金額です。設定すると、ブローカー署名の fundedSats ではなく、この値に基づいてレシートを検証します。省略可能です。呼び出しごとに fundedSats を渡すこともできます。 |
BSVKEY_XRP_SEED | なし | xrp_infer 用の XRP ウォレットシードです。省略可能です。呼び出しごとに xrpSeed として渡すこともできます。このプロセスの外部に送信されることはありません。 |
BSVKEY_RECEIPT_STATE | — | 再起動後もチャネルごとのレシートの連続性(seq と合計値)を保持するための JSON ファイルのパスです。省略可能です。設定しない場合はメモリ内だけに保存されます。 |
エラー
ツール呼び出しが失敗すると、固定形式のテキストとともに isError: true が返されるため、
エージェントは文章を解析せずにコードに基づいて処理を分岐できます。
error: <code> (<http status>): <message> [extra=value, ...]
| コード | ステータス | ツール | 意味 | 対応方法 |
|---|---|---|---|---|
no_channel_key | infer, channel_balance | apiKey も BSVKEY_API_KEY もありません | サイトでチャネルを開いてください(open_channel を参照) | |
invalid_channel | 401 / 404 | infer, channel_balance | チャネルが見つからない、シークレットが間違っている、またはチャネルが閉じられています | 新しいチャネルを開いてください |
insufficient_balance | 402 | infer | この呼び出しの最悪ケースをまかなう残高がチャネルにありません。追加情報には requiredSats と balanceSats が含まれます | サイトで入金するか、maxTokens を下げるか、webSearch をオフにしてください |
invalid_request | 400 | infer, x402_infer | 不明なモデルまたはポリシー、プロバイダーが有効になっていないモデル、または不正な入力です | list_models を呼び出してください |
upstream_failed | 502 | infer | モデルプロバイダーでエラーが発生しました | 料金は請求されません。再試行するか、別のモデルを選択してください |
no_wif | x402_infer | wif も BSVKEY_WIF もありません | 入金済みのキーを渡してください | |
verifier_missing | x402_infer | @bsvkey/x402-bsv-client / @bsv/sdk がインストールされていません | npm i @bsvkey/x402-bsv-client @bsv/sdk | |
payment_failed | 402 | x402_infer | 決済が確定しませんでした(例:キーのアドレスに資金がない)。追加情報には reason が含まれます | アドレスに入金してください。資金は消費されていません |
upstream_failed | 502 | x402_infer | 決済は確定しましたが、その後プロバイダーでエラーが発生しました。追加情報には settlementTxid が含まれます | 自動返金はありません。txid を添えて [email protected] にメールしてください |
no_xrp_seed | xrp_infer | xrpSeed も BSVKEY_XRP_SEED もありません | 入金済みの XRP シードを渡してください | |
xrpl_missing | xrp_infer | xrpl パッケージがインストールされていません | npm i xrpl | |
node_too_old | xrp_infer | xrpl パッケージが必要とする Node 20.19 / 22.12 より古いバージョンです | Node をアップグレードしてください(他のツールは Node 18 以降で動作します) | |
insufficient_xrp | xrp_infer | ウォレットが有効化されていないか、1 XRP の準備金を差し引いた見積額をまかなえません | 入金してください。資金は消費されていません | |
payment_failed | 402 | xrp_infer | ブロードキャスト前に決済が拒否されたか、決済が確定しませんでした。追加情報には reason が含まれます | 決済トランザクションが含まれていない限り、資金は消費されていません |
upstream_failed | 502 | xrp_infer | 決済は確定しましたが、その後プロバイダーでエラーが発生しました。追加情報には決済トランザクションが含まれます | 自動返金はありません。トランザクションを添えて [email protected] にメールしてください |
プリペイドチャネルでは、どのエラーでも料金は請求されません。infer が成功しても、receiptVerified: false(署名済みレシートの検証に失敗。receiptCheck を参照)または null(検証できない。検証ツールがない、またはレシートキーのエンドポイントが停止していた場合)が返されることがあります。
Thinking モデル(claude-sonnet-5、claude-opus-5、
claude-opus-5-5、claude-fable-5-1)では、非表示の推論も出力として課金されます。また、これらのモデルでは maxTokens が最低 1024 に引き上げられます。
接続を確認する(キー不要)
printf '%s\n' \
'{"jsonrpc":"2.0","id":1,"method":"initialize","params":{}}' \
'{"jsonrpc":"2.0","id":2,"method":"tools/list","params":{}}' \
'{"jsonrpc":"2.0","id":3,"method":"tools/call","params":{"name":"list_models","arguments":{}}}' \
| node server.js
マーケットプレイス掲載文
BSV Inference — BSV で決済する、トークン単位課金の Claude と Grok です。チャネルに一度チャージすれば、サブスクリプション、アカウント、カードなしで、トークンごとに課金されます。OpenAI 互換で、ライブウェブ検索はオプションで利用でき、オンチェーンで決済されます。MCP + ポータブルな SKILL.md。
公開(運営者向け)
- npm の
@bsvkey組織で公開中です(所有者:interence)。初回公開:v1.0.0。 - アップデートを公開するには、
package.jsonのversionを更新してから、npm publish --access publicを実行します(2FA/セキュリティキーの確認が表示されます)。 - 正式なソース:https://github.com/BSVKey/inference-mcp
- スキルマーケットプレイス(例:bopen.ai)に掲載するには、
SKILL.mdとこの README を提出してください。
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。