Ankr Agent RPC について
Ankr Agent RPCは、Ankr RPCを通じてEVMネットワークとSuiの読み取り専用データをAIエージェントに提供するMCPサーバーです。ABIデコードに対応し、TORPCの階層化された応答で取引、ログ、残高、オブジェクトなどを返します。
主な機能
- 01取引、ブロック、イベントログの取得
- 02複数チェーンの残高・履歴・NFT取得
- 03コントラクト解決とトークン価格検索
- 04SuiオブジェクトとMoveイベントの取得
- 05カーソルによる結果のページ取得と再開
- 06rpcCallによる読み取りメソッドの転送
活用シーン
- 01取引とデコード済みコントラクトイベントの確認
- 02アドレスの複数チェーン残高と履歴の集約
- 03Suiオブジェクト、パッケージ、Moveイベントの検索
- 04エージェントへのブロックチェーン読み取りデータ提供
MCP 対応
Ankr RPCとインデックスデータのツールを、ホスト型エンドポイントまたはローカルstdio経由でMCPクライアントに提供します。TORPC階層を指定でき、適用階層は応答に示されます。rpcCallは署名や取引送信には対応しません。
設定
リモートサーバーはインストール不要です。クライアントを選んで設定をコピーするか、ワンクリックで導入できます。
https://mcp.ankr.com/rpcclaude mcp add --transport http w3tech-agent-rpc https://mcp.ankr.com/rpc{"mcpServers":{"w3tech-agent-rpc":{"type":"http","url":"https://mcp.ankr.com/rpc"}}}Cursor で開く{"servers":{"w3tech-agent-rpc":{"type":"http","url":"https://mcp.ankr.com/rpc"}}}VS Code で開く{"mcpServers":{"w3tech-agent-rpc":{"type":"http","url":"https://mcp.ankr.com/rpc"}}}{"mcpServers":{"w3tech-agent-rpc":{"serverUrl":"https://mcp.ankr.com/rpc"}}}コマンドはターミナルで実行し、JSON は各クライアントの MCP 設定に貼り付けて再起動します。認可が必要なサーバーは初回接続時にログインを求めます。
https://mcp.ankr.com/rpc認証が必要ツール
25| パラメーター | 型 | 必須 | 説明 |
|---|---|---|---|
| minUsd | number | いいえ | この USD 額以上の価値がある資産のみを表示し、それ以外はダストとして集計します。 |
| address | string | はい | ウォレットアドレス(0x...)または ENS 名(*.eth) |
| maxTokens | integer | いいえ | 表示する資産の最大数。USD 価値の降順で並びます(デフォルト 20、最大 100)。 |
| blockchains | array | いいえ | 照会するチェーン。省略するとすべてのチェーンを照会します |
詳細
Ankr Agent RPC — MCP サーバー
AI エージェントが Ankr RPC を通じて、トークン効率よくブロックチェーンデータにアクセスできる Model Context Protocol サーバーです。
読み取りリクエストには、TORPC の Accept-Token-Tier: 2 ヘッダーが付与されます。ティア 1 ではすでにフィールド名が変更され、16 進数が 10 進数に変換され、サービスフィールド(logsBloom、cumulativeGasUsed、ヘッダールート)が除外されます。ティア 2 ではさらに ABI デコードが加わり、コントラクト呼び出しやイベントログが名前付き引数として返されます。
Ethereum メインネットの 25 ブロックに対して 21 のメソッドを実行し、HTTP ボディ全体を対象に o200k_base でトークン数を加重計算した実測では、ティア 2 で 48.4%減、ティア 1 で 35.3%減となりました。デコードが多い読み取りほど削減効果が大きく、eth_getTransactionByHash は 69.0%、eth_getTransactionReceipt は 64.5%、eth_getBlockReceipts は 60.3%、ブロック系メソッドは 40.4%、eth_getLogs は 28.9%削減されました。スカラー値の読み取りでは 9~19%削減されます。メソッドごとの数値はこちらをご覧ください:live-token-savings-2026-07-17.md。
クイックスタート
ankr.com/rpc で無料の API キーを取得してください。
ホスト型(インストール不要)
サーバーは https://mcp.ankr.com/rpc で稼働しています。キーは x-ankr-api-key ヘッダー(または Authorization: Bearer <key>)で送信してください。各リクエストには呼び出し元自身のキーが含まれ、サーバーはお客様の認証情報を保持しません。
{
"mcpServers": {
"ankr-agent-rpc": {
"url": "https://mcp.ankr.com/rpc",
"headers": { "x-ankr-api-key": "<YOUR_KEY>" }
}
}
}
ローカル(stdio)
{
"mcpServers": {
"ankr-agent-rpc": {
"command": "npx",
"args": ["-y", "@w3tech.io/agent-rpc-mcp"],
"env": { "ANKR_API_KEY": "<YOUR_KEY>" }
}
}
}
この JSON を、クライアントの MCP 設定に追加してください。Claude Desktop(claude_desktop_config.json)、Cursor、Windsurf、その他の MCP クライアントで利用できます。Cursor ではコマンド形式も使用できます。
env ANKR_API_KEY=<YOUR_KEY> npx -y @w3tech.io/agent-rpc-mcp
ツール
Raw RPC、TORPC ティア 2
| ツール | 回答する内容 |
|---|---|
getTransaction | ハッシュで指定したトランザクションとレシート(ABI デコード済み) |
getLogs | デコード済みイベントログ。ブロック範囲が広い場合は分割スキャンされ、ページ分けされます |
getBlock | ブロックヘッダー。オプションでトランザクションをデコードします |
インデックス型と複合型
| ツール | 回答する内容 |
|---|---|
getBalances | ネイティブコインと ERC-20 の残高(USD 換算付き) |
getAccountBalance | 複数のチェーンにまたがる残高 |
getWalletActivity | アドレスのトランザクション履歴(ページ分け対応) |
getNFTs | アドレスが保有する NFT |
getTokenHolders | ERC-20 の保有者(ページ分け対応) |
getTokenPrice | チェーン、アセット、as_of の出典情報を含む USD 価格 |
getTokenPriceHistory | トークンの過去の価格推移 |
getInteractions | アドレスが利用したチェーン(クロスチェーン対応) |
resolveContract | コントラクトかどうか、可能な範囲での ERC-20 メタデータ、EIP-1967 プロキシ |
searchChain | トランザクション/ブロックハッシュ、アドレス、ブロック番号を解決 |
expandResult | カーソルを使って、ページ分けされた任意の結果の続きを取得 |
検索と拡張用
| ツール | 回答する内容 |
|---|---|
listChains | 対応チェーン、最大 TORPC ティア、インデクサーの利用可否 |
describeMethods | 各 JSON-RPC メソッドのパラメーター形式と例、さらにお使いのキーでそのチェーン上のメソッドを呼び出せるかどうか |
rpcCall | ルーティング対象のツールでは対応していない、任意の読み取りメソッド |
Sui
Sui は EVM チェーンではなく、JSON-RPC プロキシも経由しません。Sui の呼び出しは gRPC で送信されます。getBalances、getBlock、getTransaction、getWalletActivity、getLogs、rpcCall は chain: "sui" を指定すると、自動的に適切な経路に振り分けられます。getLogs はチェックポイントの範囲にわたって Move イベントを読み取り、イベントを発行したパッケージまたはモジュール、イベント型、送信者でフィルタリングします。resolveContract と searchChain は Sui に存在したことのない eth_* 呼び出しを基にしており、Sui では代わりに使用すべきツールを示して拒否します。Move イベントの行は {contract, event, args} の形式で、EVM の Tier 2 ログと同じ形です。ただし、その args は Tier 0 で返され、ABI ではなくノードによってデコードされるため、この経路では Tier を裏付けるものではありません。
Sui にあって EVM チェーンにはない機能を、次の 8 つのツールで提供します。
| ツール | 何を取得できるか |
|---|---|
suiGetObjects | ID で指定した Move オブジェクトと、バッチ処理で取得するデコード済みフィールド |
suiListOwnedObjects | アドレスが所有するすべてのオブジェクト。ページ分割され、Move 型でフィルタリング可能 |
suiListDynamicFields | 1 つのオブジェクトの UID 配下にあるテーブル、バッグ、動的オブジェクトフィールド |
suiGetPackage | 公開済み Move パッケージが宣言するモジュール |
suiGetFunction | 1 つの Move 関数のシグネチャ |
suiResolveName | SuiNS 名からアドレス、またはアドレスから名前への変換 |
suiSimulateTransaction | 現在の状態に対して実行し、送信はせずに、トランザクションで何が起こるかを確認 |
suiWatchEvents | 実行済みの最新地点以降の Move イベントを、再開可能なカーソルからポーリング |
これがすべてです。ツールは 25 個です。
rpcCall でできること、できないこと
rpcCall は読み取りとデータ取得のための手段であり、ウォレットではありません。これは読み取り許可リストではなく、書き込み拒否リストです。すべてのチェーンファミリーで、トランザクションのブロードキャストと署名、トランザクションの 構築、ノードと開発ノードの管理、変更を伴う動詞、geth の debug_* 名前空間にあるノード操作関連の呼び出しを拒否し、それ以外はすべて転送します。
したがって、許可された読み取りの一覧は保持しません。利用できる読み取りは、チェーンごとにエンドポイントのブロックチェーンスキーマとテナントに許可された呼び出しによって決まるため、転送された読み取りも拒否される場合があります(Method disabled, reason: restricted by blockchain schema)。この拒否が確定的な回答です。対応状況は listChains で確認できます。
トランザクションの署名と送信には、ご自身のウォレットまたは署名者をご利用ください。
レスポンスの読み方
すべての結果の読み方を左右するフィールドが2つあります。これを見落とすエージェントは、技術的には正しい出力を誤って解釈します。
_meta.tier — TORPC の tier は呼び出しごとにネゴシエーションされ、保証されません。プロキシ経由では、プロキシの圧縮予算を超える場合と、eth_call、eth_getCode、eth_getStorageAt のようにプロキシが圧縮しないメソッドの場合、レスポンスは tier 0(生のデータ、未デコード、args なし)で返されます。成功したレスポンスには、実際に適用された tier が _meta.tier に含まれるため、デコード済みフィールドを探す前に確認してください。エラー結果には代わりに _meta.error_code が含まれ、tier はありません。一部のツールでは、tier 2 を要求したもののそれより低い tier になった場合、リクエストを絞り込む方法の説明とともに、本文に tier_degraded: true を追加で報告します。すべてのツールがそうするわけではないため、参照すべきフィールドは _meta.tier です。_meta.tier_source は、どこで tier が適用されたかを示します。また、上記のデータ形式のルールはプロキシのみに当てはまります。Sui gRPC 経由(tier_source: "local")では、Move イベントの行に tier 0 でも contract、event、args が含まれます。これは、ノード自体が Move 構造体をデコードするためです。
デコードされた金額は生の基本単位であり、小数点以下の桁数は適用されていません。小数点以下が6桁のトークンで args.value: "41695680" の場合、4,169万ではなく41.69568です。人間が読み取れる数値として報告する前に、resolveContract でトークンの小数点以下の桁数を確認してください。
_meta.token_count は、出力テキストの実際の o200k_base トークン数であり、chars/4 による推定値ではありません。出力テキストが256 KBまでは正確です。これは、表示上限が適用されるすべてのレスポンスをカバーします。それを超える場合は外挿値となり、レスポンスには _meta.token_count_estimated: true が含まれます。レスポンスは最小化された JSON であるため、異なるトークナイザーを使うモデルでは、ほぼ同じものの完全には一致しない数値になります。
ツールの入力は厳密に検証されます。未知の引数は黙って破棄されず、検証エラーとして拒否されます。そのため、スペルミスのある引数名は無視されずに報告されます。2^53 を超えるブロック番号は文字列として渡す必要があります。それほど大きな JSON 数値は正確ではないためです。
TORPC ティア
| ティア | 意味 |
|---|---|
| 0 | パススルー — 標準の JSON-RPC |
| 1 | フィールド名の変更、16 進数から 10 進数への変換、およびサービスフィールドの削除:logsBloom、cumulativeGasUsed、contractAddress、type、ヘッダールート |
| 2 | ティア 1 に ABI デコードを追加 — 各ログは {contract, event, args} になり、calldata は名前付き引数を持つデコード済み関数になります |
ネゴシエーションにはヘッダーを使用します。リクエストには Accept-Token-Tier: 0|1|2、レスポンスには Token-Tier を指定します。プロキシは、レスポンスが圧縮予算内に収まる場合に限り、リクエストされたティアを適用します。この予算はプロキシ内部で管理されるため、このサーバーがティアを予測することはありません。適用されたティアを検出して報告します。
JSON-RPC の バッチでは、このヘッダーは個々の要素ではなく配列を表します。レスポンス配列が持つ Token-Tier は 1 つで、その値は各要素に適用されたティアの最小値です。v1 では要素ごとのティアを示すシグナルは定義されておらず、要素によってはこの下限を上回るティアが適用される場合があります。クライアントはヘッダーではなく、プロキシが各要素に残した形状から要素ごとのティアを読み取ります。ティア 1 ではフィールド名の変更と 10 進数文字列、ティア 2 では event/args が目印です。したがって、このヘッダーは下限であり、変換が適用されたことを示すシグナルでもあります。どのメソッドがティア 2 に達するかは、https://mcp.ankr.com/.well-known/torpc.json の記述子でメソッドごとに宣言されています。この記述子は npm パッケージの static/.well-known/torpc.json にも同梱されています。
仕様: w3tech/torpc。CC0-1.0 で公開されており、解説版として TORPC docs page もあります。リファレンスデコーダーは @w3tech.io/torpc-decoder(Apache-2.0)として公開されています。そのソースとベンチマークハーネスは、codec/ 以下の w3tech/torpc-js にあります。EVM のティア 1 およびティア 2 のルールは、現在仕様で規範的に定められています。適合性テストスイートは足場の段階であるため、この実装を含め、現時点で適合性を主張する実装はありません。
ディスカバリー
このデプロイメントについては、機械可読な2つのドキュメントで説明しています。どちらも公開されており、認証情報を含まず、クロスオリジンで読み取り可能です。
| ドキュメント | 配信先 |
|---|---|
| TORPC ディスクリプター:プロトコルバージョン、ネゴシエーションヘッダー、ティアの意味、メソッド一覧 | mcp.ankr.com/.well-known/torpc.jsonrpc.ankr.com/.well-known/torpc.json |
| エージェントカード:ERC-8004 登録ファイル。応答者と MCP エンドポイントを記載しています | mcp.ankr.com/.well-known/agent-card.jsonrpc.ankr.com/.well-known/agent-card.json |
どちらもこのパッケージの static/.well-known/ に含まれています。配信されているコピーがこのデプロイメントの正式な情報であり、パッケージ内のコピーは古くなっている場合があります。カードには x402Support: true と記載されています。これは、キーなしで /rpc にアクセスすると、x402 を通じて呼び出しごとに支払いが発生するためです。また、オンチェーン登録も信頼メカニズムも存在しないため、いずれも申告されていません。
対応チェーン
Ethereum、BSC、Polygon、Arbitrum、Optimism、Base、Avalanche などに加え、テストネットにも対応しています。インデックス付きツールが対応するチェーンは、raw-RPC ツールよりも広範です。
README の一覧を鵜呑みにせず、listChains を呼び出して最新の対応状況を確認してください。このプロジェクトでは、リリースなしで対応状況が変わることがあります。
Ankr アカウントの管理
https://mcp.ankr.com/mcp にある別の MCP インターフェースでは、アカウント管理(API キー、許可リスト、利用状況、請求情報の参照、チームメンバーシップ)を行えます。認証には API キーではなく OAuth を使用します。クライアントから求められたらサインインしてください。RPC API キーには管理権限がなく、このインターフェースでは拒否されます。
リンク
- API キーとプラン:ankr.com/rpc
- ドキュメント:ankr.com/docs の Agent RPC とアカウント管理
- TORPC 仕様:w3tech/torpc(CC0-1.0)。TORPC ドキュメントページで解説しています。
- TORPC デコーダー:
@w3tech.io/torpc-decoder(Apache-2.0)。ソースは w3tech/torpc-js のcodec/にあります。 - npm パッケージ:
@w3tech.io/agent-rpc-mcp - ディスカバリードキュメント:TORPC ディスクリプターとエージェントカード
ライセンス
MIT — LICENSE を参照してください。
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。