chainlens について
chainlens は、アドレス、トランザクション、コントラクトを調べる開発者やエージェント向けに、Blockscout 経由で EVM チェーンのデータを取得します。6 つのチェーンに対応し、ブロック、トークン、NFT、検証済みコントラクトの情報を扱います。
主な機能
- 01内蔵の 6 つの EVM チェーンを検索
- 02アドレス残高と取引履歴を取得
- 03ブロックとトランザクションの詳細を確認
- 04トークン残高、送金、NFT を確認
- 05検証済みコントラクトの ABI とソースを取得
- 06コントラクトメソッドの読み取りと API 呼び出し
活用シーン
- 01アドレスが保有するトークンと NFT を確認
- 02アドレスの取引やトークン送金を追跡
- 03ブロックまたはトランザクションの詳細を確認
- 04検証済みコントラクトのデータを読み取り
MCP 対応
MCP サーバーは、チェーン、アドレス、ブロック、トランザクション、トークン、NFT、コントラクトを調べる Blockscout ツールを提供します。チェーン一覧の絞り込みなどのローカルツールを除き、各チェーンの公開 Blockscout API v2 を利用します。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
ツール
16掲載時のツール一覧 · 1 週間前に更新
このツールにパラメーターはありません。
詳細
chainlens
chainlens は Blockscout を通じて EVM ブロックチェーンを調べます。アドレスが保有しているものや過去の動作、ブロックやトランザクションの内容、ウォレット内のトークンや NFT、検証済みコントラクトの ABI やソースを確認できます。Ethereum、Optimism、Gnosis、Polygon、Base、Arbitrum One の 6 つのチェーンが組み込まれており、すべての回答は該当チェーンの公開 Blockscout API v2 インスタンスから取得されます。
このパッケージは、元の Blockscout MCP サーバーの README に記載された 16 個のツールを、クリーンルーム方式で再構築したものです。記載されたツール一式をすべてカバーしています。ワイヤーマッピングについては、再構築した部分も含めて以下で説明します。
サービスとの通信方法
公開 Blockscout インスタンスでは API キーは不要です。
# Optional: send a key as an x-api-key header
export BLOCKSCOUT_API_KEY="your key"
# Optional: override the per-chain base URL for any chain
export BLOCKSCOUT_API_URL="https://eth.blockscout.com/api/v2"
ベース URL は、組み込みマップから chain_id ごとに選択されます。
1 は Ethereum、10 は Optimism、100 は Gnosis、137 は Polygon、8453 は Base、42161 は Arbitrum One です。不明な chain_id が指定されると、対応しているチェーン名を示すエラーになります。ただし、BLOCKSCOUT_API_URL が設定されている場合は、どのチェーンでもその指定が優先されます。
ワイヤーフォーマットに関する注記。 元のサーバーは、ほとんどのデータツールを PRO ゲートウェイ経由でルーティングします。この再構築版では、公開 Blockscout API v2(/addresses/...、/blocks/...、/transactions/...、/smart-contracts/...、/search)にマッピングしています。一部のデータ整形は再構築に基づくもので、初回の実環境でのスモークテストで確認しています。
- ENS の名前解決には、メインネットの
/search?q=<name>を使用し、アドレスを含む最初の結果を選びます。 read_contractは{function_name, args, abi}を/smart-contracts/{address}/methods/readに POST します。これは最も検証が不十分なマッピングです。cursor引数はcursorクエリパラメーターとして転送されます。Blockscout v2 のページネーションは通常next_page_paramsを使うため、cursor のサポートは仕様とのずれが生じるリスクがあります。age_from/age_to(およびmethods/token)のフィルターは、上流には転送されず、最初に取得したページに対してクライアント側で適用されます。
次の 2 つのツールはネットワークに接続しません。__unlock_blockchain_analysis__ はローカルのガイダンスとチェーン一覧を返し、get_chains_list は名前、チェーン ID、通貨の部分文字列でその一覧をローカルで絞り込みます。
インストール
npx @reneturcios/chainlens get_block_number '{"chain_id":"1"}'
または、コンテナイメージを実行します。
docker run -i ghcr.io/cloudcorprecords/chainlens
コンテナはデフォルトで MCP サーバーとして起動します。CLI として使うには、CLI 引数を渡してください。
CLI
CLI はツールに対応しており、各ツールに 1 つずつサブコマンドがあり、引数は単一の JSON オブジェクトとして受け取ります。
chainlens get_chains_list '{"query":"base"}'
chainlens get_address_info '{"chain_id":"1","address":"0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045"}'
chainlens get_transactions_by_address '{"chain_id":"1","address":"0x...","age_from":"2026-10-01T00:00:00Z","age_to":"2026-10-26T23:59:59Z"}'
chainlens get_block_info '{"chain_id":"8453","number_or_hash":"latest"}'
chainlens --version
終了コード:成功時は 0、API または検証エラー時は 1(エラーには問題の内容が示されます)、使用方法のエラー時は 2 です。
MCP サーバー
1 つのバイナリで両方のインターフェースを提供します。mcp サブコマンドを実行すると、stdio MCP サーバーが起動します。
npx -y @reneturcios/chainlens mcp
MCP クライアントの設定:
{
"mcpServers": {
"chainlens": {
"command": "npx",
"args": ["-y", "@reneturcios/chainlens", "mcp"]
}
}
}
ツール
| ツール | 入力 | 機能 |
|---|---|---|
__unlock_blockchain_analysis__ | — | ローカル:ステータス、ガイダンス、対応チェーンの一覧を返します。 |
get_chains_list | query | ローカル:名前/ID/通貨の部分文字列で絞り込んだ6チェーンの一覧を返します。 |
get_address_by_ens_name | name(必須) | メインネットで検索してENS名を解決し、アドレスを含む最初の結果を返します。 |
lookup_token_by_symbol | chain_id、symbol(必須) | チェーンを検索し、トークンタイプの項目を返します(該当がない場合はすべての項目を返します)。 |
get_contract_abi | chain_id、address(必須) | 検証済みコントラクトのABIを返します。 |
inspect_contract_code | chain_id、address(必須)、file_name | 検証済みコントラクトのソースコードと作成ステータスを返します。 |
get_address_info | chain_id、address(必須) | アドレスの残高、タイプ、メタデータを返します。 |
get_tokens_by_address | chain_id、address(必須)、cursor | アドレスが保有するトークン残高を返します。 |
get_block_number | chain_id(必須)、datetime | 最新のブロック番号とタイムスタンプを返し、指定された日時をそのまま返します。 |
get_transactions_by_address | chain_id、address、age_from、age_to(必須)、methods、cursor | アドレスのトランザクションを返します。期間とメソッドによる絞り込みは、最初のページに対してクライアント側で適用されます。 |
get_token_transfers_by_address | chain_id、address、age_from、age_to(必須)、token、cursor | ERC-20の転送を返します。期間とトークンによる絞り込みは、最初のページに対してクライアント側で適用されます。 |
nft_tokens_by_address | chain_id、address(必須)、cursor | アドレスが保有するNFTトークン(ERC-721、ERC-1155)を返します。 |
get_block_info | chain_id、number_or_hash(必須)、include_transactions | 番号またはハッシュでブロックの詳細を返します。 |
get_transaction_info | chain_id、hash(必須)、include_raw_input | ハッシュでトランザクションの詳細を返します。 |
read_contract | chain_id、address、abi、function_name(必須)、args(JSON文字列、既定値は[])、block | コントラクト関数を読み取ります(再構成されたワイヤーマッピングについては注記を参照)。 |
direct_api_call | chain_id、endpoint_path(必須)、query_params、method、json_body、cursor | 任意のBlockscout API v2エンドポイントパスを直接呼び出します。 |
開発
npm install
npm run build # tsc -> dist/
npm test # node test runner over test/*.test.ts, fake fetch only, no network
npm run dev # run the CLI from source via tsx
ライセンス
MIT — LICENSEを参照してください。
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。