Skip to main content
The Tenderly MCP Server exposes 59 tools organized into seven groups. All tools that operate on project resources require an active project, call set_active_project first. Virtual Environment tools require an active Virtual Environment, call set_active_vnet or create/fork a Virtual Environment (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 Environment (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 Environments

Create and manage private, persistent forks of public EVM networks. Virtual Environments have their own RPC endpoints and support impersonated transactions without private keys. Virtual Environment tools use a stateful session model: set a Virtual Environment as active (or create/fork one, which auto-activates it), and all subsequent Virtual Environment tools operate on it. No need to pass Virtual Environment IDs to every call.
ToolDescription
set_active_vnetSets the active Virtual Environment for subsequent tool calls. Accepts a vnet_id. Once set, all Virtual Environment tools operate on this Virtual Environment automatically.
create_vnetCreates a new Virtual Environment 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 Virtual Environment details including RPC URLs. Automatically sets the new Virtual Environment as active.
list_vnetsLists Virtual Environments 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 Environment: ID, slug, display name, status, description, fork config, chain config, and RPC endpoint URLs.
fork_vnetForks the active Virtual Environment into a new one, preserving all state including deployed contracts and balances. Automatically sets the new fork as active.
delete_vnetDeletes a Virtual Environment. This is a destructive action. Clears the active Virtual Environment from session state.
send_vnet_transactionSends and executes a transaction on the active Virtual Environment. 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 Environment 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 Environment 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 Virtual Environment 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 Virtual Environment. 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 Virtual Environment via evm_mine. Use after increase_time to apply the time change.
increase_timeAdvances the Virtual Environment 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 Virtual Environment 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 Virtual Environment 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 Environment simulations & traces

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

Core Virtual Environment simulation tools

ToolDescription
simulate_vnet_transactionSimulates a transaction on a Virtual Environment 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 Virtual Environment 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.

Virtual Environment simulation detail tools

Use these with the operation_id from the tools above. They operate on the active Virtual Environment.
ToolDescription
get_vnet_simulation_call_traceFlattened call trace for a Virtual Environment transaction with call type, addresses, gas, and value per call.
get_vnet_simulation_eventsDecoded events emitted during a Virtual Environment 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 Virtual Environment 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.

Advanced trace navigation

16 tools for navigating complex transactions with hundreds or thousands of internal calls. Use these when get_simulation_call_trace or get_vnet_simulation_call_trace returns truncated results, or when you need to search, drill into, or summarize a large trace without loading the full tree.

On-chain & simulation

ToolDescription
get_trace_statsQuick size check before loading a trace, returns total calls, max depth, error count, and unique contracts. Use to decide which navigation strategy to apply.
get_trace_skeletonReturns a compressed call tree (function name, contract, depth, error flag, no decoded args) for large truncated traces. Use the returned absolute_position values to drill in.
get_call_trace_nodeExpands a specific truncated node in the trace. Use when a node reports omitted_children > 0.
search_call_traceSearches a large trace for specific calls without loading the full tree. Filter by address, function name, or error status.
get_subtree_eventsReturns events from one specific subtree instead of the full transaction. Use when get_simulation_events returns too many events.
get_subtree_state_changesReturns storage diffs from one specific subtree.
find_failuresFinds all error locations in a transaction at once, returns every failing node with contract name, function, and decoded error.
get_error_pathShows the blame chain from root to the deepest error with decoded inputs/outputs at each level. The go-to tool for debugging reverts in complex transactions.
get_transaction_fund_flowShows ordered money movement in a transaction, who sent what to whom with USD values and net flow per address. On-chain transactions only.

Virtual Environment equivalents

Mirror of the tools above for transactions on the active Virtual Environment.
ToolDescription
get_vnet_trace_statsVirtual Environment equivalent of get_trace_stats.
get_vnet_trace_skeletonVirtual Environment equivalent of get_trace_skeleton.
get_vnet_call_trace_nodeVirtual Environment equivalent of get_call_trace_node.
search_vnet_call_traceVirtual Environment equivalent of search_call_trace.
get_vnet_subtree_eventsVirtual Environment equivalent of get_subtree_events.
find_vnet_failuresVirtual Environment equivalent of find_failures.
get_vnet_error_pathVirtual Environment equivalent of get_error_path.