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.
18 tools: 2 do something that can't be undone, 12 change things and 4 only read.
Scanned Oct 21, 2026
- Deletes or cancels0Claude Code: deny
- Can't be undone2Claude Code: ask: see these tools
- Changes things12Claude Code: ask: see these tools
- Only reads4Claude Code: allow: see these tools
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/mcpFindings
Matches of fixed checks, with the text they matched.
- Warnbase_eth_call
The server marks "base_eth_call" read-only (readOnlyHint: true), and its own name, description or input give the class "irreversible".
What this check looks forMatched text
annotations: {"readOnlyHint":true,"destructiveHint":false,"openWorldHint":true}; The name "base_eth_call" says "call": a word for a change.
The server marks "base_erc20_transfers" read-only (readOnlyHint: true), and its own name, description or input give the class "irreversible".
What this check looks forMatched 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.
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".
What this check looks forMatched 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.
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".
What this check looks forMatched text
annotations: {"readOnlyHint":true,"destructiveHint":false,"openWorldHint":true}; The name "base_eth_call" says "call": a word for a change.
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/mcpRun in a terminal.
Claude Code permissions
Allow the reads, ask before a change, deny the deletes. Paste into .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.
