Skip to content

ScrapeMole Onchain

by scrapemole.pages.dev · remote · no sign-in to list tools · v1.2.0 · published by dev.pages.scrapemole

Pay-per-call x402 Base/Ethereum prices, DEX, ENS, gas, tokens, holders, balances, txs.

Changes · 8

8 tools: 8 change things.

Scanned Oct 21, 2026

No check matched anything in the tool definitions. No finding is not a safety guarantee. How the checks work.

claude mcp add --transport http onchain https://onchain.scrapemole.workers.dev/mcp

Tools

Open a tool for its reasons and full description. Descriptions are the publisher's own words, shown as they are.

8 tools

Changes things 8Claude Code: ask
  • balancesUse when you need what a wallet or contract holds: reads the native ETH balance and ERC-20 balances (a default set of major tokens, or up to 20 token symbols/addresses you pass) fo…No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
    Description, as the server wrote it
    Use when you need what a wallet or contract holds: reads the native ETH balance and ERC-20 balances (a default set of major tokens, or up to 20 token symbols/addresses you pass) for one address on Base or Ethereum in a single multicall, with human-readable amounts and USD values from Chainlink feeds, plus a total. Zero balances are omitted unless asked. Paid tool: x402 USDC on Base, $0.003 per successful call; call without payment to receive the PaymentRequired object.

    Annotations the server declares

    • readOnlyHint: true
    • openWorldHint: true
    • idempotentHint: true
  • dex_priceUse when a token has no Chainlink feed (long-tail, new or memecoins) and you need its current market price: finds every Uniswap v3 pool of the token against WETH, USDC (and USDT on…No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
    Description, as the server wrote it
    Use when a token has no Chainlink feed (long-tail, new or memecoins) and you need its current market price: finds every Uniswap v3 pool of the token against WETH, USDC (and USDT on Ethereum) across fee tiers, reads each pool's price (slot0) and reserves in one multicall, converts to USD with Chainlink, and returns the price from the deepest pool plus all pools with their depth. Flags thin liquidity. Uniswap v3 only (Aerodrome and other DEXs not included). Paid tool: x402 USDC on Base, $0.002 per successful call; call without payment to receive the PaymentRequired object.

    Annotations the server declares

    • readOnlyHint: true
    • openWorldHint: true
    • idempotentHint: true
  • ensUse before sending funds or when you only have a human-readable name: resolves ENS names (.eth and DNS names on ENS, including offchain/wildcard resolvers via CCIP-Read such as *.c…No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
    Description, as the server wrote it
    Use before sending funds or when you only have a human-readable name: resolves ENS names (.eth and DNS names on ENS, including offchain/wildcard resolvers via CCIP-Read such as *.cb.id) and Basenames (*.base.eth, read directly on Base) to a checksummed address; or, given an address, returns its primary ENS name and primary Basename, each forward-verified (the name must resolve back to the address). Names are normalized per ENSIP-15. Unresolvable names are not charged. Paid tool: x402 USDC on Base, $0.001 per successful call; call without payment to receive the PaymentRequired object.

    Annotations the server declares

    • readOnlyHint: true
    • openWorldHint: true
    • idempotentHint: true
  • gasUse before sending a transaction or to tell a user what it will cost: reads eth_feeHistory over the last 20 blocks (10th/50th/90th percentile tips), the next base fee and gas price…No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
    Description, as the server wrote it
    Use before sending a transaction or to tell a user what it will cost: reads eth_feeHistory over the last 20 blocks (10th/50th/90th percentile tips), the next base fee and gas price, on Base also the L1 data fee upper bound from the OP-stack GasPriceOracle, and prices typical actions (ETH transfer 21k gas, ERC-20 transfer 65k, DEX swap 180k) in ETH and USD (Chainlink ETH/USD). Paid tool: x402 USDC on Base, $0.001 per successful call; call without payment to receive the PaymentRequired object.

    Annotations the server declares

    • readOnlyHint: true
    • openWorldHint: true
    • idempotentHint: true
  • holdersUse when you need who holds a token (concentration, whales, treasury): returns the top N holders of an ERC-20 contract on Base or Ethereum with rank, checksummed address, raw and f…No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
    Description, as the server wrote it
    Use when you need who holds a token (concentration, whales, treasury): returns the top N holders of an ERC-20 contract on Base or Ethereum with rank, checksummed address, raw and formatted balance, and share of total supply when the explorer provides it. Public name tags and ENS from the explorer are included as labels; no personal identity is invented and emails are stripped. Ethereum prefers Blockscout, falls back to Ethplorer. Base uses Blockscout; if that explorer blocks the request, the call returns 503 and is not charged. Paid tool: x402 USDC on Base, $0.002 per successful call; call without payment to receive the PaymentRequired object.

    Annotations the server declares

    • readOnlyHint: true
    • openWorldHint: true
    • idempotentHint: true
  • priceUse when you need a trustworthy USD price for crypto assets (ETH, BTC, cbBTC, SOL, LINK, AAVE, stablecoins), fiat FX rates (EUR, GBP, JPY…) or metals (XAU, XAG): reads the Chainlin…No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
    Description, as the server wrote it
    Use when you need a trustworthy USD price for crypto assets (ETH, BTC, cbBTC, SOL, LINK, AAVE, stablecoins), fiat FX rates (EUR, GBP, JPY…) or metals (XAU, XAG): reads the Chainlink price feed contracts directly from Base or Ethereum in one multicall and returns price, last update time, age in seconds, a stale flag and the feed address so the value is verifiable on-chain. Up to 10 symbols per call. Paid tool: x402 USDC on Base, $0.002 per successful call; call without payment to receive the PaymentRequired object.

    Annotations the server declares

    • readOnlyHint: true
    • openWorldHint: true
    • idempotentHint: true
  • tokenUse when you have a token contract address and need to know what it is: reads name, symbol, decimals and totalSupply straight from the contract (one multicall) on Base or Ethereum,…No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
    Description, as the server wrote it
    Use when you have a token contract address and need to know what it is: reads name, symbol, decimals and totalSupply straight from the contract (one multicall) on Base or Ethereum, confirms there is contract code at the address, and adds a Chainlink USD price when one exists for the symbol. Answers 404 (not charged) when the address is not a token. Paid tool: x402 USDC on Base, $0.001 per successful call; call without payment to receive the PaymentRequired object.

    Annotations the server declares

    • readOnlyHint: true
    • openWorldHint: true
    • idempotentHint: true
  • txUse when you need to confirm or explain a transaction (e.g.No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
    Description, as the server wrote it
    Use when you need to confirm or explain a transaction (e.g. verify a payment arrived): fetches the transaction, its receipt and block from Base or Ethereum and returns success/failed/pending, confirmations, timestamp, from, to, native value, gas used and fee, the 4-byte method selector, contract created, and every ERC-20 Transfer log decoded with token symbol and human amount. 404 (not charged) if the hash is unknown. Paid tool: x402 USDC on Base, $0.002 per successful call; call without payment to receive the PaymentRequired object.

    Annotations the server declares

    • readOnlyHint: true
    • openWorldHint: true
    • idempotentHint: true

This is not a safety rating, and no finding is not a safety guarantee. The groups and findings come from fixed checks of the tool definitions the server returned on the date shown, not from its code or what it does when called. How the checks work.

Install

Pinned to version 1.2.0. Values in angle brackets are yours to fill in.

claude mcp add --transport http onchain https://onchain.scrapemole.workers.dev/mcp

Run in a terminal.

Claude Code permissions

Allow the reads, ask before a change, deny the deletes. Paste into .claude/settings.json.

.claude/settings.json
{
  "permissions": {
    "allow": [],
    "ask": [
      "mcp__onchain__price",
      "mcp__onchain__token",
      "mcp__onchain__balances",
      "mcp__onchain__tx",
      "mcp__onchain__ens",
      "mcp__onchain__gas",
      "mcp__onchain__dex_price",
      "mcp__onchain__holders"
    ],
    "deny": []
  }
}

Tools that only read are allowed, tools that change things ask first, tools that delete or cancel are denied. It assumes the server is installed as onchain. Review it before you use it.