Skip to content

MACH Base

by TheAliphant · remote · no sign-in to list tools · v1.0.3 · published by GitHub user TheAliphant

Investigate Base transactions, check wallet funds and contracts. Read-only MCP. USDC via x402.

Final · 2Changes · 12

18 tools: 2 do something that can't be undone, 12 change things and 4 only read.

Scanned Oct 21, 2026

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

claude mcp add --transport http mach-base https://api.mach.gallery/mcp

Findings

Matches of fixed checks, with the text they matched.

2 warn
  • The server marks "base_eth_call" read-only (readOnlyHint: true), and its own name, description or input give the class "irreversible".

    Matched text

    annotations: {"readOnlyHint":true,"destructiveHint":false,"openWorldHint":true}; The name "base_eth_call" says "call": a word for a change.

    What this check looks for
  • The server marks "base_erc20_transfers" read-only (readOnlyHint: true), and its own name, description or input give the class "irreversible".

    Matched text

    annotations: {"readOnlyHint":true,"destructiveHint":false,"openWorldHint":true}; The name "base_erc20_transfers" says "transfer": a word for a change that another call does not undo.

    What this check looks for

Tools

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

18 tools

Can't be undone 2Claude Code: ask
  • base_erc20_transfersFind recent ERC-20 Transfer events on Base, optionally filtered by sender or recipient wallet.1 finding

    Why it is in this group

    • The name "base_erc20_transfers" says "transfer": a word for a change that another call does not undo.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.

    Findings

    • Warn

      The server marks "base_erc20_transfers" read-only (readOnlyHint: true), and its own name, description or input give the class "irreversible".

      Matched text

      annotations: {"readOnlyHint":true,"destructiveHint":false,"openWorldHint":true}; The name "base_erc20_transfers" says "transfer": a word for a change that another call does not undo.

      What this check looks for
    Description, as the server wrote it
    Find recent ERC-20 Transfer events on Base, optionally filtered by sender or recipient wallet. Results cover only the queried block window. Costs $0.005 USDC via x402.

    Annotations the server declares

    • title: Find Base token transfers
    • readOnlyHint: true
    • destructiveHint: false
    • openWorldHint: true
  • base_eth_callRead Base contract state without broadcasting a transaction: run eth_call with supplied calldata and return the raw response.1 finding

    Why it is in this group

    • The name "base_eth_call" says "call": a word for a change.
    • The input addresses people (input.to): what it sends cannot be taken back.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.

    Findings

    • Warn

      The server marks "base_eth_call" read-only (readOnlyHint: true), and its own name, description or input give the class "irreversible".

      Matched text

      annotations: {"readOnlyHint":true,"destructiveHint":false,"openWorldHint":true}; The name "base_eth_call" says "call": a word for a change.

      What this check looks for
    Description, as the server wrote it
    Read Base contract state without broadcasting a transaction: run eth_call with supplied calldata and return the raw response. Costs $0.005 USDC via x402.

    Annotations the server declares

    • title: Read Base contract state
    • readOnlyHint: true
    • destructiveHint: false
    • openWorldHint: true
Changes things 12Claude Code: ask
  • base_allowanceCheck a Base token approval before an agent acts: return the ERC-20 allowance for one token, owner and spender.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
    Check a Base token approval before an agent acts: return the ERC-20 allowance for one token, owner and spender. Does not grant approval. Costs $0.005 USDC via x402.

    Annotations the server declares

    • title: Check Base token allowance
    • readOnlyHint: true
    • destructiveHint: false
    • openWorldHint: true
  • base_block_numberCheck Base chain progress: return the latest mainnet block number for freshness checks and polling.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
    Check Base chain progress: return the latest mainnet block number for freshness checks and polling. This is not transaction confirmation. Costs $0.005 USDC via x402.

    Annotations the server declares

    • title: Get Base block number
    • readOnlyHint: true
    • destructiveHint: false
    • openWorldHint: true
  • base_contract_codeTell a Base contract address from an externally owned account: return whether code is deployed and its bytecode size.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
    Tell a Base contract address from an externally owned account: return whether code is deployed and its bytecode size. Not a security audit. Costs $0.005 USDC via x402.

    Annotations the server declares

    • title: Check Base contract
    • readOnlyHint: true
    • destructiveHint: false
    • openWorldHint: true
  • base_contract_infoIdentify a Base contract before interacting: inspect bytecode size, available token metadata and common interface signals.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
    Identify a Base contract before interacting: inspect bytecode size, available token metadata and common interface signals. Not a security audit. Costs $0.005 USDC via x402.

    Annotations the server declares

    • title: Inspect Base contract
    • readOnlyHint: true
    • destructiveHint: false
    • openWorldHint: true
  • base_erc20_balanceCheck a wallet’s USDC or ERC-20 balance on Base: return raw token units for a specified token contract and wallet address.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
    Check a wallet’s USDC or ERC-20 balance on Base: return raw token units for a specified token contract and wallet address. Costs $0.005 USDC via x402.

    Annotations the server declares

    • title: Check Base token balance
    • readOnlyHint: true
    • destructiveHint: false
    • openWorldHint: true
  • base_gas_priceCheck the current Base gas price in wei before estimating transaction fees.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
    Check the current Base gas price in wei before estimating transaction fees. The quote alone is not the total transaction cost. Costs $0.005 USDC via x402.

    Annotations the server declares

    • title: Get Base gas price
    • readOnlyHint: true
    • destructiveHint: false
    • openWorldHint: true
  • base_noncePrepare a Base transaction: get a wallet’s current nonce without signing or broadcasting a transaction.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
    Prepare a Base transaction: get a wallet’s current nonce without signing or broadcasting a transaction. Costs $0.005 USDC via x402.

    Annotations the server declares

    • title: Get Base wallet nonce
    • readOnlyHint: true
    • destructiveHint: false
    • openWorldHint: true
  • base_receiptCheck whether a Base transaction was mined and succeeded: return receipt status and confirmations.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
    Check whether a Base transaction was mined and succeeded: return receipt status and confirmations. This does not prove the correct payee, token amount or service delivery. Costs $0.005 USDC via x402.

    Annotations the server declares

    • title: Check Base transaction receipt
    • readOnlyHint: true
    • destructiveHint: false
    • openWorldHint: true
  • base_total_supplyCheck a Base ERC-20 or ERC-721 contract’s reported total supply.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
    Check a Base ERC-20 or ERC-721 contract’s reported total supply. Contract data is not independently audited circulation. Costs $0.005 USDC via x402.

    Annotations the server declares

    • title: Get Base token supply
    • readOnlyHint: true
    • destructiveHint: false
    • openWorldHint: true
  • base_transaction_contextInvestigate a Base payment timeout or failed transaction with transaction, receipt, gas and fee context.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
    Investigate a Base payment timeout or failed transaction with transaction, receipt, gas and fee context. Onchain success is not proof that a specific USDC obligation or service delivery was met. Costs $0.008 USDC via x402.

    Annotations the server declares

    • title: Inspect Base transaction context
    • readOnlyHint: true
    • destructiveHint: false
    • openWorldHint: true
  • base_wallet_balanceCheck whether a Base wallet has native ETH available for gas: return its balance in wei.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
    Check whether a Base wallet has native ETH available for gas: return its balance in wei. Read-only; no wallet access or signing. Costs $0.005 USDC via x402.

    Annotations the server declares

    • title: Check Base ETH balance
    • readOnlyHint: true
    • destructiveHint: false
    • openWorldHint: true
  • mach_chooseFree decision layer: map an agent goal to the narrowest paid MACH Base capability, exact price, expected result fields and exact next request.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
    Free decision layer: map an agent goal to the narrowest paid MACH Base capability, exact price, expected result fields and exact next request. Returns no live chain data and has no side effects.

    Annotations the server declares

    • title: Choose a MACH Base capability
    • readOnlyHint: true
    • destructiveHint: false
    • openWorldHint: true
Only reads 4Claude Code: allow
  • base_blockInspect a Base block by number or tag: retrieve its header and transaction hashes to investigate chain activity.No findings

    Why it is in this group

    • The description's first verb is "inspect": a word for reading.
    Description, as the server wrote it
    Inspect a Base block by number or tag: retrieve its header and transaction hashes to investigate chain activity. Costs $0.005 USDC via x402.

    Annotations the server declares

    • title: Get Base block
    • readOnlyHint: true
    • destructiveHint: false
    • openWorldHint: true
  • base_logsFind Base smart-contract events in a bounded block range: return onchain logs filtered by contract address and optional topics.No findings

    Why it is in this group

    • The name "base_logs" says "log": a word for reading.
    Description, as the server wrote it
    Find Base smart-contract events in a bounded block range: return onchain logs filtered by contract address and optional topics. Costs $0.005 USDC via x402.

    Annotations the server declares

    • title: Query Base event logs
    • readOnlyHint: true
    • destructiveHint: false
    • openWorldHint: true
  • base_transactionInspect a Base transaction by hash: retrieve sender, recipient, value, calldata and transaction fields.No findings

    Why it is in this group

    • The description's first verb is "inspect": a word for reading.
    Description, as the server wrote it
    Inspect a Base transaction by hash: retrieve sender, recipient, value, calldata and transaction fields. Use Transaction Context for receipt and confirmation status. Costs $0.008 USDC via x402.

    Annotations the server declares

    • title: Get Base transaction
    • readOnlyHint: true
    • destructiveHint: false
    • openWorldHint: true
  • base_wallet_snapshotCheck a Base wallet’s funding context in one read: return native ETH and balances for up to ten specified ERC-20 contracts.No findings

    Why it is in this group

    • The name "base_wallet_snapshot" says "snapshot": a word for reading.
    Description, as the server wrote it
    Check a Base wallet’s funding context in one read: return native ETH and balances for up to ten specified ERC-20 contracts. No signing or custody. Costs $0.005 USDC via x402.

    Annotations the server declares

    • title: Get Base wallet snapshot
    • readOnlyHint: true
    • destructiveHint: false
    • openWorldHint: 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.0.3. Values in angle brackets are yours to fill in.

claude mcp add --transport http mach-base https://api.mach.gallery/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": [
      "mcp__mach-base__base_logs",
      "mcp__mach-base__base_transaction",
      "mcp__mach-base__base_block",
      "mcp__mach-base__base_wallet_snapshot"
    ],
    "ask": [
      "mcp__mach-base__mach_choose",
      "mcp__mach-base__base_block_number",
      "mcp__mach-base__base_gas_price",
      "mcp__mach-base__base_wallet_balance",
      "mcp__mach-base__base_erc20_balance",
      "mcp__mach-base__base_nonce",
      "mcp__mach-base__base_contract_code",
      "mcp__mach-base__base_allowance",
      "mcp__mach-base__base_receipt",
      "mcp__mach-base__base_eth_call",
      "mcp__mach-base__base_transaction_context",
      "mcp__mach-base__base_total_supply",
      "mcp__mach-base__base_contract_info",
      "mcp__mach-base__base_erc20_transfers"
    ],
    "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 mach-base. Review it before you use it.