Evmscope について
Evmscopeは、AIエージェント開発者やトレーダー、研究者向けのEVMデータツールです。CLIまたはMCPサーバーとして7つのチェーンを扱い、APIキーや初期設定なしで価格、ウォレット、DeFi、安全性を読み取り専用で調べられます。
主な機能
- 01トークン価格、残高、ポートフォリオの取得
- 02ガス比較、スワップ・ブリッジ経路の照会
- 03利回り、TVL、大口送金の確認
- 04ハニーポット検出とトランザクションのシミュレーション
- 05NFT、ガバナンス、ブロック情報の照会
- 06読み取り専用のCLI・MCP両対応
活用シーン
- 01AIエージェントにリアルタイムのオンチェーン照会を追加
- 02ターミナルからトークン、ウォレット、DeFiプロトコルを調査
- 03スワップ前の見積もり比較やトークンリスク確認
MCP 対応
MCPサーバーとして、7つのEVMチェーンに対応する26種類の読み取り専用ツールをAIクライアントに公開します。APIキーなしで利用できます。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
ツール
26掲載時のツール一覧 · 3 週間前に更新
| パラメーター | 型 | 必須 | 説明 |
|---|---|---|---|
| token | string | はい | トークンシンボル(ETH、USDC)または contract address |
| chain | enum | いいえ | EVM チェーンethereum | polygon | arbitrum | base | optimism | avalanche | bsc |
詳細
evmscope
한국어 | 中文 | 日本語 | Español | Русский
EVM ブロックチェーンのインテリジェンスツールキットです。7 つのチェーンで 26 個のツールを利用できます。CLI または MCP サーバーとして使用できます。トークン価格、ガス代の比較、スワップ見積もり、利回り、ハニーポット検出、ブリッジ経路、トランザクションのシミュレーション、NFT 検索、ガバナンス提案、ポートフォリオ追跡などに対応しています。
evmscope を選ぶ理由
Claude や GPT などの AI エージェントは、リアルタイムのブロックチェーンデータにアクセスできません。「ETH の価格はいくらですか?」「このウォレットの残高を表示して」と尋ねても、「リアルタイムのデータにはアクセスできません」と返されます。
evmscope は、MCP プロトコルを通じて AI エージェントが 26 個のオンチェーンツールに直接アクセスできるようにすることで、この問題を解決します。トークン価格、ウォレット残高、DeFi 利回り、クジラの追跡、ハニーポット検出などに対応しています。API キーも設定も不要で、接続するだけですぐに使えます。
対象ユーザー
| ユーザー | ユースケース |
|---|---|
| AI エージェント開発者 | MCP サーバーとして接続し、AI にオンチェーン分析機能を提供します |
| 暗号資産トレーダー・研究者 | ターミナルからトークン、ウォレット、プロトコルを直接照会します |
| DeFi ユーザー | ハニーポット検出、承認状況の確認、クジラの追跡などの安全性ツールを利用します |
機能
- 26 個のツール — 価格、ガス代比較、スワップ見積もり、利回り、ハニーポット検出、ブリッジ経路、トランザクションのシミュレーション、イベントログ、トークン保有者、承認状況、TVL、クジラの追跡、残高、トークン情報、ENS、トランザクション状況、トランザクションのデコード、ABI 検索、アドレス識別、NFT 情報、NFT メタデータ、ガバナンス提案、ブロック情報、トークン送金、ポートフォリオ
- 7 つの EVM チェーン — Ethereum、Polygon、Arbitrum、Base、Optimism、Avalanche、BSC
- 組み込みトークン 49 種 — ETH、USDC、USDT、WETH、LINK、UNI、AAVE、ARB、OP、PEPE など
- ラベル付きアドレス 30 件以上 — 取引所、DeFi プロトコル、ブリッジ、クジラのウォレット
- 設定不要 — API キーは不要です。無料のパブリック API を使ってすぐに動作します
- 読み取り専用 — トランザクションは実行しません。資金を失うリスクはありません
- 2 つのモード — ターミナルで直接使う CLI と、AI エージェント連携用の MCP サーバー
クイックスタート
CLI
npx evmscope price ETH
npx evmscope gas
npx evmscope balance 0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045
npx evmscope portfolio 0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045
npx evmscope compare-gas
npx evmscope tvl Aave
npx evmscope swap ETH USDC 1.0
npx evmscope block latest
npx evmscope transfers 0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045
npx evmscope honeypot 0x...
npx evmscope --help を実行すると、22 個のコマンドすべてを確認できます。生の JSON を出力するには --json を追加してください。
MCP サーバー
引数なしで MCP サーバーとして起動します。
npx evmscope
Claude Code
claude mcp add evmscope -- npx -y evmscope
Claude Desktop
claude_desktop_config.json に追加します。
{
"mcpServers": {
"evmscope": {
"command": "npx",
"args": ["-y", "evmscope"]
}
}
}
Cursor
.cursor/mcp.json に追加します。
{
"mcpServers": {
"evmscope": {
"command": "npx",
"args": ["-y", "evmscope"]
}
}
}
ツール
getTokenPrice
トークンの現在価格、24 時間の変動、市場規模、取引量を取得します。
// Input
{ "token": "ETH", "chain": "ethereum" }
// Output
{
"success": true,
"data": {
"symbol": "ETH",
"name": "Ethereum",
"priceUsd": 1929.20,
"change24h": -2.34,
"marketCap": 232000000000,
"volume24h": 12500000000
}
}
getGasPrice
低速・通常・高速の各段階の現在のガス価格と、米ドル換算の見積もりを取得します。
// Input
{ "chain": "ethereum" }
// Output
{
"success": true,
"data": {
"slow": { "maxFeePerGas": "18.5", "maxPriorityFeePerGas": "1.2", "estimatedCostUsd": 0.75 },
"normal": { "maxFeePerGas": "20.0", "maxPriorityFeePerGas": "1.5", "estimatedCostUsd": 0.81 },
"fast": { "maxFeePerGas": "22.5", "maxPriorityFeePerGas": "2.25", "estimatedCostUsd": 0.91 },
"baseFee": "17.3",
"lastBlock": 19234567
}
}
getBalance
ネイティブトークンと ERC-20 トークンの残高を、米ドル換算額とともに取得します。
// Input
{ "address": "0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045", "chain": "ethereum" }
// Output
{
"success": true,
"data": {
"address": "0xd8dA...",
"nativeBalance": { "symbol": "ETH", "balanceFormatted": "1.234", "valueUsd": 2382.50 },
"tokenBalances": [
{ "symbol": "USDC", "balanceFormatted": "1.0", "valueUsd": 1.00 }
],
"totalValueUsd": 2383.50
}
}
getTokenInfo
ERC-20 トークンのメタデータ(名前、シンボル、小数桁数、総供給量)を取得します。
// Input
{ "token": "USDC", "chain": "ethereum" }
// Output
{
"success": true,
"data": {
"address": "0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48",
"name": "USD Coin",
"symbol": "USDC",
"decimals": 6,
"totalSupply": "26000000000"
}
}
resolveENS
ENS 名をアドレスに、またはアドレスを ENS 名に解決します(Ethereum メインネットのみ)。
// Input
{ "nameOrAddress": "vitalik.eth" }
// Output
{
"success": true,
"data": {
"name": "vitalik.eth",
"address": "0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045",
"avatar": "https://...",
"resolved": "name_to_address"
}
}
getTxStatus
トランザクションの状況、レシート、承認数、ガス使用量を取得します。
// Input
{ "txHash": "0xabc...def", "chain": "ethereum" }
// Output
{
"success": true,
"data": {
"hash": "0xabc...def",
"status": "success",
"blockNumber": 19234567,
"confirmations": 42,
"from": "0x1234...",
"to": "0x5678...",
"value": "1.5",
"gasUsed": "21000",
"effectiveGasPrice": "20.0",
"timestamp": 1741521600
}
}
decodeTx
トランザクションを構造化 JSON にデコードします。関数名、パラメーター、イベントログが含まれます。
// Input
{ "txHash": "0xabc...def", "chain": "ethereum" }
// Output
{
"success": true,
"data": {
"hash": "0xabc...def",
"from": "0x1234...",
"to": "0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D",
"value": "1.0",
"status": "success",
"function": {
"name": "swapExactETHForTokens",
"signature": "swapExactETHForTokens(uint256,address[],address,uint256)",
"args": { "amountOutMin": "1000000", "path": ["0xC02a...", "0xA0b8..."] }
},
"events": [
{ "name": "Transfer", "address": "0xA0b8...", "args": { "from": "0x...", "to": "0x...", "value": "1000000" } }
],
"gasUsed": "150000",
"gasPrice": "20.0"
}
}
getContractABI
検証済みコントラクトの ABI を検索します(Etherscan から Sourcify にフォールバック)。
// Input
{ "address": "0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48", "chain": "ethereum" }
// Output
{
"success": true,
"data": {
"address": "0xA0b8...",
"abi": [...],
"source": "etherscan",
"contractName": "FiatTokenV2_2",
"isContract": true,
"functionCount": 42,
"eventCount": 8
}
}
identifyAddress
アドレスを識別します。取引所、DeFi プロトコル、クジラのウォレット、または EOA を判定します。
// Input
{ "address": "0x28C6c06298d514Db089934071355E5743bf21d60", "chain": "ethereum" }
// Output
{
"success": true,
"data": {
"address": "0x28C6...",
"label": "Binance Hot Wallet",
"category": "exchange",
"protocol": null,
"isContract": false,
"tags": ["cex", "binance"]
}
}
compareGas
7 つの EVM チェーンすべてのガス代を一度に比較し、コストの低い順に並べます。
// Input
{}
// Output
{
"success": true,
"data": {
"chains": [
{ "chain": "base", "baseFeeGwei": "0.01", "estimatedCostUsd": 0.0001 },
{ "chain": "arbitrum", "baseFeeGwei": "0.1", "estimatedCostUsd": 0.004 },
{ "chain": "optimism", "baseFeeGwei": "0.05", "estimatedCostUsd": 0.002 },
{ "chain": "polygon", "baseFeeGwei": "30.0", "estimatedCostUsd": 0.01 },
{ "chain": "ethereum", "baseFeeGwei": "20.0", "estimatedCostUsd": 0.81 }
],
"cheapest": "base",
"mostExpensive": "ethereum"
}
}
getApprovalStatus
ERC-20 トークンの承認(allowance)状況を確認します。主要な DeFi プロトコルを自動確認し、リスクレベルを評価します。
// Input
{ "owner": "0xd8dA...", "token": "USDC", "chain": "ethereum" }
// Output
{
"success": true,
"data": {
"owner": "0xd8dA...",
"token": "USDC",
"tokenAddress": "0xA0b8...",
"approvals": [
{ "protocol": "Uniswap V3 (router)", "spender": "0xE592...", "allowance": "unlimited", "isUnlimited": true }
],
"riskLevel": "moderate"
}
}
getProtocolTVL
DefiLlama 経由で DeFi プロトコルの TVL(預け入れ総額)を取得します。チェーン別の内訳と、24 時間・7 日間の変動を確認できます。
// Input
{ "protocol": "Aave" }
// Output
{
"success": true,
"data": {
"protocol": "Aave",
"slug": "aave",
"totalTvlUsd": 12000000000,
"change24h": 1.5,
"change7d": -3.2,
"chainBreakdown": [
{ "chain": "Ethereum", "tvlUsd": 8000000000, "percentage": 66.67 },
{ "chain": "Polygon", "tvlUsd": 2000000000, "percentage": 16.67 }
]
}
}
getWhaleMovements
大規模なトークン送金(クジラの動き)を追跡します。取引所への入金・出金の方向を分類します。
// Input
{ "token": "USDC", "chain": "ethereum", "minValueUsd": 100000, "limit": 10 }
// Output
{
"success": true,
"data": {
"token": "USDC",
"tokenAddress": "0xA0b8...",
"movements": [
{ "txHash": "0xabc...", "from": "0x1234...", "to": "0x28C6...", "fromLabel": null, "toLabel": "Binance Hot Wallet", "value": "500000.00", "valueUsd": 500000, "direction": "exchange_deposit", "timestamp": 1710000000 }
],
"summary": { "totalMovements": 1, "totalValueUsd": 500000, "netExchangeFlow": 500000 }
}
}
getSwapQuote
ParaSwap 経由で DEX スワップの見積もりを取得します。最適な経路、ガス代、自動 ETH→WETH 変換に対応しています。
// Input
{ "tokenIn": "ETH", "tokenOut": "USDC", "amountIn": "1.0", "chain": "ethereum" }
// Output
{
"success": true,
"data": {
"tokenIn": { "symbol": "ETH", "address": "0xEeee...", "amount": "1.000000" },
"tokenOut": { "symbol": "USDC", "address": "0xA0b8...", "amount": "1929.200000" },
"exchangeRate": 1929.2,
"priceImpact": null,
"source": "UniswapV3",
"estimatedGasUsd": "3.50"
}
}
getYieldRates
DefiLlama から DeFi の利回り(APY)を取得します。プロトコル、チェーン、最低 TVL で絞り込めます。
// Input
{ "protocol": "aave-v3", "chain": "Ethereum", "minTvl": 1000000 }
// Output
{
"success": true,
"data": {
"pools": [
{ "project": "aave-v3", "symbol": "USDC", "chain": "Ethereum", "apy": 5.2, "tvlUsd": 500000000, "stablecoin": true }
],
"count": 10
}
}
getContractEvents
ABI を自動デコードしてコントラクトのイベントログを取得します。
// Input
{ "address": "0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48", "chain": "ethereum", "limit": 5 }
// Output
{
"success": true,
"data": {
"events": [
{ "name": "Transfer", "args": { "from": "0x...", "to": "0x...", "value": "1000000" }, "txHash": "0x...", "blockNumber": 19234567 }
],
"count": 5,
"fromBlock": 19233567,
"toBlock": 19234567
}
}
getTokenHolders
トークン保有者の上位一覧を取得します。Ethereum では Ethplorer を使用し、その他のチェーンでは Etherscan の送金履歴から集計します。
// Input
{ "token": "USDC", "chain": "ethereum", "limit": 10 }
// Output
{
"success": true,
"data": {
"token": "0xA0b8...",
"holders": [
{ "address": "0x...", "balance": "1000000", "share": 15.5 }
],
"totalHolders": 12345
}
}
simulateTx
eth_call と estimateGas を使ってトランザクションをシミュレートします。失敗時には、ガス代の USD 見積もりとリバート理由を返します。
// Input
{ "from": "0x1234...", "to": "0x5678...", "data": "0xa9059cbb...", "chain": "ethereum" }
// Output
{
"success": true,
"data": {
"success": true,
"gasEstimate": "65000",
"gasEstimateUsd": 2.50,
"returnData": "0x0000...0001",
"error": null
}
}
checkHoneypot
Honeypot.is を使ってハニーポット(詐欺)トークンを検出します。売買時の税率、リスクレベル、フラグを返します。
// Input
{ "token": "0x...", "chain": "ethereum" }
// Output
{
"success": true,
"data": {
"isHoneypot": false,
"riskLevel": "safe",
"buyTax": 0,
"sellTax": 0,
"flags": [],
"tokenName": "USD Coin",
"tokenSymbol": "USDC"
}
}
getBridgeRoutes
LI.FI を使ってクロスチェーンブリッジのルートを取得します。手数料、所要時間、出力額を比較します。
// Input
{ "fromChain": "ethereum", "toChain": "arbitrum", "token": "USDC", "amount": "100" }
// Output
{
"success": true,
"data": {
"routes": [
{ "bridge": "Stargate", "estimatedTime": 60, "feeUsd": 0.50, "gasCostUsd": 2.10, "amountOut": "99.50", "amountOutUsd": 99.50 }
],
"bestRoute": { "bridge": "Stargate", "..." : "..." }
}
}
getNFTInfo
ウォレットの ERC-721 NFT 残高とトークン一覧を取得します。
// Input
{ "address": "0xd8dA...", "contractAddress": "0x...", "chain": "ethereum" }
// Output
{
"success": true,
"data": {
"chain": "ethereum",
"contractAddress": "0x...",
"owner": "0xd8dA...",
"totalBalance": 3,
"nfts": [
{ "tokenId": "1234", "tokenURI": "ipfs://..." }
]
}
}
getNFTMetadata
特定の NFT トークンのメタデータ(名前、画像、属性)を取得します。
// Input
{ "contractAddress": "0x...", "tokenId": "1234", "chain": "ethereum" }
// Output
{
"success": true,
"data": {
"contractAddress": "0x...",
"tokenId": "1234",
"tokenURI": "ipfs://...",
"metadata": {
"name": "Cool NFT #1234",
"description": "A very cool NFT",
"image": "ipfs://...",
"attributes": [
{ "trait_type": "Background", "value": "Blue" }
]
}
}
}
getGovernanceProposals
Snapshot からガバナンス提案(進行中、終了済み、またはすべて)を取得します。
// Input
{ "protocol": "uniswap", "state": "active" }
// Output
{
"success": true,
"data": {
"space": "uniswapgovernance.eth",
"state": "active",
"proposals": [
{
"title": "Proposal Title",
"state": "active",
"author": "0x1234...",
"start": "2025-01-01",
"end": "2025-01-07",
"votes": 1500,
"quorum": 1000,
"choices": ["For", "Against"],
"scores": [75.5, 24.5]
}
]
}
}
getBlockInfo
番号または最新のブロックについて、詳細(タイムスタンプ、ガス、トランザクション、バリデーター)を取得します。
// Input
{ "blockNumber": 19234567, "chain": "ethereum" }
// Output
{
"success": true,
"data": {
"number": 19234567,
"timestamp": 1741521600,
"gasUsed": "12345678",
"gasLimit": "30000000",
"baseFeePerGas": "20.0",
"transactionCount": 150,
"miner": "0x1234..."
}
}
getTokenTransfers
ウォレットアドレスの最近の ERC-20 トークン送金履歴を取得します。
// Input
{ "address": "0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045", "chain": "ethereum", "limit": 5 }
// Output
{
"success": true,
"data": {
"transfers": [
{ "token": "USDC", "from": "0x1234...", "to": "0xd8dA...", "value": "1000.00", "direction": "in", "txHash": "0xabc...", "timestamp": 1741521600 }
],
"count": 5
}
}
getPortfolio
ネイティブトークンと ERC-20 の残高、および USD 換算額を含むウォレットの全ポートフォリオを取得します。
// Input
{ "address": "0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045", "chain": "ethereum" }
// Output
{
"success": true,
"data": {
"address": "0xd8dA...",
"native": { "symbol": "ETH", "balance": "1.234", "valueUsd": 2382.50 },
"tokens": [
{ "symbol": "USDC", "balance": "1000.00", "valueUsd": 1000.00, "percentage": 29.6 }
],
"totalValueUsd": 3382.50
}
}
対応チェーン
| チェーン | チェーン ID | ネイティブトークン |
|---|---|---|
| Ethereum | 1 | ETH |
| Polygon | 137 | POL |
| Arbitrum | 42161 | ETH |
| Base | 8453 | ETH |
| Optimism | 10 | ETH |
| Avalanche | 43114 | AVAX |
| BSC | 56 | BNB |
環境変数(任意)
すべての環境変数は任意です。evmscope は設定なしで動作します。
| 変数 | 用途 | デフォルト |
|---|---|---|
EVMSCOPE_RPC_URL | カスタム RPC エンドポイント(すべてのチェーン) | パブリック RPC |
EVMSCOPE_RPC_URL_ETHEREUM | Ethereum 専用 RPC エンドポイント | RPC_URL にフォールバック |
EVMSCOPE_RPC_URL_POLYGON | Polygon 専用 RPC エンドポイント | RPC_URL にフォールバック |
EVMSCOPE_RPC_URL_ARBITRUM | Arbitrum 専用 RPC エンドポイント | RPC_URL にフォールバック |
EVMSCOPE_RPC_URL_BASE | Base 専用 RPC エンドポイント | RPC_URL にフォールバック |
EVMSCOPE_RPC_URL_OPTIMISM | Optimism 専用 RPC エンドポイント | RPC_URL にフォールバック |
EVMSCOPE_RPC_URL_AVALANCHE | Avalanche 専用 RPC エンドポイント | RPC_URL にフォールバック |
EVMSCOPE_RPC_URL_BSC | BSC 専用 RPC エンドポイント | RPC_URL にフォールバック |
EVMSCOPE_COINGECKO_KEY | CoinGecko API キー(レート制限の緩和) | 無料プラン |
EVMSCOPE_ETHERSCAN_KEY | Etherscan API キー(レート制限の緩和) | 無料プラン |
EVMSCOPE_POLYGONSCAN_KEY | Polygonscan API キー | ETHERSCAN_KEY にフォールバック |
EVMSCOPE_ARBISCAN_KEY | Arbiscan API キー | ETHERSCAN_KEY にフォールバック |
EVMSCOPE_BASESCAN_KEY | Basescan API キー | ETHERSCAN_KEY にフォールバック |
EVMSCOPE_OPTIMISTIC_KEY | Optimistic Etherscan API キー | ETHERSCAN_KEY にフォールバック |
EVMSCOPE_SNOWTRACE_KEY | Snowtrace API キー(Avalanche) | ETHERSCAN_KEY にフォールバック |
EVMSCOPE_BSCSCAN_KEY | BscScan API キー(BSC) | ETHERSCAN_KEY にフォールバック |
EVMSCOPE_ETHPLORER_KEY | Ethplorer API キー(トークン保有者) | freekey |
EVMSCOPE_LIFI_KEY | LI.FI API キー(ブリッジルート) | パブリックアクセス |
EVMSCOPE_DEBUG | デバッグログを有効化(1 に設定) | 無効 |
組み込みデータベース
| データベース | 内容 |
|---|---|
tokens.json | マルチチェーンのアドレスと CoinGecko ID を含む主要トークン 49 種 |
signatures.json | 一般的な関数シグネチャ 36 種(ERC-20、DEX、レンディング、NFT) |
labels.json | ラベル付きアドレス 30 件(取引所、ブリッジ、クジラのウォレット) |
protocols.json | マルチチェーンのコントラクトアドレスを含む DeFi プロトコル 10 種 |
ロードマップ
- v0.1(完了)— 5 つのツール:price、transaction fees、balance、token info、ENS
- v0.5(完了)— ツールを 4 つ追加:decodeTx、getTxStatus、getContractABI、identifyAddress
- v1.0(完了)— ツールを 5 つ追加:compareGas、getApprovalStatus、getProtocolTVL、getWhaleMovements、getSwapQuote
- v1.5(完了)— ツールを 6 つ追加:simulateTx、getYieldRates、getTokenHolders、getContractEvents、checkHoneypot、getBridgeRoutes
- v1.5.1(完了)— コード品質とセキュリティのリファクタリング:新しい共有モジュールを 7 つ追加、チェーンごとの RPC URL、キャッシュサイズの上限、アドレス検証の統一、CLI のモジュール化
- v1.6.0(完了)— ツールを 3 つ追加:getNFTInfo、getNFTMetadata、getGovernanceProposals。チェーンを 2 つ追加:Avalanche、BSC
- v1.7.0(完了)— ツールを 3 つ追加:getBlockInfo、getTokenTransfers、getPortfolio。セキュリティ強化(v1.6.1)
ライセンス
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。