mcpField
1
1scan - Blockchain Explorer API Gateway & MCP Server

1scan - Blockchain Explorer API Gateway & MCP Server

リモート
github.com/huahuayu開発ツール981 週間前に更新
リポジトリ

1scan - Blockchain Explorer API Gateway & MCP Server について

1scanは複数のEtherscan系ブロックチェーンエクスプローラーAPIを統合するゲートウェイで、AIアシスタント向けのMCPサーバーも備えます。対応ネットワークのアカウント、取引、ブロック、コントラクト情報を扱う開発者向けです。

主な機能

  1. 01複数のエクスプローラーAPIを統合
  2. 02API負荷分散
  3. 03APIレート制限の管理
  4. 04URLパラメーターでAPIキーを指定
  5. 05ブロックチェーンデータ検索ツール

活用シーン

  1. 01複数ネットワークのアカウント残高確認
  2. 02取引やブロック詳細の調査
  3. 03トークン転送とコントラクト情報の取得

MCP 対応

MCPサーバーとして、残高、取引、ブロック、トークン、コントラクトを調べるブロックチェーンエクスプローラーツールをMCPクライアントに提供します。SSEまたはstdioに対応します。

設定

リモートサーバーはインストール不要です。クライアントを選んで設定をコピーするか、ワンクリックで導入できます。

エンドポイントhttp://localhost:3000/mcp/sse
インストールコマンドをコピー
Claude CodeTerminal
Cursor.cursor/mcp.json
VS Code.vscode/mcp.json
Claude Desktopclaude_desktop_config.json
Windsurf~/.codeium/windsurf/mcp_config.json

コマンドはターミナルで実行し、JSON は各クライアントの MCP 設定に貼り付けて再起動します。認可が必要なサーバーは初回接続時にログインを求めます。

ツール

詳細

1scan - ブロックチェーンエクスプローラー API ゲートウェイ & MCP サーバー

AI アシスタント向けの Model Context Protocol(MCP)サポートを備えた、複数の Etherscan 風ブロックチェーンエクスプローラー API を統合する API ゲートウェイです。

概要

1scan は、次の 2 つの主要なコンポーネントを提供します。

  1. API ゲートウェイ:複数のブロックチェーンエクスプローラー API にアクセスするための統合エンドポイント
  2. MCP サーバー:AI モデル(Cursor IDE の Claude など)がブロックチェーンデータを直接照会できるようにします

対応するブロックチェーンネットワーク

各ブロックチェーンエクスプローラーから独自の API キーを申請してください

ネットワーク名Chain IDエクスプローラーリンクエクスプローラー API エンドポイント
Ethereum1https://etherscan.ioapi.etherscan.io
Binance Smart Chain56https://bscscan.comapi.bscscan.com
Arbitrum One42161https://arbiscan.ioapi.arbiscan.io
Polygon137https://polygonscan.comapi.polygonscan.com
Optimism10https://optimistic.etherscan.ioapi-optimistic.etherscan.io
Avalanche C-Chain43114https://snowtrace.ioapi.snowtrace.io
Base8453https://basescan.orgapi.basescan.org
zkSync Era324https://explorer.zksync.ioblock-explorer-api.mainnet.zksync.io
Gnosis100https://gnosisscan.ioapi.gnosisscan.io
Fantom250https://ftmscan.comapi.ftmscan.com
Mantle5000https://mantlescan.infoapi.mantlescan.info
Cronos25https://cronoscan.comapi.cronoscan.com
Polygon ZkEVM1101https://zkevm.polygonscan.comapi-zkevm.polygonscan.com
Linea59144https://lineascan.buildapi.lineascan.build
Moonbeam1284https://moonscan.ioapi.moonscan.io
Celo42220https://celoscan.ioapi.celoscan.io
Scroll534352https://scrollscan.comapi.scrollscan.com
OpBNB204https://opbnbscan.comapi.opbnbscan.com
Moonriver1285https://moonriver.moonscan.ioapi-moonriver.moonscan.io
Arbitrum Nova42170https://nova.arbiscan.ioapi-nova.arbiscan.io
Blast81457https://blastscan.ioapi.blastscan.io
Fraxtal252https://fraxscan.comapi.fraxscan.com
Wemix1111https://wemixscan.comapi.wemixscan.com
Xai660279https://xaiscan.ioapi.xaiscan.io
World Chain480https://worldscan.orgapi.worldscan.org
Ape33139https://apescan.io/api.apescan.io
Kroma255https://kromascan.comapi.kromascan.com
Taiko167000https://taikoscan.ioapi.taikoscan.io
Bittorrent199https://bttcscan.comapi.bttcscan.com
Xdc50https://xdcscan.ioapi.xdcscan.io

機能

  • 🔄 複数のブロックチェーンエクスプローラーに対応する統一 API エンドポイント
  • ⚖️ API 負荷分散
  • 🔑 API レート制限の管理
  • 🎯 URL パラメーターによるカスタム API キーのサポート
  • 🤖 AI アシスタントがブロックチェーンデータを照会するための MCP サーバー

インストール

Go から
go install github.com/huahuayu/1scan@latest
ソースから
# Clone the repository
git clone https://github.com/huahuayu/1scan.git
cd 1scan

# Build both 1scan API server and MCP server
make build

クイックスタート

1. 設定ファイルを作成する

API キーを含む config.json ファイルを作成します。

{
  "1": {
    "endpoint": "api.etherscan.io",
    "keys": {
      "YOUR_ETHERSCAN_API_KEY_1": 5,
      "YOUR_ETHERSCAN_API_KEY_2": 10
    }
  },
  "56": {
    "endpoint": "api.bscscan.com",
    "keys": {
      "YOUR_BSCSCAN_API_KEY": 5
    }
  }
}

各チェーンのエントリには、次の項目が含まれています。

  • chainID:ブロックチェーンのネットワーク ID
  • endpoint:ブロックチェーンエクスプローラーの API エンドポイント
  • keys:API キーとそのレート制限(1 秒あたりのリクエスト数)のマップ
2. API サーバーを起動する
# Run with default settings
1scan -config /path/to/config.json

# Or using make
make run-1scan
3. MCP サーバーを起動する
# Run with default settings
1scanmcp -config /path/to/config.json # default serve at port 3000

# Or using make
make run-1scanmcp

# With custom settings
1scanmcp -config /path/to/config.json -port 3000 -path /mcp

Cursor IDE との統合

Cursor IDE で 1scan MCP を使用するには、次の手順を実行します。

  1. API サーバーと MCP サーバーの両方を起動します。

    # Terminal 1
    make run-1scan
    
    # Terminal 2
    make run-1scanmcp
    
  2. Cursor IDE で「Settings → AI → MCP Servers」に移動します。

  3. 次の URL を使用して、新しい MCP サーバーを追加します。

{
  "mcpServers": {
    "1scan": {
      "url": "http://localhost:3000/mcp/sse"
    }
  }
}
  1. 必要に応じて Cursor IDE を再起動します。

  2. これで、AI との会話でブロックチェーンデータを使用できます。

    Can you check the balance of address 0x742d35Cc6634C0532925a3b844Bc454e4438f44e on Ethereum?
    

MCP サーバーの設定

MCP サーバーの実行時に、次のパラメーターで設定をカスタマイズできます。

  • -port:MCP サーバーを実行するポート(デフォルト:"3000")
  • -path:MCP サーバーのエンドポイントパス(デフォルト:"/mcp")
  • -config:設定ファイルのパス(デフォルト:"config.json")
  • -transport:トランスポートの種類(sse または stdio)(デフォルト:"sse")

例:

1scanmcp -port 3000 -config /path/to/config.json

利用可能な MCP ツール

MCP サーバーは、次のツールを AI モデルに公開します。

  • getAccountBalance - 指定したブロックチェーン上のアカウント残高を取得します
  • getTokenBalance - 指定したブロックチェーン上のアカウントのトークン残高を取得します
  • getTransactionByHash - ハッシュからトランザクションの詳細を取得します
  • getBlockByNumber - ブロック番号からブロック情報を取得します
  • getContractABI - 検証済みコントラクトの ABI を取得します
  • getContractSourceCode - 検証済みコントラクトのソースコードを取得します
  • getTokenInfo - ERC20 トークンの情報を取得します
  • getGasPrice - 指定したブロックチェーンの現在のガス価格を取得します
  • getLogs - 指定したパラメーターに一致するイベントログを取得します
  • getTransaction - ハッシュからトランザクションの詳細を取得します
  • getTransactionCount - アドレスから送信されたトランザクション数を取得します
  • getTransactionReceipt - トランザクションハッシュからトランザクションレシートを取得します
  • getBlockTransactionCountByNumber - ブロック内のトランザクション数を取得します
  • getBlockTransactionCountByHash - ブロックハッシュからブロック内のトランザクション数を取得します
  • getBlockByHash - ハッシュからブロック情報を取得します
  • getNormalTransactions - アドレスから通常のトランザクションを取得します
  • getInternalTransactions - アドレスまたはトランザクションハッシュから内部トランザクションを取得します
  • getERC20Transfers - アドレスまたはコントラクトから ERC-20 トークンの転送イベントを取得します
  • getERC721Transfers - アドレスまたはコントラクトから ERC-721 NFT の転送イベントを取得します
  • getValidators - バリデーター情報を取得します(バリデーターセットを持つネットワークの場合)
  • getContractCreation - コントラクトの作成情報を取得します
  • getContractVerificationStatus - コントラクトの検証ステータスを確認します

MCP の対話例

MCP インターフェースを通じてブロックチェーンデータを操作する例を紹介します。

# Get account balance
What's the ETH balance of vitalik.eth (0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045) on Ethereum?

# Check a token balance
What's the USDC balance of address 0x28C6c06298d514Db089934071355E5743bf21d60 on Ethereum?

# Examine a transaction
Can you analyze transaction 0xdd6d7f687c9821404ae8c2ea7de5cfb5a23fc4c01ef1e7f535748cb147aa76dd on Ethereum?

# Look up block information
What transactions were in Ethereum block 18700000?

# Get contract ABI
Can you show me the ABI for the USDC contract (0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48) on Ethereum?

# Analyze contract source code
I need to understand how the Uniswap V3 router works. Can you show me the source code for 0xE592427A0AEce92De3Edee1F18E0157C05861564 on Ethereum?

# Check multiple chains
What's the difference in gas fees between Ethereum and Arbitrum right now?

# Examine token information
Tell me about the tokenomics of the APE token on Ethereum.

MCP ツールの一覧

MCP サーバーは、AI モデルに次のツールを公開します。

  • getAccountBalance - 特定のブロックチェーン上のアカウント残高を取得します
  • getTokenBalance - 特定のブロックチェーン上のアカウントのトークン残高を取得します
  • getTransactionByHash - ハッシュからトランザクションの詳細を取得します
  • getBlockByNumber - ブロック番号からブロック情報を取得します
  • getContractABI - 検証済みコントラクトの ABI を取得します
  • getContractSourceCode - 検証済みコントラクトのソースコードを取得します
  • getTokenInfo - ERC20 トークンに関する情報を取得します
  • getGasPrice - 特定のブロックチェーンの現在のガス価格を取得します
  • getLogs - 指定したパラメーターに一致するイベントログを取得します
  • getTransaction - ハッシュからトランザクションの詳細を取得します
  • getTransactionCount - アドレスから送信されたトランザクション数を取得します
  • getTransactionReceipt - トランザクションハッシュからトランザクションレシートを取得します
  • getBlockTransactionCountByNumber - ブロック内のトランザクション数を取得します
  • getBlockTransactionCountByHash - ブロックハッシュからブロック内のトランザクション数を取得します
  • getBlockByHash - ハッシュからブロック情報を取得します
  • getNormalTransactions - アドレスから通常のトランザクションを取得します
  • getInternalTransactions - アドレスまたはトランザクションハッシュから内部トランザクションを取得します
  • getERC20Transfers - アドレスまたはコントラクトから ERC-20 トークンの転送イベントを取得します
  • getERC721Transfers - アドレスまたはコントラクトから ERC-721 NFT の転送イベントを取得します
  • getValidators - バリデーター情報を取得します(バリデーターセットを持つネットワークの場合)
  • getContractCreation - コントラクトの作成情報を取得します
  • getContractVerificationStatus - コントラクトの検証ステータスを確認します

MCP 統合のトラブルシューティング

Cursor から MCP サーバーへの接続で問題が発生した場合は、次の手順を実施してください。

  1. 両方のサーバーが実行中であることを確認します。

    # Check if servers are running
    ps aux | grep 1scanmcp
    
  2. Cursor で正しい URL が設定されていることを確認します

ライセンス

MIT ライセンス

コメント

MCP は初めてですか?

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

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