MCP Server
Tools Reference

Tools Reference

The Tenderly MCP Server exposes 43 tools organized into six groups. All tools that operate on project resources require an active project — call set_active_project first. Virtual TestNet tools require an active VNet — call set_active_vnet or create/fork a VNet (which auto-activates it).

You don’t need to call tools by name. Just describe what you want in natural language and Claude will pick the right tools automatically.

Project & account

These tools manage your session context. Most other tools depend on having an active project set.

ToolDescription
get_user_infoReturns your account info (ID, username, email), the currently active project, and the active Virtual TestNet (ID, RPC URL, network ID) if set.
list_projectsLists all Tenderly projects accessible to you. Supports optional search filtering by name or slug.
set_active_projectSets the active project for subsequent tool calls. Accepts account_slug and project_slug. Must be called before using project-scoped tools.

Networks

ToolDescription
get_networksLists all public EVM networks supported by Tenderly (100+). Supports optional search filtering by name. Returns network ID, name, slug, and chain ID.

Contracts

ToolDescription
get_contract_infoRetrieves metadata for a contract address on a given network: contract name, ABI (if verified), compiler version, EVM version, language, token standards (ERC-20, ERC-721, etc.), creation block, creation transaction, and deployer address.

Transaction simulations

Simulate and trace transactions on any Tenderly-supported EVM network without spending gas or modifying on-chain state.

Core simulation tools

ToolDescription
simulate_transactionSimulates a transaction and returns the outcome: success/revert status, gas used, decoded method name, error message, and revert reason. Supports state overrides, EIP-1559 fields, and custom block numbers. Results are persisted to your project dashboard.
resimulate_transactionReplays an existing on-chain transaction in Tenderly’s simulation environment. Useful for debugging transactions that reverted or behaved unexpectedly.
trace_transactionTraces an on-chain transaction and returns a summary: status, gas used, decoded method, sender, recipient, and error details.

Simulation detail tools

After running simulate_transaction, resimulate_transaction, or trace_transaction, use these follow-up tools with the returned simulation_id or tx_hash to inspect specific aspects of the execution.

ToolDescription
get_simulation_call_traceFlattened call tree — every internal EVM call with decoded function names, inputs, outputs, and per-call gas. Supports max_depth parameter. Capped at 256 entries.
get_simulation_eventsDecoded events (logs) emitted during execution, including event names, emitting addresses, and ABI-decoded parameters. Capped at 100 entries.
get_simulation_state_changesStorage slot diffs (address, key, before/after values) and native balance diffs for all affected accounts. Capped at 100 entries.
get_simulation_asset_transfersAll token and native asset transfers: sender, recipient, token info (name, type, symbol, decimals), and amount. Capped at 100 entries.
get_simulation_exposure_changesToken approval and allowance changes — approvals, revocations, and permits. Capped at 100 entries.
get_simulation_balance_changesNet per-address balance impact with USD dollar values. Capped at 100 entries.
get_simulation_gas_breakdownPer-call gas breakdown including intrinsic gas and refunds. Gas values are inclusive of subcalls.
get_simulation_generated_access_listGenerates an EIP-2930 access list by re-simulating the transaction. Useful for gas optimization.

Virtual TestNets

Create and manage private, persistent forks of public EVM networks. Virtual TestNets have their own RPC endpoints and support impersonated transactions without private keys.

VNet tools use a stateful session model: set a VNet as active (or create/fork one, which auto-activates it), and all subsequent VNet tools operate on it. No need to pass VNet IDs to every call.

ToolDescription
set_active_vnetSets the active Virtual TestNet for subsequent tool calls. Accepts a vnet_id. Once set, all VNet tools operate on this VNet automatically.
create_vnetCreates a new Virtual TestNet by forking a public network at a specific block. Accepts network_id, optional display_name, description, block_number (hex), custom chain_id, and sync_state_enabled. Returns the VNet details including RPC URLs. Automatically sets the new VNet as active.
list_vnetsLists Virtual TestNets in the active project. Supports pagination (page, per_page), status filtering (running, stopped, cloning), and search by name.
get_vnetReturns full details of the active Virtual TestNet: ID, slug, display name, status, description, fork config, chain config, and RPC endpoint URLs.
fork_vnetForks the active Virtual TestNet into a new one, preserving all state including deployed contracts and balances. Automatically sets the new fork as active.
delete_vnetDeletes a Virtual TestNet. This is a destructive action. Clears the active VNet from session state.
send_vnet_transactionSends and executes a transaction on the active Virtual TestNet. The sender address is impersonated — no private key needed. Accepts from, to, input (calldata), value (hex wei), and gas.
get_vnet_transactionsLists transactions on the active Virtual TestNet with pagination. Returns transaction hash, status, gas used, block number, and method.
fund_accountSets the native token balance of any address on the active Virtual TestNet by calling tenderly_setBalance via RPC. Accepts address and amount in hex wei.
set_erc20_balanceSets the ERC-20 token balance of any address on the active VNet via tenderly_setErc20Balance. Accepts token_address, address, and value. Prefer this over set_storage_at for token balance changes.
set_storage_atWrites a raw value to a specific storage slot on a contract via tenderly_setStorageAt. Accepts contract_address, slot, and value. Use for oracle price overrides, protocol parameters, or any state not covered by higher-level tools.
vnet_callExecutes a read-only eth_call on the active VNet. Accepts to, input (calldata), and optional from. Results are truncated at 10 KB.
vnet_multicallExecutes a batch of up to 10 read-only eth_call requests in a single RPC round-trip. Each call accepts to, input, and optional from. Results are truncated individually at 10 KB.
mine_blockMines a single block on the active VNet via evm_mine. Use after increase_time to apply the time change.
increase_timeAdvances the VNet clock by a specified number of seconds via evm_increaseTime. Always follow with mine_block to commit the time change to a new block.
snapshot_vnetSaves the current VNet state and returns a snapshot ID via evm_snapshot. Use for branching test scenarios — snapshot before a test, then revert to try a different path.
revert_vnetRestores the VNet to a previously saved snapshot via evm_revert. The snapshot is consumed on use — take a new snapshot if you need to revert again.

Virtual TestNet simulations & traces

Simulate and trace transactions on the active Virtual TestNet. These tools work with operation IDs rather than network-level tx hashes.

Core VNet simulation tools

ToolDescription
simulate_vnet_transactionSimulates a transaction on a VNet without modifying its state. Returns status, gas used, decoded method, and an operation_id for follow-up tools. Supports state overrides.
resimulate_vnet_transactionRe-traces a previously executed VNet transaction by its operation_id (from get_vnet_transactions).
trace_vnet_transactionReturns a decoded execution trace summary: contract name, function name, decoded input parameters, decoded output, gas used, and error details.

VNet simulation detail tools

Use these with the operation_id from the tools above. They operate on the active VNet.

ToolDescription
get_vnet_simulation_call_traceFlattened call trace for a VNet transaction with call type, addresses, gas, and value per call.
get_vnet_simulation_eventsDecoded events emitted during a VNet transaction: event name and emitting address.
get_vnet_simulation_gas_breakdownPer-call gas breakdown sorted by gas usage. Shows total gas and top consumers.
get_vnet_simulation_state_changesStorage slot diffs: address, key, before/after values for each modified slot.
get_vnet_simulation_generated_access_listEIP-2930 access list generated from the VNet transaction execution.
get_vnet_simulation_balance_changesNet per-address balance changes with dollar values.
get_vnet_simulation_asset_changesToken and native asset transfers: type, from, to, amount, and token info.