robotbase-mcp について
robotbase-mcpは、ウェブ検索・ページ閲覧に加え、Bitcoin、Ethereum、Monero、Zcash、Tronのオンチェーン検証やリスク照会を行うMCPエンドポイントです。ホスト版には予測市場や暗号資産トレンドのツールもあり、検証ツールは読み取り専用でAPIキーを必要としません。
主な機能
- 01ウェブ検索と公開ページの閲覧
- 025つのチェーンの取引・決済検証
- 03手数料、メンプール、チェーン状態の照会
- 04アドレスリスク確認と送金検証
- 05x402による無料枠超過分の支払い
活用シーン
- 01暗号資産の決済が完了したか確認
- 02取引手数料やメンプール状況の確認
- 03ウェブ検索と関連情報の閲覧
- 04無料枠を超える呼び出しをx402で支払い
MCP 対応
MCP経由でウェブおよびオンチェーンのツールを公開します。ホスト版にはWeb3、Dev、Contentの各エディションがあり、参照実装は45ツール、ホスト版は追加ツールを備え、クライアントはStreamable HTTPで接続します。
設定
リモートサーバーはインストール不要です。クライアントを選んで設定をコピーするか、ワンクリックで導入できます。
https://robotbase.cc/mcpclaude mcp add --transport http wygogogo19-robotbase https://robotbase.cc/mcp{"mcpServers":{"wygogogo19-robotbase":{"type":"http","url":"https://robotbase.cc/mcp"}}}Cursor で開く{"servers":{"wygogogo19-robotbase":{"type":"http","url":"https://robotbase.cc/mcp"}}}VS Code で開く{"mcpServers":{"wygogogo19-robotbase":{"type":"http","url":"https://robotbase.cc/mcp"}}}{"mcpServers":{"wygogogo19-robotbase":{"serverUrl":"https://robotbase.cc/mcp"}}}コマンドはターミナルで実行し、JSON は各クライアントの MCP 設定に貼り付けて再起動します。認可が必要なサーバーは初回接続時にログインを求めます。
ツール
45このツールにパラメーターはありません。
詳細
翻訳後に原文が更新されています。最新の内容は原文をご確認ください。
RobotBase MCP Server
エージェント向けの単一 MCP エンドポイントです。ウェブ検索、ページの読み取り、オンチェーン決済の検証を行い、呼び出しごとに支払えます。API キーは不要です。
認証不要・追跡なし・読み取り専用 | 自社運用のベアメタル全ノードを備え、エージェントに「検証+リスク管理」の統一的なセマンティクスを提供します。
ホスト型エンドポイント:72 個のツール — ウェブツール 10 個(検索、取得、スクリーンショット、地図、一括処理、フィード、メタデータ、クロール、抽出、操作)、Bitcoin · Ethereum · Monero · Zcash · Tron のオンチェーン検証とリスク管理、さらに CyberLibrary の書籍ツール 16 個。このリポジトリは、依存関係のないリファレンス実装で、45 個のツール(無料の検証ツール 41 個+リスク管理ツール 2 個+ウェブツール 2 個)を提供します。ホスト型エンドポイントには、無料の XMR ウォレット/加盟店ツール 3 個、CyberLibrary ツール 16 個、さらにウェブツール 8 個が含まれます。
Base および Solana のデータツールは 2026-10-18 に廃止されました。 5 つのチェーンは Bitcoin、Ethereum、Monero、Zcash、Tron です。x402 の決済は引き続き Base または Solana 上で USDC により決済されます。これは決済レールであり、データサービスではありません。
ホスト型エンドポイント:https://robotbase.cc/mcp · ランディングページ:https://robotbase.cc/mcp · サーバーカード:https://robotbase.cc/mcp/server.json · 使用状況のリアルタイム監査:https://robotbase.cc/mcp/stats
公式 MCP Registry に io.github.wygogogo19/robotbase-mcp として登録 · Glama にインデックス済み · Smithery(wygogogo/robotbase-mcp)で公開。
その理由
暗号資産を扱う自律エージェントが直面する、処理を妨げる疑問は 2 つだけです。この決済は実際に確定したのか、そして 次の決済にはいくらかかるのか。現状、これらを LLM に尋ねても、信頼できる情報源はありません。MCP エコシステムにはホスト型インデクサーをラップするものが豊富にある一方、自社運用インフラはほとんどありません。
ホスト型エンドポイントは厳密に読み取り専用のツール 68 個(無料の検証ツール 44 個+従量課金制のリスク管理ツール 2 個+従量課金制の CyberLibrary 書籍ツール 15 個+従量課金制のウェブツール 7 個)で回答します。このリファレンス実装は、そのうち 45 個(無料 41 個+リスク管理 2 個+ウェブ 2 個)を提供します。すべて、自社の全ノード、ローカルインデックス、従量課金制のウェブレイヤーを基盤としています。決済の確定確認には btc_get_transaction、次の決済の価格確認には btc_get_fee_rates と btc_get_mempool_state、Zcash のシールドプール供給量の確認には zec_get_pool_status を使用できます。Monero の全機能(xmr_get_fee_rates、xmr_get_transaction、xmr_verify_payment、…)は自社の monerod から直接読み取ります。Ethereum の機能(eth_get_transaction、eth_get_fee_rates、eth_read_contract)は自社の Reth ノードで、Tron の機能(tron_read_contract、tron_get_transaction)は自社の java-tron ノードで提供します。
料金
| プラン | 内容 | 上限 |
|---|---|---|
| 検証(41 ツール) | 手数料、メンプール、トランザクション/ブロック/アドレスの検証、ノードおよびシールドプールのテレメトリー、オプションの生トランザクション中継 | 永久に無料。キーも登録も不要 |
| リスクインテリジェンス(2 ツール) | tron_check_address_risk、tron_verify_usdt_transfer | IP ごとに 1 日 5 回無料。00:00 Asia/Shanghai にリセット |
| Web ツール(2 ツール) | web_search(順位付けされたウェブ検索結果)と web_fetch(公開 URL 1 件の読みやすいテキスト)— 別々の利用枠のため、検索でリスク枠が消費されることはありません | IP ごとに 1 日 20 回の検索+50 回の取得が無料。00:00 Asia/Shanghai にリセット |
| x402 クレジットパック | 無料枠を超えた場合、従量課金の各呼び出しは**$0.01**(1 クレジット:リスク 1、web_search 1、web_fetch 1) | 呼び出し元自身のウォレットから、Base または Solana 上の USDC で支払い:10 回 / 0.10 USDCまたは100 回 / 1.00 USDC — 決済手段のみであり、Base/Solana のチェーンデータは提供しません |
Base と Solana は決済手段としてのみ使用されます。 x402 は Base または Solana 上の USDC で決済されますが、RobotBase は Base または Solana のチェーンデータを提供しません。これら 8 つのデータツールは 2026-10-18 に廃止されており、現在の対応対象は Bitcoin、Ethereum、Monero、Zcash、Tron です。
従量課金の各応答には、それぞれ独自の _metering ブロック(利用枠、リセット時刻、残りの呼び出し回数)が含まれます。また、不正なアドレスや txid など、ローカル検証に失敗した呼び出しでは、利用枠は消費されません。無料枠を超えると、ツールは部分的な結果ではなく Payment Required を返し、チャージページを案内します。
API キー、アカウント、サブスクリプションは不要です — 2026-10-16 以降、有料プランは x402 による機械間決済のみです。 無料枠がなくなると、ツールは完全な機械可読の条件を structuredContent.accepts[] に含めて 402 Payment Required を返します。エージェントはクレジットパックを 1 つ決済し(Base では EIP-3009、Solana では署名済みトランスファー)、以降の各呼び出しで同じ支払いペイロードを params._meta["x402/payment"] に入れて再送します。決済は支払い nonce ごとに冪等であるため、ペイロードが二重に課金されることはありません。パックの残高がなくなるまで、各呼び出しでクレジットが 1 つ消費されます。続けるには、別のパックを購入してください。
リプレイの動作はどちらのネットワークでも同じです。Solana の場合、ペイロードに含まれるのは署名済みトランザクションのみのため、サーバーは決済済み支払い台帳からトランザクションハッシュを使って支払者を特定します。すでに確定したトランザクションを再シミュレーションすることはありません。
x402 決済レイヤー(オープンソース)
x402_pay.py は有料プランの完全な実装で、このリポジトリに含まれています。標準ライブラリのみを使用し、ファシリテーターとは HTTP で通信し、SQLite 台帳を保持します。秘密鍵に触れることはなく、トランザクションを送信することもありません。
機能は次のとおりです。
| 項目 | 動作 |
|---|---|
| 402 チャレンジ | structuredContent.accepts[] に、ネットワーク/アセット/パックのすべての組み合わせが一覧表示されます。Solana では extra.feePayer、EIP-3009 では EIP-712 ドメインが含まれます |
| 決済 | 支払いノンスごとに一度、ファシリテーターに POST /verify を送信してから POST /settle を送信します |
| クレジット | 決済済みのパックは支払者のアドレスに calls を付与し、パックは1回の呼び出しごとに消費されます |
| リプレイ | クライアントは同じペイロードを再送します。台帳が処理を早期終了するため、EVM と Solana のどちらでもシミュレーションや二重決済は行われません |
| リトライの安全性 | 5分以内に同じ支払者、ツール、引数で呼び出すと、charged_this_call=false でキャッシュ済みの回答が返されます |
| 残高 | GET /credits?payer=<address> は、残りのクレジット、課金された呼び出し数、直近の支払い、利用可能なパックの一覧を返します |
| クレジット切れ | ツールは部分的な結果ではなく、PaymentRequired / insufficient_credit を返します |
| 失敗時の安全性 | ローカル検証に失敗したツールは _no_charge を返すため、不正な引数でクレジットが消費されることはありません |
| 並行処理 | spend() は単一のアトミックな UPDATE ... WHERE balance>0 で処理されるため、残高がマイナスになることはありません |
| 照合 | 決済応答が失われた場合、再度クレジットを付与する前に EIP-3009 の authorizationState をオンチェーンで確認します |
環境変数だけで有効化できます(examples/x402.env.example を参照)。
export RB_X402_ENABLED=1
export RB_X402_FACILITATOR_URL=https://facilitator.example
export RB_X402_OPTIONS='[{"network":"eip155:8453","asset":"0x…","pay_to":"0x…","decimals":6, …}]'
export RB_X402_PACKS='[{"amount_atomic":"100000","calls":10,"label":"10 calls"}]'
export RB_X402_LEDGER_DB=./x402_credit.db
python3 server.py
これらの環境変数が設定されていない場合、サーバーは無料プランのみで動作します。このリポジトリには、参照実装として45個のチェーン/Web ツールが含まれています。ホスト型エンドポイントとの違いは、チェーンごとのバックエンドの接続先(こちらの設定ではなく、お使いの RB_* 変数を使用)と、ホスト型のみで利用できる CyberLibrary ブリッジ(16個の書籍ツール)および追加の Web ツール8個(スクリーンショット、マップ、バッチ、フィード、メタデータ、クロール、抽出、実行)が含まれていない点だけです。
呼び出しを消費せずに支払者の残高を確認します。
GET https://robotbase.cc/mcp/credits?payer=<the address that paid>
→ { "found": true, "credits_remaining": 19, "calls_charged": 1,
"last_payment": { … }, "packs": [ … ] }
EVM アドレスでは大文字と小文字が区別されません。残高は公開オンチェーン決済から導出されるため、認証はありません。
接続(3行)
{
"mcpServers": {
"robotbase": { "url": "https://robotbase.cc/mcp" }
}
}
Claude Desktop、Cursor、VS Code(リモート MCP)、および Streamable HTTP(2025-06-18)をサポートするすべての MCP クライアントで動作します。API キーは不要です。
curl -s https://robotbase.cc/mcp -H 'content-type: application/json' \
-d '{"jsonrpc":"2.0","id":1,"method":"tools/call",
"params":{"name":"btc_get_fee_rates","arguments":{}}}'
ツール(45個 — 参照実装)
ホスト型エンドポイント
https://robotbase.cc/mcpには72個のツールがあります。内訳は、これら45個に加えて、無料の XMR ウォレット/加盟店ツール3個、CyberLibrary の書籍ツール16個(cyberlibrary_catalog_index、cyberlibrary_language_shard、cyberlibrary_book_meta、cyberlibrary_get_toc、cyberlibrary_get_chapter、cyberlibrary_get_markdown、cyberlibrary_cite、cyberlibrary_search_books、cyberlibrary_fulltext_search、cyberlibrary_service_info、cyberlibrary_get_chunks、cyberlibrary_verify_quote、cyberlibrary_search_passages、cyberlibrary_rag_context、cyberlibrary_semantic_search、cyberlibrary_search)、および追加の Web ツール8個(web_screenshot、web_map、web_fetch_batch、web_feed、web_metadata、web_crawl、web_extract、web_act)です。 | ツール | 機能 | よくある質問 | |---|---|---| |list_chains| ネットワーク上のすべてのチェーンと、その状態(live\|provisioning\|planned)および利用可能性 | 「どのチェーンに対応していますか? オンラインですか?」 | |chain_status(chain)| ノードの高さ、同期の進捗、ピア、メモリプール、バージョン(btc\|eth\|xmr\|zec\|tron) | 「Monero ノードは同期済みですか?」 | |robotbase_capabilities| 各ノードが回答できることとできないこと(プルーニング/保持期間の制限を含む) | 「その時点までさかのぼって読み取れますか?」 | |robotbase_services| ゲートウェイ全体のサービス状態 | 「全体的なヘルスチェックをしてください」 | |btc_get_fee_rates| 1/2/3/6/12/24 ブロックの目標手数料とメモリプールの下限手数料(sat/vB) | 「今、いくらの手数料を払えばよいですか?」 | |btc_get_mempool_state| メモリプールの深さ、容量使用率、最低手数料、手数料合計、および混雑/通常の判定 | 「今、Bitcoin は混雑していますか?」 | |btc_get_transaction(txid)| BTC トランザクション:承認数、ブロック、入出力の概要 | 「この支払いは実際に確定しましたか?」 | |btc_get_block(height\|blockhash)| ブロックの概要(デフォルトは最新ブロック) | 「最新ブロックには何件のトランザクションがありますか?」 | |btc_get_network_stats| 難易度、ハッシュレート、トランザクション総数と現在の tx/s、クライアント、ピア、中継手数料、稼働時間、同期済みインデックス | 「Bitcoin を保護しているハッシュレートはどれくらいですか?」 | |btc_get_address(address)| 残高、UTXO、トランザクション数、最近のトランザクション(P2PKH/P2SH/bech32/bech32m) | 「このアドレスにはどれくらいの BTC がありますか?」 | |zec_get_pool_status| Zcash ノードの状態に加え、6 種類すべてのバリュープール(transparent/sprout/sapling/orchard/ironwood/lockbox)と、1 時間/24 時間の変化量 | 「どれくらいの ZEC がシールドされていて、増加していますか?」 | |zec_get_recent_blocks(n)| 最近の Zcash ブロック | 「ZEC のブロックは正常ですか?」 | |zec_get_network_stats| メモリプール、ノードのバージョン、難易度、ハッシュレート、チェーンの進捗、ブロック報酬、資金調達ストリーム(ZCG)、lockbox | 「Zcash を保護しているハッシュレートはどれくらいで、補助金はどこに使われていますか?」 | |zec_get_treestate(block_hash?\|height?)| ブロック時点の Sapling/Orchard/Ironwood シールド済みコミットメントツリーのアンカールート | 「シールド済みセットはどのように拡大していますか?」 | |zec_get_transaction(txid)| ZEC トランザクション:承認数、ブロック、アクティブチェーン上にあるかどうか、透明な金額とシールド済みの金額の内訳。シールド済みの金額/当事者はプロトコル上、開示されません | 「この ZEC の支払いは着金しましたか?」 | |eth_get_transaction(txid)| ETH トランザクション:ステータス、ガス、手数料、承認数、ファイナライズ済みかどうか、およびレシートログからデコードしたERC-20 送金(トークン固有の小数桁も解決) | 「この ETH または USDT/USDC の支払いは確定しましたか?」 | |eth_get_fee_rates| ベース手数料(現在と次回)、優先手数料のパーセンタイル、通常送金と ERC-20 送金のコスト見積もり | 「Ethereum のトランザクション手数料はいくらになりますか?」 | |eth_get_account(address)| ETH 残高、ノンス、アドレスがコントラクトかどうか | 「これは EOA ですか、それともコントラクトですか?」 | |eth_get_block(height?\|block_hash?)| 番号、タグ(latest/finalized/safe)、またはハッシュで指定したブロック:トランザクション、使用ガスと上限、ベース手数料、ビルダー | 「今、Ethereum のブロックはどれくらい埋まっていますか?」 | |eth_get_logs(from?, to?, address?, topic0?)| 範囲内のイベントログと、デコード済みの ERC-20 Transfer。クエリがノードの結果上限を超える場合は自動的に範囲を絞り込みます | 「過去 N ブロックで、このトークンを移動したのは誰ですか?」 | |eth_read_contract(contract, function, argument?)| 独自の Reth ノードで実行する読み取り専用のeth_call:balanceOf、allowance、decimals、symbol、name、totalSupply、または任意の生セレクター | 「このアドレスの USDT 残高はいくらですか?」 | |xmr_get_node_status| Monero ノード:実際の最新ブロック高、同期フラグ、難易度、txpool、データベースサイズ、monerod のバージョン、ピア | 「Monero ノードは同期済みですか?」 | |xmr_get_fee_rates| 独自ノードから取得した、優先度が順に高くなる各手数料ティアの kB あたりの手数料見積もり | 「XMR のトランザクションにはいくらの手数料が必要ですか?」 | |xmr_get_mempool_state| 保留中のトランザクション数、合計バイト数と手数料、最も古い保留中トランザクションの経過時間、二重支払い/失敗の件数 | 「今、Monero は混雑していますか?」 | |xmr_get_block(height\|block_hash)| 1 つのブロックヘッダー:時刻、トランザクション数、報酬、難易度、ウェイト、プロトコルバージョン | 「ブロック 3,784,931 には何がありますか?」 | |xmr_get_recent_blocks(n)| 最近のブロックと、観測されたブロック間隔および目標の 120 秒との比較 | 「XMR のブロックは正常ですか?」 | |xmr_get_output_distribution(from?, to?)| リングサイズごとの使用可能な出力数。Monero の匿名性集合に関する指標です。生の件数を返し、「プライバシースコア」は示しません。データは最新ブロックより約 5,000 ブロック遅れており、その旨を明示します | 「使用可能な出力セットの規模はどれくらいですか?」 | |xmr_get_transaction(txid)| この txid がマイニング済みか、対象ブロック、承認数、サイズ、出力、リングサイズ。金額/送信者/受取人はプロトコル上、開示されません。Monero は設計上それらを隠しており、第三者が復元することはできません | 「自分の XMR 送金はマイニングされましたか?」 | |xmr_get_network_stats| 過去 720 ブロックのネットワークハッシュレート、難易度、発行量と手数料、プロトコルバージョン、次回のハードフォーク | 「Monero を保護しているハッシュレートはどれくらいですか?」 | |xmr_verify_payment(txid, address, tx_key\|signature)| 暗号学的な Monero 支払い検証:自分のウォレットから取得したトランザクションキー(get_tx_key)またはトランザクション証明(get_tx_proof)と txid を指定すると、トランザクションが実際にそのアドレスへ支払われたか、金額はいくらか、承認数はいくつかを検証します。RobotBase 独自の monero-wallet-rpc インスタンスで実行します(別サービス、別の認証情報、空のウォレット。資金や受取キーはありません) | 「この XMR の支払いは実際に届きましたか?」 | |broadcast_raw_transaction| 署名済みの BTC トランザクションを、独自ノード経由で中継します(最初に testmempoolaccept を実行。オペレーターの承認が必要) | 「この署名済みトランザクションを代わりにブロードキャストしてください」 | |tron_get_node_status| Tron ノード:最新ブロック高、ファイナライズ済み(solidity)ブロック高と遅延、ピア、クライアントバージョン、最新ブロック内のトランザクション数 | 「Tron ノードは同期済みですか?」 | |tron_get_current_block| 生成中のブロック:番号、ID、タイムスタンプ、コントラクト種別ごとのトランザクション数、生成中のウィットネス | 「今、Tron はどれくらい混雑していますか?」 | |tron_get_block(height\|block_id)| 1 つのブロック:生成者、タイムスタンプ、種別ごとのトランザクション数、トランザクション ID | 「ブロック 87,147,698 には何がありますか?」 | |tron_list_proposals(limit?)| ガバナンス提案:ID、提案者、状態、承認数、変更対象のパラメーター | 「チェーンパラメーターの変更は保留中ですか?」 | |tron_get_transaction(txid)| 1 つのトランザクション:成功/取り消し、使用したエネルギー、承認数、solidity 上でファイナライズ済みかどうか、およびレシートログからデコードしたTRC-20 送金(トークン、送信元、送信先、金額) | 「この USDT の支払いは着金しましたか? 金額はいくらですか?」 | |tron_get_account(address)| TRX 残高、有効化状態、エネルギーと帯域幅、ウィットネスフラグ、アカウントの経過時間 | 「このアドレスにはどれくらいの TRX がありますか?」 | |tron_get_contract(address)| ABI が公開されているか、名前、作成者、関数一覧、コードハッシュ、TRC-20 の検出 | 「このコントラクトは検証済みですか?」 | |tron_read_contract(contract, function, argument)| 独自ノードで実行する読み取り専用の定数呼び出し —balanceOf、allowance、decimals、symbol、name、totalSupply、または任意の生セレクター。キーは不要で、状態も変更しません | 「このアドレスの USDT 残高はいくらですか?」 | |tron_get_chain_economics| エネルギー価格(sun/単位)、トランザクション手数料、アカウント作成手数料、ブロックごとのウィットネス報酬、エネルギー/帯域幅の上限、次回のメンテナンス | 「TRC-20 の送金には何 TRX かかりますか?」 | |tron_list_witnesses(limit)| スーパー代表者:生成したブロック数、生成できなかったブロック数、投票数、ウェブサイト | 「Tron のブロックを生成しているのは誰ですか?」 |
リスクインテリジェンス(従量課金)
無料のブロックエクスプローラーでは確認できない情報に、2つのツールで回答します。これらは、独自の中間レイヤーで精査した公開データセットを集約したものです。TRON の決済確認では、保持期間内は自社ノードを参照し、それより古いトランザクションについては TronGrid にフォールバックします。
| ツール | 内容 | よくある質問 |
|---|---|---|
tron_check_address_risk(address) | TRC-20 の取引相手をスクリーニングします。司法機関/ブラックマーケット/ミキサー/フィッシングのラベル、アカウントの有効化状況と経過期間、0~100 の安全スコアに加え、明示的な not_covered リストを返します。 | 「このアドレスから USDT を受け取っても安全ですか?」 |
tron_verify_usdt_transfer(txid, expected_to?, expected_amount_usdt?) | USDT の決済を確認します。solidity チェーンでの確定状況、承認数、金額、送信者、受取人を確認し、期待値と照合します。約 6 日間の保持期間内は自社の Tron ノードを参照し(1 秒未満、サードパーティなし)、それより古いトランザクションについては TronGrid にフォールバックします。どちらが回答したかは source に示されます。また、ローカルノードで見つからなくても「見つかりませんでした」と報告することはありません。 | 「この USDT の支払いは、正しい金額で、取り消せない状態で着金しましたか?」 |
Base と Solana は決済レールであり、データサービスではありません。 x402 は Base または Solana 上で USDC による決済を行います。Base/Solana のオンチェーンデータツールは 2026-10-18 に廃止されており、チェーンデータの取得に外部 RPC は照会されません。
各ツールは risk_level、0~100 の safety_score、その判定元となった上流のフラグをそのまま、not_covered リスト、および免責事項を返します。公開ラベルをそのまま伝えるものであり、法的見解を示すものではありません。発行体が保証するトークン(規制対象のステーブルコイン)は、ラグプルの兆候ではなく、発行体による管理として扱います。その判断はレスポンスに明記されます。
明確にしておくべき制限事項があります。RobotBase は Monero のトランザクション、ウォレット、リング署名をインデックス化せず、Bitcoin アドレスにラベルを付けたり、リスクスコアを付けたりすることもありません。ノードが回答できない場合は推測せず、その旨をツールが伝えます。
Web ツール(高頻度)
ホスト型エンドポイントでは 7 つの Web ツールを公開しています:web_search、web_fetch、web_screenshot、
web_map、web_fetch_batch、web_feed、web_metadata です。このリファレンス実装に含まれるのは最初の 2 つで、残りの 5 つはホスト型専用です。
オンチェーン機能に加えて、汎用 Web ツールが 2 つあります。エージェントが検証する前に使う入り口です。公開中の Web を検索し、信頼できそうなページを 1 つ読み、オンチェーンで主張を確認します。呼び出しに API キーは必要ありません。
| ツール | 機能 | よくある質問 |
|---|---|---|
web_search(query, count?, freshness?, site?, lang?) | タイトル、URL、スニペット、公開日を含む、順位付けされた Web 検索結果です。主なプロバイダーは Serper で、Tavily、Brave、キー不要の cn.bing RSS フィードがフォールバックとして使われます。回答には provider フィールドが含まれます。検索結果は重複排除され(1 つのドメインが結果セットの約 40% を超えることはありません)、最大 10 分間キャッシュされます | 「今日の BTC 手数料市場はどのような状況ですか?」 「最近の Zcash ガバナンス提案は?」 |
web_fetch(url, max_chars?, format?) | 1 つの公開 URL の読みやすいテキスト/Markdown です。最初に robots.txt を確認し、標準ライブラリの抽出器で scripts/nav/header/footer を除去します。まず直接取得を試み、このノードからアクセスできないページはプロバイダーのフォールバック経由で取得し、source=provider とマークします。1 回の呼び出しにつき、応答は最大 12,000 文字です | 「この記事を読んで要約してください」 「この URL を整った Markdown に変換してください」 |
独立した無料利用枠: web_search は IP ごとに 1 日 20 回、web_fetch は IP ごとに 1 日 50 回利用できます。これらは 1 日 5 回のリスク関連利用枠とは別枠のため、検索によってリスク関連ツールの無料呼び出しが消費されることはありません。キャッシュされた検索も無料利用枠の 1 回分としてカウントされます。キャッシュから返された有料呼び出しではクレジットを消費しません。利用枠を超えた場合、各呼び出しにつき x402 クレジット 1 枚($0.01)が、リスク関連ツールと同じ USDC クレジット残高から請求されます。
制約: web_fetch が読み取るのは 1 つの公開 URL のみで、一括取得やサイト全体の取得には対応しません。ログイン、ペイウォールの突破、noindex の仕組みを利用した迂回、robots.txt の回避は行いません。すべての取得は SSRF 対策で保護されています。使用可能なのは http/https のみで、ポートは 80/443 のみです。プライベート/ループバック/リンクローカル/予約済み/CGNAT アドレスは拒否され、リダイレクトの各段階で再検証が行われます。接続先 IP は固定され、応答本文は最大 2 MB に制限されます。監査ログにはクエリ文字列も URL も保存されず、ツール名、レイテンシー、結果、切り詰めた IP ハッシュのみが保存されます。
プロバイダー設定(任意)。 リファレンス実装は標準ライブラリのみを使用します。主な検索プロバイダーには RB_SERPER_KEY を設定し、フォールバックチェーンには必要に応じて RB_TAVILY_KEY/RB_BRAVE_KEY を設定します(cn.bing RSS にはキーは不要です)。Tavily の 1 日あたりのクレジット上限を設定するには RB_TAVILY_DAILY_CREDITS(デフォルトは 15)を、Serper の呼び出し上限を設定するには RB_SERPER_DAILY_CALLS(デフォルトは 200)を設定します。プロバイダーキーがない場合、web_search はキー不要の cn.bing RSS フィードにフォールバックし、web_fetch は引き続き直接アクセス可能なページを取得できます。
汎用リーダーの枠を超えて
多くの MCP サーバーはサードパーティ API をラップしています。これらは私たちが運用するインフラから提供されるため、ほかでは見つけにくいものです。
- 決済の検証 —
btc_get_transaction/btc_get_block/btc_get_addressは、支払いが行われたと主張された際にエージェントが最初に確認する情報を、独自のtxindexノードから提供します。 - 手数料とメンプールのオラクル —
btc_get_fee_rates+btc_get_mempool_stateは、次のトランザクションにかかる費用と、今が適切なタイミングかどうかという、2 つ目の疑問に答えます。 - ローカルインデックス —
zec_get_pool_statusは、公開エクスプローラーではなく、独自の Zebra ノードとバリュープールインデックス(差分を含む 6 つすべてのプール)を読み取ります。 - 任意のリレー —
broadcast_raw_transactionを使うと、エージェントはローカルで署名し、高可用性のブロードキャスト経路としてのみ私たちを利用できます。オペレーターがRB_ENABLE_BROADCAST=1を設定しない限り、無効です。
アーキテクチャ
AI Agent (Claude / Cursor / VS Code / custom)
│ HTTPS · MCP Streamable HTTP (2025-06-18)
▼
https://robotbase.cc/mcp ← hosted, no auth required
│
▼
MCP server (dependency-free Python, this repo)
├── BTC : Bitcoin Core RPC + electrs (address/tx index)
├── ETH : Reth (execution) + Lighthouse (consensus)
├── XMR : monerod JSON-RPC (node telemetry only)
├── ZEC : Zebra RPC (valuePools → shielded-pool supply)
├── TRON : java-tron lite full node (tip state + a ~6 day window)
├── meta : gateway service aggregation
└── web : Serper / Tavily / Brave / cn.bing RSS search (optional keys),
direct fetch + standard-library extraction, Tavily /extract fallback
プライバシーと制限
- 認証は一切ありません — robotbase.cc は API キーを発行せず、
X-API-Keyを送信しても何も変わりません。 - IP あたり 120 リクエスト/分、プランは 1 種類です(レスポンスヘッダー
X-MCP-Plan/X-RateLimit-Limit)。有料アクセスは x402 クレジットによるもので、IP あたりのレート制限は引き上げられません。 - 監査ログに保存されるのはクライアント IP の切り詰められた SHA-256のみで、クエリパラメーターは保存されません。
- 読み取り専用です。取引、署名、カストディ、書き込みメソッドはありません。BTC トランザクションは
txindexを使って検索されます。 - LLM のコンテキストを保護するため、レスポンスは呼び出しごとに約 3.8 KB に切り詰められます。例外は
web_fetchで、ページのテキスト全体を返すことが目的のため、12,000 文字まで返します。 - ウェブツールには、全体の上限である IP あたり 120 リクエスト/分に加え、IP あたり 20 リクエスト/分の追加制限があります。また、無料利用枠(IP あたり 1 日 20 回の検索 + 50 回のフェッチ)は別の枠でカウントされます。
セルフホスト(このリポジトリ)
server.py は、ご自身のノードに接続する依存関係のないリファレンス実装です。すべて環境変数で設定します。
export RB_BIND=0.0.0.0 # bind address (default 127.0.0.1)
export RB_PORT=8090 # listen port
export RB_BTC_RPC_URL=http://127.0.0.1:8332
export RB_BTC_RPC_USER=rpcuser
export RB_BTC_RPC_PASS=...
export RB_BTC_DASHBOARD=http://127.0.0.1:8600 # optional: /api/node used by chain_status(btc)
export RB_ELECTRS_HOST=127.0.0.1 # electrs for btc_get_address
export RB_ELECTRS_PORT=50001
export RB_ZEC_BASE=http://127.0.0.1:8080 # status API with /api/chaininfo
export RB_XMR_HELPER=http://127.0.0.1:18085/rpc # monerod JSON-RPC (xmr_get_node_status)
export RB_HOME_BASE=http://127.0.0.1:8081 # gateway aggregation: /api/nodes (eth + xmr telemetry) /api/services
export RB_USAGE_DB=./usage.db # optional usage audit
export RB_BILLING_DB=./billing.db # deprecated: API-key verification (no keys are issued since 2026-10-16)
export RB_RISK_DB=./risk_quota.db # optional: daily risk-tool allowance bookkeeping
export RB_WEB_CACHE_DB=./web_cache.db # optional: web result cache + web quota/spend tables
# web tools: no key is required. Optional provider keys buy quality/reliability:
export RB_SERPER_KEY=... # primary search provider (best results)
export RB_TAVILY_KEY=... # fallback search + fetch-extract fallback
export RB_BRAVE_KEY=... # optional extra search fallback
export RB_SERPER_DAILY_CALLS=200 # optional: daily Serper call cap
export RB_TAVILY_DAILY_CREDITS=15 # optional: daily Tavily credit cap
export RB_WEB_SEARCH_FREE=20 RB_WEB_FETCH_FREE=50 # optional: per-IP free web allowance
export RB_WEB_SEARCH_GLOBAL=100 RB_WEB_FETCH_GLOBAL=200 # optional: site-wide free web caps
export RB_WEB_DAILY_BUDGET_USD=5 # optional: daily upstream spend breaker
export RB_WEB_TRUNCATE=12000 RB_WEB_CACHE_MAX_MB=100 # optional: web_fetch cap / cache cap
export RB_WEB_UA='RobotBaseMCP/0.25.2 (+https://robotbase.cc/mcp)' # optional: crawler User-Agent
# optional paid tier — see examples/x402.env.example for the full list
export RB_X402_ENABLED=1
export RB_X402_FACILITATOR_URL=https://facilitator.example
export RB_X402_OPTIONS='[ … ]'
export RB_X402_PACKS='[ … ]'
export RB_X402_LEDGER_DB=./x402_credit.db
python3 server.py
クライアント設定については examples/、ノード変数については examples/env.example、決済変数については examples/x402.env.example を参照してください。サーバーが公開するエンドポイントは、/(ドキュメント)、/tools(ツール一覧 JSON)、/server.json(サーバーカード)、/stats(使用状況の監査情報)、/healthz です。
リファレンス実装の履歴
- 2026-10-19 — v0.25.2:ホスト版のツール数が 72 に到達しました(
web_crawl/web_extract/web_actおよび OCR を含むウェブツール 10 種、web_searchのプライマリとしてセルフホストの SearXNG、CyberLibrary ツール 16 種)。このリリースでは、ホスト型サービスでリリースされた不具合修正(v0.22.0/v0.22.1)も、この 45 ツールのリファレンス実装に移植しています。主な変更点:JSON に対応した切り詰め処理(転送上限を超えるレスポンスも有効な JSONのまま保持し、オブジェクトの途中で切り詰めずに_truncated/_original_charsメタデータを付与);bech32m/BIP350 witness-v1+ と base58check アドレスの検証;Zcash Ironwood シールドプールの会計処理;eth_read_contractの生セレクターと ABI パラメーターのプレフィックス処理(lstrip("0x")による意図しない破損を解消);TRON のコントラクトリバート検出、getcontractによるhas_code、USDT 判定の確定性の分離、確認数のオフバイワン修正、リスクアドレスの base58 チェックサム + 41-hex 検証と未アクティブアカウントの対象範囲に関する注記;すべてのツールで一貫したisError;厳格なバッチ / HTTP 処理(バッチ要素の検証、DELETE/PUT/HEAD に対する 405、413 の本文サイズ上限、415 Content-Type、404 パス、完全な CORS プリフライト、X-Real-IPによる信頼できるクライアント IP、429 時のRetry-After);tools/listのツールtitle+ アノテーション(readOnlyHintなど)とadditionalPropertiesの正規化;web_fetchのmax_chars上限 / 予算、およびプロバイダーへの暗黙のフォールバックではなく HTTP 4xx をそのまま返す処理;実際のチェーン先端を使った動的な XMR 出力分布の遅延;Monero の証明チェックにおけるエラーの意味付け;ゼロのeth_maxPriorityFeePerGasではなく、eth_feeHistoryのパーセンタイルに基づく手数料見積もり(送金には p50 のチップ、ERC-20 送金には p90 のチップ)。server.json、mcp-registry.json、smithery.yamlのバージョンフィールドも更新しています。glama.jsonにはバージョンフィールドがありません。
ライセンス
MIT — LICENSE を参照してください。
RobotBase · Web3 エージェント向けの検証およびリスクインテリジェンス · https://robotbase.cc/
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。