Skip to main content
Glama

evmscope

한국어 | 中文 | 日本語 | Español | Русский

EVM blockchain intelligence toolkit. 26 tools across 7 chains — use as a CLI or MCP server. Token prices, gas comparison, swap quotes, yield rates, honeypot detection, bridge routes, tx simulation, NFT lookup, governance proposals, portfolio tracking, and more.

Why evmscope?

AI agents like Claude and GPT cannot access real-time blockchain data. Ask "What's the ETH price?" or "Show me this wallet's balance" and you'll get "I can't access real-time data."

evmscope solves this by giving AI agents direct access to 26 on-chain tools via the MCP protocol — token prices, wallet balances, DeFi yields, whale tracking, honeypot detection, and more. No API keys, no setup, just connect and go.

Related MCP server: Universal Crypto MCP

Who is it for?

User

Use Case

AI agent developers

Connect as MCP server to give AI on-chain analysis capabilities

Crypto traders & researchers

Query tokens, wallets, and protocols directly from the terminal

DeFi users

Safety tools — honeypot detection, approval status checks, whale tracking

Features

  • 26 tools — Price, gas compare, swap quote, yield rates, honeypot detection, bridge routes, tx simulation, event logs, token holders, approval status, TVL, whale tracking, balance, token info, ENS, tx status, tx decode, ABI lookup, address ID, NFT info, NFT metadata, governance proposals, block info, token transfers, portfolio

  • 7 EVM chains — Ethereum, Polygon, Arbitrum, Base, Optimism, Avalanche, BSC

  • 49 built-in tokens — ETH, USDC, USDT, WETH, LINK, UNI, AAVE, ARB, OP, PEPE, and more

  • 30+ labeled addresses — Exchanges, DeFi protocols, bridges, whale wallets

  • Zero config — No API keys required. Works out of the box with free public APIs

  • Read-only — No transaction execution. Zero risk of fund loss

  • Dual mode — CLI for direct terminal use, MCP server for AI agent integration

Quick Start

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...

Run npx evmscope --help to see all 22 commands. Add --json for raw JSON output.

MCP Server

Start as an MCP server (no arguments):

npx evmscope

Claude Code

claude mcp add evmscope -- npx -y evmscope

Claude Desktop

Add to claude_desktop_config.json:

{
  "mcpServers": {
    "evmscope": {
      "command": "npx",
      "args": ["-y", "evmscope"]
    }
  }
}

Cursor

Add to .cursor/mcp.json:

{
  "mcpServers": {
    "evmscope": {
      "command": "npx",
      "args": ["-y", "evmscope"]
    }
  }
}

Tools

getTokenPrice

Get current token price, 24h change, market cap, and volume.

// Input
{ "token": "ETH", "chain": "ethereum" }

// Output
{
  "success": true,
  "data": {
    "symbol": "ETH",
    "name": "Ethereum",
    "priceUsd": 1929.20,
    "change24h": -2.34,
    "marketCap": 232000000000,
    "volume24h": 12500000000
  }
}

getGasPrice

Get current gas prices in slow/normal/fast tiers with USD estimates.

// 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

Get native token + ERC-20 token balances with USD values.

// 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

Get ERC-20 token metadata (name, symbol, decimals, total supply).

// Input
{ "token": "USDC", "chain": "ethereum" }

// Output
{
  "success": true,
  "data": {
    "address": "0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48",
    "name": "USD Coin",
    "symbol": "USDC",
    "decimals": 6,
    "totalSupply": "26000000000"
  }
}

resolveENS

Resolve ENS names to addresses and vice versa (Ethereum mainnet only).

// Input
{ "nameOrAddress": "vitalik.eth" }

// Output
{
  "success": true,
  "data": {
    "name": "vitalik.eth",
    "address": "0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045",
    "avatar": "https://...",
    "resolved": "name_to_address"
  }
}

getTxStatus

Get transaction status, receipt, confirmations, and gas usage.

// 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

Decode a transaction into structured JSON — function name, parameters, event logs.

// 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

Look up a verified contract's ABI (Etherscan → Sourcify fallback).

// Input
{ "address": "0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48", "chain": "ethereum" }

// Output
{
  "success": true,
  "data": {
    "address": "0xA0b8...",
    "abi": [...],
    "source": "etherscan",
    "contractName": "FiatTokenV2_2",
    "isContract": true,
    "functionCount": 42,
    "eventCount": 8
  }
}

identifyAddress

Identify an address — exchange, DeFi protocol, whale wallet, or 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

Compare gas fees across all 7 EVM chains at once, sorted by lowest cost.

// 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

Check ERC-20 token approval (allowance) status. Auto-checks major DeFi protocols with risk level assessment.

// 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

Get DeFi protocol TVL (Total Value Locked) via DefiLlama — chain breakdown, 24h/7d changes.

// 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

Track large token transfers (whale movements). Classifies exchange deposit/withdrawal direction.

// 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

Get DEX swap quotes via ParaSwap — optimal route, gas cost, auto ETH→WETH conversion.

// 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

Get DeFi yield rates (APY) from DefiLlama. Filter by protocol, chain, minimum 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

Get contract event logs with automatic ABI decoding.

// 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

Get top token holders. Ethereum uses Ethplorer, other chains aggregate from Etherscan transfers.

// Input
{ "token": "USDC", "chain": "ethereum", "limit": 10 }

// Output
{
  "success": true,
  "data": {
    "token": "0xA0b8...",
    "holders": [
      { "address": "0x...", "balance": "1000000", "share": 15.5 }
    ],
    "totalHolders": 12345
  }
}

simulateTx

Simulate a transaction via eth_call + estimateGas. Returns gas estimate in USD and revert reason on failure.

// 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

Detect honeypot (scam) tokens via Honeypot.is. Returns buy/sell tax, risk level, and flags.

// Input
{ "token": "0x...", "chain": "ethereum" }

// Output
{
  "success": true,
  "data": {
    "isHoneypot": false,
    "riskLevel": "safe",
    "buyTax": 0,
    "sellTax": 0,
    "flags": [],
    "tokenName": "USD Coin",
    "tokenSymbol": "USDC"
  }
}

getBridgeRoutes

Get cross-chain bridge routes via LI.FI. Compares fees, time, and output amount.

// 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

Get ERC-721 NFT balance and token list for a wallet.

// 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

Get metadata for a specific NFT token (name, image, attributes).

// 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

Get governance proposals from Snapshot (active, closed, or all).

// 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

Block details (timestamp, gas, transactions, validator) by number or latest.

// 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

Recent ERC-20 token transfer history for a wallet address.

// 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

Complete wallet portfolio with native + ERC-20 balances and USD values.

// 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
  }
}

Supported Chains

Chain

Chain ID

Native Token

Ethereum

1

ETH

Polygon

137

POL

Arbitrum

42161

ETH

Base

8453

ETH

Optimism

10

ETH

Avalanche

43114

AVAX

BSC

56

BNB

Environment Variables (Optional)

All environment variables are optional. evmscope works without any configuration.

Variable

Purpose

Default

EVMSCOPE_RPC_URL

Custom RPC endpoint (all chains)

Public RPC

EVMSCOPE_RPC_URL_ETHEREUM

Ethereum-specific RPC endpoint

Falls back to RPC_URL

EVMSCOPE_RPC_URL_POLYGON

Polygon-specific RPC endpoint

Falls back to RPC_URL

EVMSCOPE_RPC_URL_ARBITRUM

Arbitrum-specific RPC endpoint

Falls back to RPC_URL

EVMSCOPE_RPC_URL_BASE

Base-specific RPC endpoint

Falls back to RPC_URL

EVMSCOPE_RPC_URL_OPTIMISM

Optimism-specific RPC endpoint

Falls back to RPC_URL

EVMSCOPE_RPC_URL_AVALANCHE

Avalanche-specific RPC endpoint

Falls back to RPC_URL

EVMSCOPE_RPC_URL_BSC

BSC-specific RPC endpoint

Falls back to RPC_URL

EVMSCOPE_COINGECKO_KEY

CoinGecko API key (higher rate limits)

Free tier

EVMSCOPE_ETHERSCAN_KEY

Etherscan API key (higher rate limits)

Free tier

EVMSCOPE_POLYGONSCAN_KEY

Polygonscan API key

Falls back to ETHERSCAN_KEY

EVMSCOPE_ARBISCAN_KEY

Arbiscan API key

Falls back to ETHERSCAN_KEY

EVMSCOPE_BASESCAN_KEY

Basescan API key

Falls back to ETHERSCAN_KEY

EVMSCOPE_OPTIMISTIC_KEY

Optimistic Etherscan API key

Falls back to ETHERSCAN_KEY

EVMSCOPE_SNOWTRACE_KEY

Snowtrace API key (Avalanche)

Falls back to ETHERSCAN_KEY

EVMSCOPE_BSCSCAN_KEY

BscScan API key (BSC)

Falls back to ETHERSCAN_KEY

EVMSCOPE_ETHPLORER_KEY

Ethplorer API key (token holders)

freekey

EVMSCOPE_LIFI_KEY

LI.FI API key (bridge routes)

Public access

EVMSCOPE_DEBUG

Enable debug logging (set to 1)

Disabled

Built-in Databases

Database

Contents

tokens.json

49 major tokens with multi-chain addresses and CoinGecko IDs

signatures.json

36 common function signatures (ERC-20, DEX, lending, NFT)

labels.json

30 labeled addresses (exchanges, bridges, whale wallets)

protocols.json

10 DeFi protocols with multi-chain contract addresses

Roadmap

  • v0.1 (done) — 5 tools: price, transaction fees, balance, token info, ENS

  • v0.5 (done) — +4 tools: decodeTx, getTxStatus, getContractABI, identifyAddress

  • v1.0 (done) — +5 tools: compareGas, getApprovalStatus, getProtocolTVL, getWhaleMovements, getSwapQuote

  • v1.5 (done) — +6 tools: simulateTx, getYieldRates, getTokenHolders, getContractEvents, checkHoneypot, getBridgeRoutes

  • v1.5.1 (done) — Code quality + security refactoring: 7 new shared modules, per-chain RPC URLs, cache size limits, unified address validation, CLI modularization

  • v1.6.0 (done) — +3 tools: getNFTInfo, getNFTMetadata, getGovernanceProposals. +2 chains: Avalanche, BSC

  • v1.7.0 (done) — +3 tools: getBlockInfo, getTokenTransfers, getPortfolio. Security hardening (v1.6.1)

License

MIT

Available Tools

26 tools
checkHoneypotA

토큰의 허니팟(사기) 여부를 탐지합니다 (매수/매도 세금, 위험도, 플래그, Honeypot.is 기반)

ParametersJSON Schema
NameRequiredDescriptionDefault
tokenYes토큰 주소 (0x...) 또는 심볼
chainNoEVM 체인ethereum

TDQS

A3.8/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries the full disclosure burden. It adds valuable context about what gets analyzed (매수/매도 세금, 위험도, 플래그/buy-sell taxes, risk, flags) and the external dependency (Honeypot.is 기반). However, it lacks disclosure on error handling, rate limits, data freshness, or whether this triggers any blockchain transactions.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Extremely efficient single-sentence structure with parenthetical elaboration. Every element earns its place: the core function, specific check criteria, and data source attribution. No redundancy or filler content.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a 2-parameter fraud detection tool with 100% schema coverage, the description is nearly complete. It hints at return values by listing checked criteria (taxes, risk, flags). Minor gap: explicit mention of output structure or reliability warnings would perfect it, given the high-stakes nature of financial fraud detection.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, with the schema already clearly documenting both parameters (token as address/symbol, chain as EVM enum with defaults). The description mentions '토큰' but adds no semantic meaning beyond what the schema already provides, warranting the baseline 3.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly specifies the verb (탐지합니다/detects), resource (토큰/token), and specific scope (허니팟/사기 여부/honeypot fraud status). It distinguishes from siblings like getTokenInfo by focusing specifically on fraud detection rather than general metadata.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

While the specific domain (fraud detection) implies usage context, there is no explicit guidance on when to use this versus getTokenInfo or getApprovalStatus, no prerequisites mentioned, and no warnings about relying on external Honeypot.is data.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

compareGasA

5개 EVM 체인의 가스비를 한 번에 비교합니다 (최저가 순 정렬, USD 예상 비용 포함)

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A4/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries the full disclosure burden. It successfully communicates output formatting (lowest-first sorting, USD estimates) and scope limitation (5 chains). However, it omits operational details like whether data is real-time vs cached, specific chain identifiers, or rate limiting concerns.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Single sentence construction with action-front-loaded structure ('5개 EVM 체인의 가스비를 한 번에 비교합니다'). Parenthetical details (sorting order, USD inclusion) efficiently append without verbosity. Zero redundant content.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a zero-parameter tool without output schema, the description adequately conveys return value characteristics (sorted comparison with USD estimates). Minor gap exists regarding specific chain identification (which 5 chains), but sufficient for tool selection given the explicit '5 chains' quantifier.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Input schema contains zero parameters, establishing a baseline of 4 per evaluation rules. The description appropriately requires no parameter explanation, as the empty schema properties object confirms this is a parameter-free comparison utility.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool compares gas fees across 5 EVM chains, using the specific verb '비교합니다' (compare). It distinguishes from sibling 'getGasPrice' by emphasizing multi-chain scope (5 chains) and added features (sorting, USD conversion), which implies aggregation behavior beyond single-chain queries.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies usage through its scope (5 chains vs single), suggesting use when users need comparative cross-chain data rather than individual chain data. However, it lacks explicit guidance on when to prefer this over 'getGasPrice' or other siblings, and states no prerequisites or exclusions.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

decodeTxB

트랜잭션을 구조화된 JSON으로 해석합니다 (함수명, 파라미터, 이벤트 로그, 가스 정보)

ParametersJSON Schema
NameRequiredDescriptionDefault
txHashYes트랜잭션 해시 (0x...)
chainNo체인 (ethereum, polygon, arbitrum, base, optimism)ethereum

TDQS

B3.4/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries the full burden. It successfully discloses the output structure (function names, logs, gas data) which compensates for the missing output schema. However, it fails to disclose other behavioral traits like read-only safety, error handling for invalid hashes, or rate limiting.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single efficient sentence with a parenthetical clarifying the JSON contents. Every element earns its place: the verb defines the action, the format specifies the output structure, and the parenthetical lists the specific decoded components without redundancy.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the lack of output schema, the description appropriately compensates by detailing what the structured JSON contains (function name, parameters, logs, gas). For a 2-parameter decoding tool, this is sufficient, though it could be improved by noting read-only nature or supported chains.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100% (both `txHash` and `chain` are well-documented in the schema). The description focuses entirely on the output behavior and adds no additional parameter semantics, meeting the baseline expectation for high-coverage schemas.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool decodes/parses (해석합니다) transactions into structured JSON, specifying exactly what data is extracted (function name, parameters, event logs, gas info). However, it does not explicitly differentiate from siblings like `getTxStatus` or `simulateTx`, which also interact with transactions but for different purposes.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides no guidance on when to use this tool versus alternatives. It does not indicate when to prefer this over `getTxStatus` (for confirmation status) or `simulateTx` (for simulating future transactions), nor does it mention prerequisites like having a valid transaction hash.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

getApprovalStatusB

ERC-20 토큰 승인(allowance) 상태를 조회합니다. 주요 프로토콜 자동 체크, 리스크 레벨 판정

ParametersJSON Schema
NameRequiredDescriptionDefault
ownerYes지갑 주소
tokenYes토큰 심볼 (USDC, USDT) 또는 contract address
spenderNo특정 spender 주소 (미지정 시 주요 프로토콜 자동 조회)
chainNoEVM 체인ethereum

TDQS

B3.4/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries the full disclosure burden and succeeds in communicating key behavioral traits: it notes the '주요 프로토콜 자동 체크' (auto-check major protocols) functionality and '리스크 레벨 판정' (risk level determination), indicating this performs analysis beyond raw data retrieval. However, it omits explicit read-only safety disclosure.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Extremely compact with two efficient phrases delivering the core purpose and key features without redundancy. The telegraphic style ('주요 프로토콜 자동 체크, 리스크 레벨 판정') sacrifices grammatical completeness for brevity but remains interpretable, though a full sentence structure would improve clarity slightly.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the good schema coverage (100%) but absence of annotations and output schema, the description adequately covers the tool's purpose and special features (risk assessment). However, it lacks disclosure of return value structure (allowance amounts, risk ratings) which would be expected for a complete specification without output schema documentation.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

With 100% schema description coverage, the structured schema already fully documents all 4 parameters (owner, token, spender, chain). The description doesn't add syntax, format constraints, or examples beyond the schema declarations, warranting the baseline score of 3.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the specific action (조회합니다/query) and resource (ERC-20 토큰 승인/allowance 상태), distinguishing it from siblings like getBalance or getTokenInfo which handle different token aspects. It effectively identifies the tool's domain as ERC-20 allowance checking.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides no explicit guidance on when to use this tool versus alternatives (e.g., when to check approvals vs token balances), nor does it mention prerequisites like requiring an owner address. The risk assessment feature is mentioned but not contextualized with usage scenarios.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

getBalanceB

지갑 주소의 네이티브 토큰 + ERC-20 토큰 잔고를 조회합니다 (USD 환산 포함)

ParametersJSON Schema
NameRequiredDescriptionDefault
addressYes조회할 지갑 주소 (0x...)
chainNoEVM 체인ethereum
tokensNo조회할 토큰 심볼 목록 (기본: USDC, USDT, DAI, WETH)

TDQS

B3.2/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries the full burden of behavioral disclosure. It adds valuable context that USD conversion is included in the response, which helps set expectations. However, it omits other critical behavioral details such as whether the tool performs real-time blockchain queries or uses cached data, timeout behavior, or what happens if invalid token symbols are provided.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, efficient sentence that front-loads the core action. However, given the absence of annotations and output schema, it errs on being overly terse rather than appropriately informative for agent decision-making.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With 3 parameters, no annotations, and no output schema, the description provides minimum viable context by mentioning USD conversion. However, it lacks information on return structure, array handling for multiple tokens, error responses, or chain-specific behaviors that would help an agent invoke the tool correctly.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Input schema has 100% description coverage with clear parameter documentation. The description mentions 'native token + ERC-20 token' which loosely maps to the 'tokens' array parameter semantics, but does not add syntax details, examples, or constraints beyond what the schema already provides. Baseline 3 is appropriate given high schema coverage.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool queries (조회합니다) native token and ERC-20 token balances with USD conversion. It specifies the resource (wallet address balances) and scope (native + ERC-20). However, it does not explicitly differentiate from sibling 'getPortfolio' which may also return balance-related data.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No usage guidance is provided. There is no indication of when to use this versus 'getPortfolio' or 'getTokenInfo', no prerequisites (e.g., address format validation), and no mention of error conditions or rate limits.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

getBlockInfoA

블록 번호 또는 'latest'로 블록 상세 정보(타임스탬프, 트랜잭션 수, gas 사용량, 검증자)를 조회합니다

ParametersJSON Schema
NameRequiredDescriptionDefault
blockNumberNo블록 번호 또는 'latest'latest
chainNoEVM 체인ethereum

TDQS

A3.7/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The description carries the full burden since no annotations are provided. It compensates well by disclosing the specific output fields returned (timestamp, transaction count, gas usage, validator), clarifying what 'detailed information' actually means. However, it lacks explicit statements about read-only safety, rate limits, or error behaviors.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Single well-structured Korean sentence efficiently conveys the tool's purpose. The parenthetical listing of return fields adds density without clutter. Front-loaded with the action verb (조회합니다/query) followed immediately by the resource and modifiers.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

No output schema exists, but the description proactively lists the four key data points returned (timestamp, tx count, gas, validator), which partially compensates. With 100% schema coverage on inputs and only 2 simple parameters, the description provides adequate context for invocation, though EVM-specific behavior could be explicit.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, establishing a baseline of 3. The description adds value by illustrating the 'latest' usage pattern for blockNumber and contextualizing the query action, but doesn't expand significantly on the chain parameter semantics beyond the schema's existing documentation.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

Clear verb (조회합니다/retrieves) and specific resource (block detailed info) with concrete field enumeration. Distinguishes from transaction-level siblings (getTxStatus) and account-level tools (getBalance) by specifying block-level data like validators and gas usage. However, it doesn't explicitly contrast with getContractEvents or other block-adjacent tools.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Provides implicit usage guidance by mentioning the 'latest' keyword option for querying the most recent block, but lacks explicit when-to-use guidance versus alternatives like getTxStatus or getContractEvents. No mention of prerequisites (connecting wallet, network selection implications).

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

getBridgeRoutesA

크로스체인 브릿지 경로를 조회합니다 (LI.FI 기반, 비용/시간/경로 비교, 최적 경로 추천)

ParametersJSON Schema
NameRequiredDescriptionDefault
fromChainYes출발 체인
toChainYes도착 체인
tokenYes토큰 심볼 (USDC, ETH 등) 또는 컨트랙트 주소
amountYes전송 수량 (사람이 읽을 수 있는 단위, 예: '100')

TDQS

A3.8/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries the full disclosure burden. It successfully identifies the third-party provider (LI.FI) and evaluation criteria (cost/time comparison, optimal recommendation). However, it omits safety profile confirmation (read-only vs transactional), rate limits, or real-time vs cached data disclosure.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Single efficient sentence with action front-loaded (조회합니다) and supporting details parenthetically organized. No redundant words. Korean language allows dense information packing without losing clarity.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a 4-parameter query tool with complete schema coverage, the description adequately covers functionality, provider, and value-add features. While output schema is absent, the description hints at return value (optimal route recommendation). Minor gap: explicit read-only confirmation would strengthen given lack of annotations.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% with clear Korean descriptions for all 4 parameters (출발/도착 체인, token formats, human-readable amount). The description adds no additional parameter constraints or relationships beyond the schema, warranting the baseline score for high-coverage schemas.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description uses a specific verb (조회합니다/query) with clear resource (cross-chain bridge routes), specifies the provider (LI.FI), and delineates key features (cost/time comparison, optimal recommendation). It clearly distinguishes from siblings like getSwapQuote by emphasizing cross-chain bridging and route comparison.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies usage through 'cross-chain' and 'LI.FI based' keywords, suggesting when to use it (for bridging across chains). However, it lacks explicit 'when to use vs alternatives' guidance, particularly regarding differentiation from getSwapQuote or when bridging is preferable vs swapping.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

getContractABIA

컨트랙트 ABI를 조회합니다 (Etherscan → Sourcify 폴백, verified contract 필요)

ParametersJSON Schema
NameRequiredDescriptionDefault
addressYes컨트랙트 주소 (0x...)
chainNo체인 (ethereum, polygon, arbitrum, base, optimism)ethereum

TDQS

A3.7/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, description carries full burden. Valuably discloses data source hierarchy (Etherscan primary, Sourcify fallback) and contract verification requirement. Missing error behavior (what happens if unverified) and return format details.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Single sentence front-loaded with action, parenthetical efficiently packing source chain and requirements. No redundancy; every clause adds value regarding implementation or prerequisites.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Acceptable for 2-parameter tool with complete schema coverage. Covers data sources and verification constraint, but lacks output description (critical given no output schema) and failure modes (unverified/partial verification handling).

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, establishing baseline 3. Description adds no explicit parameter guidance, but parenthetical context ('0x...' implied by address context) is implicitly clear. No additional semantic value needed given complete schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

Clear verb (조회/retrieve) and resource (contract ABI) with specific implementation details (Etherscan → Sourcify fallback). Inherently distinguishes from siblings like getContractEvents or getTokenInfo by focusing on ABI retrieval, though it could explicitly contrast with identifyAddress or decodeTx.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

States prerequisite 'verified contract needed' implying when not to use (unverified contracts), but lacks explicit guidance on alternatives (e.g., 'use decodeTx if unverified') or when this is preferred over reading from local cache.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

getContractEventsA

컨트랙트 이벤트 로그를 조회합니다 (ABI 자동 디코딩, 최근 1000블록 기본, 블록 범위 지정 가능)

ParametersJSON Schema
NameRequiredDescriptionDefault
addressYes컨트랙트 주소 (0x...)
chainNoEVM 체인ethereum
fromBlockNo시작 블록 (기본: 최근 1000블록)
limitNo최대 이벤트 수 (기본 20)

TDQS

A3.5/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries the full disclosure burden. It successfully notes key behaviors (ABI auto-decoding, default recent 1000-block range, block range flexibility), but omits critical operational details like read-only safety confirmation, pagination behavior with the 'limit' parameter, or error handling when contracts are unverified.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Perfectly concise Korean description structured as a single declarative sentence with high-value parenthetical details. Every clause earns its place: auto-decoding (differentiator), default range (behavioral constraint), and range flexibility (capability). No redundancy or fluff.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Adequate for basic invocation given the well-documented schema, but gaps remain due to missing output schema (no hint on decoded event structure) and missing annotations. For a blockchain query tool with 4 parameters and complex decoding logic, the description should ideally disclose output format or caching behavior.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Input schema has 100% description coverage, establishing a baseline of 3. The description adds high-level context about the 1000-block default window which clarifies fromBlock's implied scope, but does not augment parameter syntax, formats, or interdependencies (e.g., how limit interacts with block range) beyond what the schema already documents.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description uses a specific verb ('조회합니다' / retrieve) and resource ('컨트랙트 이벤트 로그'), and distinguishes itself from siblings like decodeTx or getTokenTransfers by highlighting 'ABI 자동 디코딩' (auto-decoding), implying it handles the full pipeline from raw logs to decoded events.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Provides implicit usage guidance through parenthetical constraints (default 1000-block window, block range capability), helping agents understand the query window behavior. However, it lacks explicit guidance on when to use this versus alternatives like decodeTx or getContractABI, and does not mention prerequisites (e.g., contract verification for decoding).

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

getGasPriceA

현재 가스비를 slow/normal/fast 3단계로 조회합니다 (Gwei + USD 예상 비용)

ParametersJSON Schema
NameRequiredDescriptionDefault
chainNoEVM 체인ethereum

TDQS

A3.6/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries the full disclosure burden. It successfully compensates by detailing the response structure (3-tier speed levels) and units (Gwei plus USD conversion), giving the agent clear expectations of what data structure will be returned despite the lack of output schema.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Single sentence with parenthetical clarification is optimally efficient. Every element earns its place: verb (조회합니다), resource (가스비), granularity (3단계), and output format (Gwei + USD). No redundant words.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple single-parameter read operation, the description adequately compensates for the missing output schema by describing the expected return structure (three speed tiers with dual currency units). Given the tool's simplicity, this level of detail is sufficient.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Input schema has 100% coverage with the 'chain' parameter well-documented as 'EVM 체인'. The description does not mention the parameter, but with complete schema coverage, the baseline score of 3 is appropriate as no compensation is needed.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

Description clearly states the tool retrieves (조회합니다) current gas prices using specific tiers (slow/normal/fast) and output format (Gwei + USD). However, it does not explicitly distinguish from sibling tool 'compareGas', which likely serves a similar but distinct purpose.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance provided on when to use this tool versus alternatives like 'compareGas', nor are there any prerequisites or conditions mentioned. The user must infer appropriate usage from the tool name alone.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

getGovernanceProposalsA

Snapshot 기반 DeFi 프로토콜 거버넌스 프로포절을 조회합니다 (상태 필터, 투표 결과 포함)

ParametersJSON Schema
NameRequiredDescriptionDefault
protocolYes프로토콜 이름 또는 Snapshot space ID (e.g., 'uniswap', 'aave.eth')
stateNo프로포절 상태 필터active
limitNo조회할 프로포절 수

TDQS

A4/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Discloses data source (Snapshot-based) and return payload richness (includes voting results). However, lacks critical behavioral details expected with no annotations: error handling for invalid spaces, rate limits, data freshness, or pagination behavior beyond the limit parameter.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Single efficient Korean sentence with action front-loaded and supplemental details in parentheses. No redundancy; every clause earns its place by conveying scope, filtering capability, or return data.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Appropriate for a read-only retrieval tool with 100% schema coverage. Compensates for missing output schema by disclosing that voting results are included. Could strengthen by noting Snapshot API dependency or error conditions, but adequate for invocation decisions.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

With 100% schema coverage, baseline is 3. Adds value by contextualizing 'protocol' as Snapshot space IDs (e.g., 'aave.eth') via 'Snapshot 기반' phrase, and clarifies state parameter outcomes ('상태 필터') and return data ('투표 결과 포함').

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Specific verb (조회/retrieve) + specific resource (Snapshot-based DeFi governance proposals) clearly distinguishes from sibling token/transaction tools like getTokenInfo or getBalance. Identifies the external platform (Snapshot) and data type.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Implies usage context (when querying governance proposals) but lacks explicit prerequisites (e.g., valid Snapshot space ID format), when-not-to-use guidance, or alternatives. No siblings overlap with governance domain, so differentiation is implicit rather than stated.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

getNFTInfoA

특정 컨트랙트에서 지갑 주소가 보유한 ERC-721 NFT 목록과 tokenURI를 조회합니다

ParametersJSON Schema
NameRequiredDescriptionDefault
addressYes조회할 지갑 주소 (0x...)
chainNoEVM 체인ethereum
contractAddressNo특정 NFT 컨트랙트 주소 (미지정 시 오류 반환)

TDQS

A3.6/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations provided, so description carries full behavioral disclosure burden. It specifies ERC-721 standard and mentions tokenURI (indicating part of return data), but lacks safety disclosures (read-only status), pagination behavior, rate limits, or error handling details. '조회합니다' (queries/retrieves) implies read-only but this is not explicit.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Single sentence, front-loaded with specific verb (조회합니다). Efficiently packs resource (ERC-721 NFT list, tokenURI), scope (specific contract), and target (wallet address) with zero redundancy. Appropriate length for the complexity.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With 3 parameters and 100% schema coverage but no output schema, the description appropriately mentions tokenURI to hint at return structure and specifies ERC-721 standard to constrain scope. Could benefit from describing the full return object format or pagination since no output schema exists, but adequately complete for tool selection.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema has 100% description coverage. Description mentions '지갑 주소' (wallet address) and '특정 컨트랙트' (specific contract), matching schema fields, but adds no syntax details, format examples, or constraints beyond what the schema already documents. Baseline 3 applies for high schema coverage.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Clear specific verb (조회합니다/retrieve) with explicit resource (ERC-721 NFT 목록/list of ERC-721 NFTs). Distinguishes from sibling getNFTMetadata (which implies individual metadata lookup) by specifying wallet-held asset listing scope and tokenURI retrieval. Precisely defines the operation's bounds.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No explicit when-to-use guidance, comparisons to siblings (e.g., when to use getPortfolio vs this), or prerequisites mentioned. The phrase '특정 컨트랙트에서' (from a specific contract) implies contractAddress necessity but does not constitute usage guidance versus alternatives.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

getNFTMetadataA

ERC-721 NFT의 메타데이터(이름, 설명, 이미지, 속성)를 조회합니다. IPFS URI 자동 변환 지원

ParametersJSON Schema
NameRequiredDescriptionDefault
contractAddressYesNFT 컨트랙트 주소 (0x...)
tokenIdYes조회할 토큰 ID
chainNoEVM 체인ethereum

TDQS

A4/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations provided, so description carries full burden. Adds valuable behavioral detail 'IPFS URI 자동 변환 지원' (automatic IPFS URI conversion support), but omits other critical behaviors like error handling for non-existent tokens, rate limits, or return structure.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two sentences with zero waste: first states core function with specific fields, second adds IPFS feature. Front-loaded with primary purpose. Korean text is appropriately compact.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

No output schema exists, but description compensates by enumerating returned metadata fields (name, description, image, attributes). Given 100% input schema coverage and lack of annotations, description provides adequate completeness for tool selection.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, baseline 3. Description adds semantic value by specifying 'ERC-721' (constraining contractAddress type) and implying the specific metadata standard being queried, which helps agent understand parameter intent beyond schema definitions.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Description uses specific verb '조회합니다' (retrieve) with explicit resource 'ERC-721 NFT 메타데이터' (metadata). Lists specific fields (name, description, image, attributes) to distinguish from sibling getNFTInfo which likely returns broader info.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Provides implied usage through specificity about metadata content, but lacks explicit guidance on when to use this vs sibling getNFTInfo or when not to use (e.g., for ERC-1155 tokens).

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

getPortfolioA

지갑의 전체 자산 포트폴리오(네이티브 + ERC-20 토큰, USD 가치, 비율)를 한 번에 조회합니다

ParametersJSON Schema
NameRequiredDescriptionDefault
addressYes조회할 지갑 주소 (0x...)
chainNoEVM 체인ethereum

TDQS

A3.8/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries the full burden. It usefully discloses data composition (native + ERC-20, USD value, ratios) and aggregation behavior ('한 번에' / at once), but lacks operational details like read-only nature, rate limits, authentication requirements, or error handling for invalid addresses.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Single well-constructed sentence with efficient parenthetical specification of return data components. Every element earns its place—no fluff, no tautology, front-loaded with the core action and resource.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Despite lacking an output schema, the description compensates by explicitly enumerating return data components (native tokens, ERC-20, USD value, ratios). For a read-only portfolio aggregation tool, this provides sufficient completeness, though specific response format or pagination details could strengthen it further.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

With 100% schema description coverage (address and chain fully documented), the description appropriately does not redundantly explain parameters. It meets the baseline score of 3 where structured schema already provides complete semantic coverage, though it adds no supplementary parameter guidance.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the specific action (query/retrieve) and resource (wallet's total asset portfolio), including detailed scope (native + ERC-20 tokens, USD value, ratios). It effectively distinguishes from siblings like getBalance (single token) or getTokenInfo (metadata) by emphasizing 'total portfolio' and 'at once' aggregation.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

While it doesn't explicitly name alternatives, the description implies usage through scope specification—'total asset portfolio' signals this is for comprehensive aggregation rather than individual token lookups. However, it lacks explicit when-to-use guidance comparing against getBalance or getTokenInfo siblings.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

getProtocolTVLA

DeFi 프로토콜의 TVL(Total Value Locked)을 조회합니다 (DefiLlama 기반, 체인별 분포, 24h/7d 변동률)

ParametersJSON Schema
NameRequiredDescriptionDefault
protocolYes프로토콜 이름 (Aave, Uniswap 등) 또는 DefiLlama slug

TDQS

A4/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries the full transparency burden. It successfully discloses the data source (DefiLlama) and specific metrics included (chain distribution, 24h/7d change rates), which helps the agent understand the return data structure. It could be improved by mentioning whether data is cached/real-time or error behaviors for invalid protocols.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Extremely compact single sentence with parenthetical elaboration. Every element earns its place: the core action, data source context, and return value details. No redundancy or wasted words.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a single-parameter read-only tool, the description adequately compensates for the missing output schema by detailing what metrics are returned (TVL amount, chain breakdown, time-based changes). It appropriately scopes the tool's capability without overpromising.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Input schema has 100% description coverage with the protocol parameter clearly documented (including examples Aave, Uniswap). The main description doesn't add parameter semantics beyond what the schema already provides, warranting the baseline score for high-coverage schemas.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the specific action (조회합니다/retrieves), resource (DeFi protocol TVL), data source (DefiLlama), and return details (chain distribution, 24h/7d rates). It effectively distinguishes from siblings like getTokenPrice (individual tokens) and getPortfolio (user holdings) by specifying protocol-level aggregate metrics.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

While the description clearly identifies the tool's function, it does not provide explicit guidance on when to use this versus similar data-retrieval siblings like getYieldRates or getTokenHolders. Usage is implied by the specificity of 'Protocol TVL' but lacks explicit when/when-not guidance.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

getSwapQuoteA

DEX 스왑 견적을 조회합니다 (ParaSwap 기반, 최적 경로, 가스비 포함, ETH→WETH 자동 치환)

ParametersJSON Schema
NameRequiredDescriptionDefault
tokenInYes매도 토큰 심볼 (ETH, USDC) 또는 contract address
tokenOutYes매수 토큰 심볼 (USDC, WETH) 또는 contract address
amountInYes매도 수량 (사람이 읽을 수 있는 단위, 예: '1.5')
chainNoEVM 체인ethereum

TDQS

A4/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations provided, so description carries full disclosure burden. Successfully reveals critical behavioral traits: ParaSwap aggregation source, optimal routing algorithm, gas fee inclusion in calculation, and automatic ETH→WETH wrapping logic. Minor gap: doesn't explicitly state this is a read-only simulation (no transaction execution) or quote expiration behavior.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Single efficient sentence with parenthetical elaboration. Main clause establishes core function; parentheses pack four distinct behavioral details (ParaSwap, optimal route, gas inclusion, ETH-WETH handling) without redundancy. Every element earns its place.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given 100% schema coverage and no output schema, description adequately covers input requirements and calculation methodology. Mentions gas inclusion which hints at output composition. Minor deduction: lacks explicit description of return structure (expected fields like outputAmount, slippage, route details) that would complete the contract for a quote tool.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100% (all 4 parameters fully documented with types and descriptions). The description mentions ETH→WETH auto-conversion which provides context for tokenIn/tokenOut parameters, but does not elaborate beyond what the schema already explicitly defines. Baseline 3 appropriate given schema completeness.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Description uses specific verb '조회합니다' (queries/retrieves) with resource 'DEX 스왑 견적' (DEX swap quote). Distinguishes from siblings like getBridgeRoutes (bridge vs swap) and getTokenPrice (simple price lookup vs full quote with routes). Includes implementation specifics (ParaSwap-based) that clarify scope.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Provides implied usage context through 'DEX 스왑' terminology, distinguishing from bridging or simple price checks. However, lacks explicit guidance on when to choose this over getBridgeRoutes for cross-chain transfers or compareGas for gas estimation, and doesn't mention prerequisites like token approval requirements.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

getTokenHoldersA

토큰의 상위 홀더를 조회합니다 (Ethereum: Ethplorer, 기타 체인: Etherscan 집계, 주소/점유율/잔고)

ParametersJSON Schema
NameRequiredDescriptionDefault
tokenYes토큰 주소 (0x...) 또는 심볼 (USDC, WETH 등)
chainNoEVM 체인ethereum
limitNo조회할 홀더 수 (기본 10, 최대 100)

TDQS

A4/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the disclosure burden effectively by specifying data sources vary by chain (Ethplorer vs Etherscan aggregation) and detailing the returned data structure (address, percentage, balance). Missing operational details like rate limits or caching behavior.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Perfectly compact Korean description. Single sentence front-loaded with the action, followed by parenthetical details about data sources and return fields. Zero redundancy—every character earns its place.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Despite lacking an output schema, the description compensates by explicitly listing the return data fields (address/share/balance). Covers the essential behavioral context (data sources, limits) for a read-only query tool with well-documented parameters.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so baseline 3 applies. The description does not add parameter-specific guidance beyond the schema (e.g., when to use symbol vs address), but the schema is self-sufficient with clear descriptions for all three parameters.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description uses a specific verb (조회합니다/retrieves) with clear resource (token holders) and scope (top holders). It distinguishes from siblings like getTokenInfo or getTokenPrice by specifying it returns holder rankings with address, share percentage, and balance data.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Lacks explicit when-to-use guidance or named alternatives. However, the parenthetical specification of data sources (Ethplorer for Ethereum, Etherscan for others) and return fields (address/share/balance) implicitly signals to use this for distribution analysis rather than price queries or transfers.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

getTokenInfoB

ERC-20 토큰의 메타데이터(이름, 심볼, 소수점, 총공급량)를 조회합니다

ParametersJSON Schema
NameRequiredDescriptionDefault
tokenYes토큰 심볼 (USDC) 또는 contract address (0x...)
chainNoEVM 체인ethereum

TDQS

B3.4/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries full disclosure burden. It implies a read-only operation via '조회합니다' (retrieves) and lists return fields, but omits error handling (e.g., invalid token), rate limits, or whether historical vs current data is returned.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Single sentence with zero waste. Front-loaded with the specific resource (ERC-20 metadata) and action, followed by parenthetical field enumeration. Every element earns its place.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a 2-parameter read operation with no output schema, the description adequately compensates by listing the four return value fields. However, it lacks error behavior details that would be expected given the complexity of blockchain address resolution.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% for both parameters (token, chain), establishing a baseline of 3. The description mentions ERC-20 which adds context to the 'token' parameter, but doesn't expand on input formats or the 'chain' enum beyond the schema definitions.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool retrieves ERC-20 token metadata with specific fields (name, symbol, decimals, total supply) and uses a specific verb (조회합니다/retrieves). However, it lacks explicit differentiation from siblings like getTokenPrice or getNFTInfo, which handle different aspects of tokens.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

There is no guidance on when to use this tool versus alternatives (e.g., getTokenPrice for pricing, getBalance for holdings) or prerequisites. Users must infer from the parameter descriptions alone.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

getTokenPriceB

토큰의 현재 가격(USD)과 24시간 변동률, 시가총액, 거래량을 조회합니다

ParametersJSON Schema
NameRequiredDescriptionDefault
tokenYes토큰 심볼 (ETH, USDC) 또는 contract address
chainNoEVM 체인ethereum

TDQS

B3.4/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Without annotations, the description carries the full burden of behavioral disclosure. It specifies the return data points (price in USD, volatility, market cap, volume) and implies real-time data via '현재' (current), but lacks critical context: error behavior for invalid tokens, data freshness/staleness, rate limits, or whether the data is aggregated from specific exchanges.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Single sentence, zero waste. Front-loads the subject (token price) and parenthetically clarifies USD currency. Lists four return metrics efficiently without filler, appropriate for the tool's straightforward purpose.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Despite lacking an output schema, the description compensates by explicitly enumerating the four return fields (price, 24h change, market cap, volume). This provides sufficient completeness for a read-only data retrieval tool with simple inputs, though it omits error case descriptions.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, documenting that 'token' accepts symbols or contract addresses and 'chain' specifies EVM networks. The description does not add parameter-level semantics (e.g., address format requirements, case sensitivity for symbols), so it meets the baseline of 3 when schema coverage is comprehensive.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

Description clearly states the tool retrieves four specific financial metrics (current USD price, 24h change rate, market cap, trading volume) using the verb '조회합니다' (retrieves/inquires). This specificity distinguishes it from generic siblings like 'getTokenInfo' by implying a focused price/market-data scope, though it doesn't explicitly name alternatives.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance provided on when to use this versus siblings like 'getTokenInfo' (which may overlap) or 'getPortfolio' (which aggregates prices). No mention of prerequisites, such as requiring an exact token symbol or contract address format.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

getTokenTransfersA

지갑 주소의 최근 ERC-20 토큰 전송 내역(입금/출금, 토큰명, 수량)을 조회합니다

ParametersJSON Schema
NameRequiredDescriptionDefault
addressYes지갑 주소 (0x...)
chainNoEVM 체인ethereum
limitNo조회할 전송 수 (기본 20, 최대 100)

TDQS

A3.8/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations provided, so description carries full burden. It adds temporal scope ('최근' / recent) and hints at return structure (deposits/withdrawals, token name, quantity). However, it lacks disclosure on pagination behavior, data freshness/caching, rate limits, or API key requirements that would be essential for a blockchain data tool without safety annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Single sentence with zero redundancy. Front-loaded with action verb and resource, parenthetical details provide precise return field documentation without verbosity. Every element earns its place in a compact Korean sentence structure.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a 3-parameter tool with no output schema, the description compensates by listing return fields (deposits/withdrawals, token name, quantity). Missing details on pagination (despite limit parameter hinting at it) and data source freshness prevent a 5, but the essential contract is clear.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100% (address, chain, limit all documented). The description implies the address parameter context ('지갑 주소의' / of wallet address) but does not add syntax details, validation rules, or usage examples beyond the schema. With complete schema coverage, baseline 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description uses specific verb '조회합니다' (retrieves/queries) with clear resource scope: 'ERC-20 토큰 전송 내역' (ERC-20 token transfer history). It distinguishes from siblings like getBalance (current state) by specifying historical transfers with directionality (입금/출금 deposits/withdrawals), and from getTokenInfo (metadata) by focusing on transaction history. The parenthetical details (token name, quantity) clarify the data fields returned.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No explicit when-to-use guidance or alternative naming. While 'ERC-20' implicitly distinguishes from NFTs (getNFTInfo) and native currency, it does not explicitly state when to choose this over getPortfolio (aggregated balances) or getTxStatus (specific transaction lookup). Usage is implied by the description but lacks explicit decision criteria.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

getTxStatusB

트랜잭션 상태를 조회합니다 (pending/success/failed, confirmations, gas 사용량)

ParametersJSON Schema
NameRequiredDescriptionDefault
txHashYes트랜잭션 해시 (0x...)
chainNo체인 (ethereum, polygon, arbitrum, base, optimism)ethereum

TDQS

B3.4/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries the full burden of disclosure. It partially compensates by listing the specific status values and metrics returned (confirmations, gas usage), but omits operational details such as error handling for invalid hashes, rate limits, or caching behavior.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single efficient sentence that front-loads the action verb and appends return value details in parentheses. There is no redundant text or unnecessary elaboration; every element serves a specific communicative purpose.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's low complexity (two flat parameters) and lack of output schema, the description adequately compensates by enumerating the key return fields (status, confirmations, gas). It is complete enough for selection, though it could benefit from noting behavior for non-existent transaction hashes.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema has 100% description coverage for both parameters (txHash and chain), establishing a baseline of 3. The description adds no supplemental context about parameter semantics, such as the expected format of the transaction hash or implications of the chain default value.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool queries (조회합니다) transaction status and lists specific return fields (pending/success/failed, confirmations, gas usage), which helps define scope. However, it does not explicitly differentiate from siblings like decodeTx or simulateTx, which also interact with transaction data.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides no guidance on when to use this tool versus alternatives such as decodeTx (for full transaction details) or simulateTx (for pre-submission validation). There are no prerequisites, conditions, or exclusion criteria mentioned.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

getWhaleMovementsA

대규모 토큰 전송(고래 이동)을 추적합니다. 거래소 입출금 방향 판정, 요약 통계 포함

ParametersJSON Schema
NameRequiredDescriptionDefault
tokenYes토큰 심볼 (USDC, USDT) 또는 contract address
chainNoEVM 체인ethereum
minValueUsdNo최소 USD 금액 (기본: $100,000)
limitNo반환할 최대 이동 수 (기본: 10)

TDQS

A3.7/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries the full disclosure burden and adds valuable behavioral context: exchange deposit/withdrawal direction determination and summary statistics. However, it omits critical safety and operational characteristics (read-only status confirmation, rate limits, data freshness) that agents require when annotations are absent.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The single-sentence description packs three distinct informational elements (tracking capability, exchange analysis feature, summary statistics) with zero redundancy. The information is front-loaded and every clause contributes unique functional context while maintaining exceptional brevity appropriate for the tool's scope.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given full input schema coverage but no output schema, the description partially compensates by mentioning return characteristics (summary statistics, direction determinations). However, for a 4-parameter blockchain analysis tool without annotations, it should ideally disclose output structure, pagination behavior, or data freshness to be fully complete.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema achieves 100% description coverage with clear documentation for all four parameters including token symbols, chain enums, and thresholds. Since the schema fully documents all parameters, the description appropriately relies on this structured documentation without redundancy, meeting the baseline expectation for high-coverage schemas.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description employs a specific action verb '추적합니다' (tracks) targeting '대규모 토큰 전송' (large-scale token transfers/whale movements), clearly identifying the resource and operation. It effectively distinguishes from siblings like `getTokenTransfers` by specifying unique whale-specific analysis features including exchange deposit/withdrawal direction determination.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies usage scenarios through mention of exchange direction analysis and summary statistics, but lacks explicit guidance on when to prefer this tool over `getTokenTransfers` or other monitoring alternatives. No explicit 'when-not-to-use' criteria or sibling comparisons are provided.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

getYieldRatesA

DeFi 수익률(APY)을 조회합니다 (DefiLlama 기반, 프로토콜/체인별 필터, TVL 기준 상위 10개 풀)

ParametersJSON Schema
NameRequiredDescriptionDefault
protocolNo프로토콜 이름 필터 (aave-v3, compound-v3 등)
chainNo체인 필터 (Ethereum, Polygon 등)
minTvlNo최소 TVL (USD, 기본 $1M)

TDQS

A3.8/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries full disclosure burden. It adds critical behavioral constraints not in the schema: the result set is limited to 'top 10 pools by TVL' and the data source is DefiLlama. However, it omits explicit read-only confirmation, rate limiting, or authentication requirements.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Extremely compact single-sentence structure with parenthetical elaboration. Every clause earns its place: main action, data source, filter types, and result scope. No redundancy or wasted words.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given no output schema, the description adequately compensates by specifying the result structure (top 10 pools) and data source. With 3 optional parameters fully documented in schema, the description provides sufficient context for invocation, though explicit return value format hints could strengthen it further.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, establishing baseline 3. The description aggregates the filtering intent ('프로토콜/체인별 필터') but does not add parameter-specific syntax, valid enum values, or formatting details beyond what the schema already documents.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific verb (조회합니다/retrieves) and resource (DeFi yield rates/APY), specifies the data source (DefiLlama-based), and clearly distinguishes from siblings like getProtocolTVL (which returns TVL metrics) by explicitly targeting '수익률(APY)'.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description mentions available filters (protocol/chain-specific) and TVL criteria, providing implied usage context for when to apply this tool. However, it lacks explicit 'when-not-to-use' guidance or named alternatives (e.g., 'use getProtocolTVL for total value locked instead of yields').

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

identifyAddressB

주소를 식별합니다 (거래소, DeFi 프로토콜, 고래 지갑, 컨트랙트/EOA 분류)

ParametersJSON Schema
NameRequiredDescriptionDefault
addressYes이더리움 주소 (0x...)
chainNo체인 (ethereum, polygon, arbitrum, base, optimism)ethereum

TDQS

B3.3/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries the full burden. It discloses what classifications the tool provides (exchange, DeFi, whale, contract/EOA), but lacks operational details like data source (on-chain vs off-chain), handling of unknown addresses, or whether classifications are exclusive or ranked.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Extremely concise single sentence with parenthetical elaboration. Front-loaded with action verb, zero redundancy, no filler. Korean text is efficient and every character earns its place.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a 2-parameter tool with 100% schema coverage and no output schema, the description covers the core classification value proposition. However, given no output schema exists, it could benefit from mentioning what form classifications take (labels, categories, confidence scores) to help the agent consume the result.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% with clear descriptions for both parameters ('Ethereum address (0x...)', 'Chain (ethereum, polygon...)'). The description adds no additional parameter guidance (e.g., address format validation, case sensitivity, or chain selection rationale), meriting the baseline score for high schema coverage.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States specific action (식별/identify) and target resource (주소/address) with concrete classification categories (exchanges, DeFi protocols, whale wallets, contract/EOA). Clearly distinguishes from siblings like getBalance, resolveENS, or getTokenInfo by focusing on entity classification rather than balances, name resolution, or token metadata.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Provides no guidance on when to use this tool versus alternatives. Does not indicate when to prefer this over getTokenInfo for contract addresses, or getContractABI for contracts, or how it differs from getWhaleMovements which also involves whale wallets.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

resolveENSB

ENS 이름 ↔ 이더리움 주소를 양방향으로 해석합니다 (Ethereum mainnet 전용)

ParametersJSON Schema
NameRequiredDescriptionDefault
nameOrAddressYesENS 이름 (vitalik.eth) 또는 이더리움 주소 (0x...)

TDQS

B3.2/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Discloses Ethereum mainnet restriction ('Ethereum mainnet 전용'), which is crucial behavioral context given no annotations. However, lacks disclosure on failure modes (what happens if ENS unregistered?), whether resolution is cached, rate limits, or read-only nature (inferred but not stated).

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Single sentence efficiently conveys core function and network constraint. No wasted words. Front-loaded with action verb ('해석합니다'). Slight penalty for brevity that sacrifices completeness regarding return values and error handling.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Adequate for a single-parameter lookup tool, but lacks description of return structure (address string vs object? forward vs reverse resolution indicator?) given no output schema exists. No mention of null/empty response handling for unregistered names.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% with parameter 'nameOrAddress' already documented with examples (vitalik.eth, 0x...). Tool description reinforces bidirectional capability but adds minimal semantic value beyond the complete schema. Baseline 3 appropriate per criteria for high schema coverage.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

Clearly states bidirectional resolution between ENS names and Ethereum addresses with the ↔ symbol and '양방향으로' (bidirectionally). Specifies Ethereum mainnet scope, distinguishing from potential multi-chain siblings. Falls short of 5 by not explicitly differentiating from 'identifyAddress' sibling which may also resolve address metadata.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Provides no guidance on when to use this tool versus siblings like 'identifyAddress' or 'getBalance'. Does not mention prerequisites (e.g., ENS name must be registered) or failure scenarios (unregistered names).

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

simulateTxA

트랜잭션을 시뮬레이션합니다 (eth_call + estimateGas, 가스비 USD 환산, revert reason 디코딩)

ParametersJSON Schema
NameRequiredDescriptionDefault
fromYes발신자 주소 (0x...)
toYes수신자/컨트랙트 주소 (0x...)
dataNo호출 데이터 (hex, 0x...)
valueNo전송할 네이티브 토큰 수량 (예: '0.1')0
chainNoEVM 체인ethereum

TDQS

A3.8/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries full disclosure burden. It successfully reveals key behavioral outputs (USD gas conversion, revert reason decoding, eth_call methodology) but omits critical operational context: it does not explicitly state that this is read-only and state-safe, nor does it mention potential rate limits or that 'from' address must be valid for simulation even without signing.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Extremely efficient single-sentence structure front-loaded with the action verb. Parenthetical enumeration of three distinct capabilities (eth_call+estimateGas, USD conversion, revert decoding) packs maximum information density without redundancy. Every element earns its place.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

In absence of an output schema, the description commendably identifies the three key return components (gas estimate, USD value, revert reason). However, it stops short of describing the return structure format or error handling patterns, which would be necessary for complete context given the tool's complexity.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, establishing a baseline of 3. The description adds implicit context via 'eth_call + estimateGas' which hints at the Ethereum transaction structure (to/data/value), but does not add explicit syntax guidance, validation rules, or format details beyond what the schema already provides.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description uses a specific verb ('시뮬레이션합니다'/simulates) with clear resource (transaction) and technical scope. Parenthetical details (eth_call + estimateGas, USD conversion, revert decoding) precisely distinguish it from siblings like decodeTx (post-hoc decoding) and getTxStatus (live transaction monitoring) by emphasizing pre-execution simulation capabilities.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

While 'simulation' implies pre-flight usage before submission, the description lacks explicit guidance on when to choose this over alternatives (e.g., 'use before submitting transactions' or 'not for querying confirmed transaction status'). The usage relative to siblings is implied by functionality rather than stated.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections. Dates show when Glama detected each change.

  1. 26 tool updatesv1.7.0
    • First observedcheckHoneypot
    • First observedcompareGas
    • First observeddecodeTx
    • First observedgetApprovalStatus
    • First observedgetBalance
    • First observedgetBlockInfo
    • First observedgetBridgeRoutes
    • First observedgetContractABI
    • First observedgetContractEvents
    • First observedgetGasPrice
    • First observedgetGovernanceProposals
    • First observedgetNFTInfo
    • First observedgetNFTMetadata
    • First observedgetPortfolio
    • First observedgetProtocolTVL
    • First observedgetSwapQuote
    • First observedgetTokenHolders
    • First observedgetTokenInfo
    • First observedgetTokenPrice
    • First observedgetTokenTransfers
    • First observedgetTxStatus
    • First observedgetWhaleMovements
    • First observedgetYieldRates
    • First observedidentifyAddress
    • First observedresolveENS
    • First observedsimulateTx

TDQS

A3.7/5.0
Disambiguation4/5

Most tools have distinct purposes focused on specific EVM/DeFi tasks, but some overlap exists: getBalance and getPortfolio both retrieve wallet balances, and getTokenInfo/getTokenPrice both provide token data. Descriptions help clarify differences, but an agent might occasionally misselect between closely related tools.

Naming Consistency5/5

Tool names follow a highly consistent camelCase pattern with a clear 'verbNoun' structure (e.g., getBalance, decodeTx, simulateTx). All 26 tools adhere to this convention, making them predictable and easy to parse programmatically.

Tool Count3/5

With 26 tools, the count feels heavy for a single server, bordering on excessive. While the tools cover a broad EVM/DeFi scope, the set could benefit from consolidation or modularization to reduce cognitive load and potential overlap.

Completeness5/5

The toolset comprehensively covers EVM/DeFi operations: from basic queries (balances, gas, blocks) to advanced features (simulations, honeypot detection, bridge routes, governance). There are no obvious gaps; agents can perform end-to-end workflows like token analysis, portfolio management, and transaction handling.

Maintenance

ActivitySlowing
ResponsivenessSyncing

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Connectors

Related MCP Servers

  • F
    license
    Not graded
    quality
    D
    maintenance
    Enables AI agents to interact with Ethereum blockchain by querying ETH and ERC-20 token balances, fetching token prices from CoinGecko, and building/simulating Uniswap V3 swap transactions. Built in Rust with read-only mode by default for safety.
    -
  • A
    license
    C
    quality
    C
    maintenance
    Enables AI agents to interact with any EVM-compatible blockchain through natural language, supporting token swaps, cross-chain bridges, staking, lending, governance, gas optimization, and portfolio tracking across networks like Ethereum, BSC, Polygon, Arbitrum, and more.
    100
    35
    41
    -
  • F
    license
    Not graded
    quality
    D
    maintenance
    Enables AI agents to perform blockchain operations like wallet management, token info, DeFi swaps, cross-chain bridging, and price checking across Ethereum, BNB Chain, and Solana.
    -
  • A
    license
    A
    quality
    C
    maintenance
    Enables AI agents to fetch live multi-chain portfolio, token info, gas prices, and token prices across Ethereum, Base, Polygon, Arbitrum, and Optimism with a single call. No API key required.
    4
    MIT

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/calintzy/evmscope'

If you have feedback or need assistance with the MCP directory API, please join our Discord server