Koskamo

legible-check MCP

A community MCP server providing pay-per-call on-chain data tools for AI agents using x402 and USDC on Base. It exposes methods like evm_block, evm_balance, and crypto_price, allowing agents to retrieve blockchain data by signing EIP-3009 authorizations for each request without requiring API keys or subscriptions.

Endpoint and access

No sign-in to connect and list tools. Individual tools may still need a vendor account, credentials, or permissions; check the documented prerequisites.

legible-check MCP logo, by EzeAlfaroCommunity listingStreamable HTTPNo sign-inEndpoint checked 2026-11-02Published by EzeAlfaro
MCP endpoint (Streamable HTTP)
https://legible-check.ezealfa.workers.dev/mcp
Vendor documentation

What its tools do

15 tools, grouped by the hints the server advertises. Hints are self-declared, not verified behavior.

15 of 15 have a description · 0 of 15 declare behavior hints · 15 of 15 with parameters document them all

Checks and signals

Each line is separate evidence, not a trust score.

  • Passed Endpoint answered the live check ·
  • Availability 1 of 1 checks passed in 30 days

What you can do with it

  • Retrieve EVM block numbers and timestamps
  • Check native or ERC20 token balances
  • Get live crypto prices and market caps
  • Decode transaction calldata

Source and maintenance

Community listingRegistry 1.0.0
Maintenance checked

Protocol and capabilities

Server
legible-check 2.1.0
MCP protocol negotiated in check
2024-11-05
Tools
15 advertised
Resources
Not advertised
Resource templates
Not advertised
Prompts
Not advertised
Server-advertised capabilities
{
  "tools": {
    "listChanged": false
  }
}

Server-provided instructions

Untrusted server output shown for inspection. It is not Koskamo guidance and is excluded from knowledge search.

Pay-per-call data tools on Base. Every tool is paid in USDC over x402: an unpaid call returns HTTP 402 with accepts[]; pay and retry with PAYMENT-SIGNATURE.

Tools

15 advertised

evm_block
Advertised by the server during the last successful anonymous check.

Block number on Base: the latest block height, timestamp, age, base fee, gas used and transaction count. Use it when an agent needs the current block number or the chain head. Price: 0.001 USDC per call over x402 on Base.

evm_block input schema
{
  "type": "object",
  "required": [],
  "properties": {
    "chain": {
      "type": "string",
      "description": "Example: base"
    }
  }
}
evm_gas
Advertised by the server during the last successful anonymous check.

Gas price on Base in gwei, split into base fee and priority fee, with the block it was read at. Use it to estimate gas fees before sending a transaction. Price: 0.001 USDC per call over x402 on Base.

evm_gas input schema
{
  "type": "object",
  "required": [],
  "properties": {
    "chain": {
      "type": "string",
      "description": "Example: base"
    }
  }
}
evm_balance
Advertised by the server during the last successful anonymous check.

Wallet balance on Base: the native ETH balance for any address, in wei and ETH, with the block height it was read at. Use it to read a wallet balance. Price: 0.002 USDC per call over x402 on Base.

evm_balance input schema
{
  "type": "object",
  "required": [
    "address"
  ],
  "properties": {
    "chain": {
      "type": "string",
      "description": "Example: base"
    },
    "address": {
      "type": "string",
      "description": "Example: 0x842448B864443e18B1A7cCc1c25a676222B72413"
    }
  }
}
evm_token_balance
Advertised by the server during the last successful anonymous check.

Token balance on Base: the ERC20 balance of an address, with raw units, decimals and the token symbol resolved on-chain. Use it to read a token balance. Price: 0.003 USDC per call over x402 on Base.

evm_token_balance input schema
{
  "type": "object",
  "required": [
    "token",
    "address"
  ],
  "properties": {
    "token": {
      "type": "string",
      "description": "Example: 0x833589fcd6edb6e08f4c7c32d4f71b54bda02913"
    },
    "address": {
      "type": "string",
      "description": "Example: 0x842448B864443e18B1A7cCc1c25a676222B72413"
    }
  }
}
evm_nonce
Advertised by the server during the last successful anonymous check.

Wallet nonce on Base: the next transaction nonce for any address. Use it to build a transaction without racing the mempool. Price: 0.002 USDC per call over x402 on Base.

evm_nonce input schema
{
  "type": "object",
  "required": [
    "address"
  ],
  "properties": {
    "chain": {
      "type": "string",
      "description": "Example: base"
    },
    "address": {
      "type": "string",
      "description": "Example: 0x842448B864443e18B1A7cCc1c25a676222B72413"
    }
  }
}
evm_tx
Advertised by the server during the last successful anonymous check.

Transaction lookup on Base by hash: decoded from, to, value, nonce, gas and max fee, and whether it is mined or pending. Use it to inspect any transaction. Price: 0.002 USDC per call over x402 on Base.

evm_tx input schema
{
  "type": "object",
  "required": [
    "hash"
  ],
  "properties": {
    "hash": {
      "type": "string",
      "description": "Example: 0x0000000000000000000000000000000000000000000000000000000000000000"
    }
  }
}
evm_receipt
Advertised by the server during the last successful anonymous check.

Transaction receipt on Base: success or reverted, block, gas used, effective gas price, log count and created contract. Use it to confirm a transaction or read its status. Price: 0.002 USDC per call over x402 on Base.

evm_receipt input schema
{
  "type": "object",
  "required": [
    "hash"
  ],
  "properties": {
    "hash": {
      "type": "string",
      "description": "Example: 0x0000000000000000000000000000000000000000000000000000000000000000"
    }
  }
}
evm_transfers
Advertised by the server during the last successful anonymous check.

ERC20 transfers on Base for an address over the last N blocks (default 5000), newest first, with tx hashes. Use it to list incoming token transfers. Price: 0.003 USDC per call over x402 on Base.

evm_transfers input schema
{
  "type": "object",
  "required": [
    "address"
  ],
  "properties": {
    "token": {
      "type": "string",
      "description": "Example: 0x833589fcd6edb6e08f4c7c32d4f71b54bda02913"
    },
    "blocks": {
      "type": "string",
      "description": "Example: 5000"
    },
    "address": {
      "type": "string",
      "description": "Example: 0x842448B864443e18B1A7cCc1c25a676222B72413"
    }
  }
}
crypto_price
Advertised by the server during the last successful anonymous check.

Crypto price and token price in USD with 24h change and market cap for one or more CoinGecko ids (bitcoin, ethereum, solana, ...). Use it when an agent needs a current price before quoting or sizing a trade. Price: 0.001 USDC per call over x402 on Base.

crypto_price input schema
{
  "type": "object",
  "required": [],
  "properties": {
    "vs": {
      "type": "string",
      "description": "Example: usd"
    },
    "ids": {
      "type": "string",
      "description": "Example: bitcoin,ethereum"
    }
  }
}
dex_quote
Advertised by the server during the last successful anonymous check.

DEX quote and liquidity: live pair quotes for a token or pair query, with price in USD, liquidity and 24h volume across chains. Use it to compare venues before a swap. Price: 0.002 USDC per call over x402 on Base.

dex_quote input schema
{
  "type": "object",
  "required": [],
  "properties": {
    "q": {
      "type": "string",
      "description": "Example: USDC"
    }
  }
}
evm_tx_status
Advertised by the server during the last successful anonymous check.

Transaction status on Base: success, reverted or pending for a given transaction hash, with block number, confirmations and gas used. Use it to check whether a transfer confirmed. Price: 0.001 USDC per call over x402 on Base.

evm_tx_status input schema
{
  "type": "object",
  "required": [
    "hash"
  ],
  "properties": {
    "hash": {
      "type": "string",
      "description": "Example: 0x0000000000000000000000000000000000000000000000000000000000000000"
    }
  }
}
evm_token_info
Advertised by the server during the last successful anonymous check.

Token metadata for an ERC20 contract on Base: name, symbol, decimals and total supply. Use it before formatting any token amount or price. Price: 0.002 USDC per call over x402 on Base.

evm_token_info input schema
{
  "type": "object",
  "required": [
    "token"
  ],
  "properties": {
    "token": {
      "type": "string",
      "description": "Example: 0x833589fcd6edb6e08f4c7c32d4f71b54bda02913"
    }
  }
}
evm_contract
Advertised by the server during the last successful anonymous check.

Contract check and ABI for an address on Base: whether it is a contract, its bytecode size, whether Sourcify verified it, and the ABI when available. Price: 0.003 USDC per call over x402 on Base.

evm_contract input schema
{
  "type": "object",
  "required": [
    "address"
  ],
  "properties": {
    "address": {
      "type": "string",
      "description": "Example: 0x833589fcd6edb6e08f4c7c32d4f71b54bda02913"
    }
  }
}
evm_portfolio
Advertised by the server during the last successful anonymous check.

Portfolio for a wallet on Base, Polygon or Arbitrum in one call: native balance, nonce and the balance of up to ten ERC20 tokens with symbol and decimals. Use it when an agent needs a full wallet snapshot instead of many calls. Price: 0.005 USDC per call over x402 on Base.

evm_portfolio input schema
{
  "type": "object",
  "required": [
    "address"
  ],
  "properties": {
    "chain": {
      "type": "string",
      "description": "Example: base"
    },
    "tokens": {
      "type": "string",
      "description": "Example: 0x833589fcd6edb6e08f4c7c32d4f71b54bda02913"
    },
    "address": {
      "type": "string",
      "description": "Example: 0x842448B864443e18B1A7cCc1c25a676222B72413"
    }
  }
}
evm_decode
Advertised by the server during the last successful anonymous check.

Decode an EVM transaction: given a transaction hash, or raw calldata plus a contract address, return the function selector, every known signature for it and the decoded static arguments. Use it to explain what a transaction does before signing or reporting it. Price: 0.003 USDC per call over x402 on Base.

evm_decode input schema
{
  "type": "object",
  "required": [
    "hash"
  ],
  "properties": {
    "hash": {
      "type": "string",
      "description": "Example: 0x0000000000000000000000000000000000000000000000000000000000000000"
    },
    "chain": {
      "type": "string",
      "description": "Example: base"
    }
  }
}

Prompts

Not advertised

No prompt definitions available.

Resources

Not advertised

No resource definitions available.

30-day availability

Aggregated from read-only remote checks; this is not a tool-execution or security guarantee.

Successful checks
1 of 1 (100%)
Average latency
264 ms
95th percentile latency
264 ms

Maintenance history

Public check and source-refresh events. Editorial and ownership records remain private.

  • · probe · passed · 264 ms · metadata changed · 15 tool(s)

Connect from your client

Each snippet registers the same endpoint; pick the client you use.

This server is operated by the named third party. Listing and endpoint checks are not an endorsement or a security audit. Review the operator's permissions, terms, and data handling before connecting. How listings are checked and corrected.

Claude Code

Run this once in a terminal. It registers the remote server. Use --scope project to write .mcp.json for the repo.
Claude Code configuration
claude mcp add --transport http legible-check-mcp https://legible-check.ezealfa.workers.dev/mcp

Codex

Run this once. Codex stores MCP servers in ~/.codex/config.toml (or .codex/config.toml in a trusted project).
Codex configuration
codex mcp add legible-check-mcp --url https://legible-check.ezealfa.workers.dev/mcp

Cursor

Merge this server into .cursor/mcp.json in your project, then enable legible-check-mcp in your MCP settings.
Cursor configuration
{
  "mcpServers": {
    "legible-check-mcp": {
      "url": "https://legible-check.ezealfa.workers.dev/mcp"
    }
  }
}

Cline

Merge this into cline_mcp_settings.json (Cline → MCP Servers → Configure).
Cline configuration
{
  "mcpServers": {
    "legible-check-mcp": {
      "type": "streamableHttp",
      "url": "https://legible-check.ezealfa.workers.dev/mcp",
      "disabled": false
    }
  }
}

VS Code

Merge this server into .vscode/mcp.json. Use MCP: List Servers to start legible-check-mcp and inspect its tools.
VS Code configuration
{
  "servers": {
    "legible-check-mcp": {
      "type": "http",
      "url": "https://legible-check.ezealfa.workers.dev/mcp"
    }
  }
}

Gemini CLI

Run this once. It writes .gemini/settings.json in the current project; pass --scope user for ~/.gemini/settings.json.
Gemini CLI configuration
gemini mcp add --transport http legible-check-mcp https://legible-check.ezealfa.workers.dev/mcp

Claude Desktop

Merge this into claude_desktop_config.json (macOS: ~/Library/Application Support/Claude/, Windows: %APPDATA%\Claude\), then restart Claude Desktop.
Claude Desktop configuration
{
  "mcpServers": {
    "legible-check-mcp": {
      "url": "https://legible-check.ezealfa.workers.dev/mcp"
    }
  }
}

Windsurf

Merge this into ~/.codeium/windsurf/mcp_config.json, then refresh MCP in Cascade. Windsurf remote servers use serverUrl, not url.
Windsurf configuration
{
  "mcpServers": {
    "legible-check-mcp": {
      "serverUrl": "https://legible-check.ezealfa.workers.dev/mcp"
    }
  }
}

Let your agent find its tools

Find servers like legible-check MCP from your agent. Add Koskamo once to search the index for endpoints, access requirements, and client setup. Public discovery needs no key.