Connects Claude to Tenderly's blockchain development platform so you can simulate transactions, debug smart contracts, and test against live or forked states across 100+ EVM networks. You'd reach for this when prototyping contract interactions, investigating transaction failures, or running what-if scenarios without deploying to mainnet. The server gives you programmatic access to Tenderly's simulation engine, meaning you can ask Claude to fork Ethereum at a specific block, simulate a complex DeFi transaction, or trace execution to find where a contract reverted. Useful for both exploratory debugging sessions and building reproducible test cases against real network conditions.
Public tool metadata for what this MCP can expose to an agent.
create_vnetCreates a new Virtual TestNet by forking a public EVM network at a specific block. The resulting TestNet is a private, persistent environment with its own RPC endpoint. Requires an active project (set via set_active_project).6 paramsCreates a new Virtual TestNet by forking a public EVM network at a specific block. The resulting TestNet is a private, persistent environment with its own RPC endpoint. Requires an active project (set via set_active_project).
chain_idintegernetwork_idintegerdescriptionstringblock_numberstringdisplay_namestringsync_state_enabledbooleandelete_vnetPermanently deletes the active Virtual TestNet, including all transactions, state, and snapshots. Cannot be undone. Requires an active project and vnet (set via set_active_project and set_active_vnet).Permanently deletes the active Virtual TestNet, including all transactions, state, and snapshots. Cannot be undone. Requires an active project and vnet (set via set_active_project and set_active_vnet).
No parameter schema in public metadata yet.
fork_vnetForks the active Virtual TestNet into a new one, preserving all state including deployed contracts and balances. The new VNet becomes the active VNet. Requires an active project and vnet (set via set_active_project and set_active_vnet).1 paramsForks the active Virtual TestNet into a new one, preserving all state including deployed contracts and balances. The new VNet becomes the active VNet. Requires an active project and vnet (set via set_active_project and set_active_vnet).
display_namestringfund_accountSets the native token balance of any address on a Virtual TestNet. Use this to fund test accounts without a faucet. Requires an active project and vnet (set via set_active_project and set_active_vnet).2 paramsSets the native token balance of any address on a Virtual TestNet. Use this to fund test accounts without a faucet. Requires an active project and vnet (set via set_active_project and set_active_vnet).
amountstringaddressstringget_contract_infoRetrieves contract metadata for an address on a given network — name, ABI, compiler version, token standards (e.g. ERC-20), and creation info. ABI is only available for verified contracts. Requires an active project (set via set_active_project).2 paramsRetrieves contract metadata for an address on a given network — name, ABI, compiler version, token standards (e.g. ERC-20), and creation info. ABI is only available for verified contracts. Requires an active project (set via set_active_project).
addressstringnetwork_idstringget_networksLists all public blockchain networks supported by Tenderly.1 paramsLists all public blockchain networks supported by Tenderly.
searchstringget_simulation_asset_transfersReturns all token and native asset transfers from a simulated or on-chain transaction, including sender, recipient, token info, and amount. Accepts tx_hash or simulation_id. Requires an active project (set via set_active_project).3 paramsReturns all token and native asset transfers from a simulated or on-chain transaction, including sender, recipient, token info, and amount. Accepts tx_hash or simulation_id. Requires an active project (set via set_active_project).
tx_hashstringnetwork_idstringsimulation_idstringget_simulation_balance_changesReturns the net per-address balance impact with USD values from a simulated or on-chain transaction. Accepts tx_hash or simulation_id. Requires an active project (set via set_active_project).3 paramsReturns the net per-address balance impact with USD values from a simulated or on-chain transaction. Accepts tx_hash or simulation_id. Requires an active project (set via set_active_project).
tx_hashstringnetwork_idstringsimulation_idstringget_simulation_call_traceReturns the flattened call trace for a simulated or on-chain transaction — every internal EVM call with decoded function names, inputs, outputs, and per-call gas. Accepts tx_hash or simulation_id. Requires an active project (set via set_active_project).4 paramsReturns the flattened call trace for a simulated or on-chain transaction — every internal EVM call with decoded function names, inputs, outputs, and per-call gas. Accepts tx_hash or simulation_id. Requires an active project (set via set_active_project).
tx_hashstringmax_depthintegernetwork_idstringsimulation_idstringget_simulation_eventsReturns decoded events (logs) emitted during a simulated or on-chain transaction, including event names, emitting addresses, and ABI-decoded parameters. Accepts tx_hash or simulation_id. Requires an active project (set via set_active_project).3 paramsReturns decoded events (logs) emitted during a simulated or on-chain transaction, including event names, emitting addresses, and ABI-decoded parameters. Accepts tx_hash or simulation_id. Requires an active project (set via set_active_project).
tx_hashstringnetwork_idstringsimulation_idstringget_simulation_exposure_changesReturns token approval and allowance changes (approvals, revocations, permits) from a simulated or on-chain transaction. Accepts tx_hash or simulation_id. Requires an active project (set via set_active_project).3 paramsReturns token approval and allowance changes (approvals, revocations, permits) from a simulated or on-chain transaction. Accepts tx_hash or simulation_id. Requires an active project (set via set_active_project).
tx_hashstringnetwork_idstringsimulation_idstringget_simulation_gas_breakdownReturns a per-call gas breakdown including intrinsic gas and refunds. Gas values are inclusive of subcalls. Useful for identifying expensive operations. Accepts tx_hash or simulation_id. Requires an active project (set via set_active_project).3 paramsReturns a per-call gas breakdown including intrinsic gas and refunds. Gas values are inclusive of subcalls. Useful for identifying expensive operations. Accepts tx_hash or simulation_id. Requires an active project (set via set_active_project).
tx_hashstringnetwork_idstringsimulation_idstringget_simulation_generated_access_listReturns the EIP-2930 access list for a previously simulated transaction. Useful for gas optimization. Requires simulation_id from simulate_transaction or resimulate_transaction. Requires an active project (set via set_active_project).3 paramsReturns the EIP-2930 access list for a previously simulated transaction. Useful for gas optimization. Requires simulation_id from simulate_transaction or resimulate_transaction. Requires an active project (set via set_active_project).
tx_hashstringnetwork_idstringsimulation_idstringget_simulation_state_changesReturns storage slot diffs and native balance diffs caused by a simulated or on-chain transaction. Accepts tx_hash or simulation_id. Requires an active project (set via set_active_project).3 paramsReturns storage slot diffs and native balance diffs caused by a simulated or on-chain transaction. Accepts tx_hash or simulation_id. Requires an active project (set via set_active_project).
tx_hashstringnetwork_idstringsimulation_idstringget_user_infoReturns the authenticated user's info and the currently active project (if set).Returns the authenticated user's info and the currently active project (if set).
No parameter schema in public metadata yet.
get_vnetReturns details of the active Virtual TestNet including RPC endpoints, chain configuration, fork origin, and status. Requires an active project and vnet (set via set_active_project and set_active_vnet).Returns details of the active Virtual TestNet including RPC endpoints, chain configuration, fork origin, and status. Requires an active project and vnet (set via set_active_project and set_active_vnet).
No parameter schema in public metadata yet.
get_vnet_simulation_asset_changesReturns token and native asset transfers for a Virtual TestNet transaction. Pass the operation_id from simulate_vnet_transaction or get_vnet_transactions. Requires an active project and vnet (set via set_active_project and set_active_vnet).1 paramsReturns token and native asset transfers for a Virtual TestNet transaction. Pass the operation_id from simulate_vnet_transaction or get_vnet_transactions. Requires an active project and vnet (set via set_active_project and set_active_vnet).
operation_idstringget_vnet_simulation_balance_changesReturns net per-address balance changes (with dollar values) for a Virtual TestNet transaction. Pass the operation_id from simulate_vnet_transaction or get_vnet_transactions. Requires an active project and vnet (set via set_active_project and set_active_vnet).1 paramsReturns net per-address balance changes (with dollar values) for a Virtual TestNet transaction. Pass the operation_id from simulate_vnet_transaction or get_vnet_transactions. Requires an active project and vnet (set via set_active_project and set_active_vnet).
operation_idstringget_vnet_simulation_call_traceReturns the flattened call trace for a Virtual TestNet transaction — every internal EVM call with per-call gas. Pass the operation_id from get_vnet_transactions. Requires an active project and vnet (set via set_active_project and set_active_vnet).1 paramsReturns the flattened call trace for a Virtual TestNet transaction — every internal EVM call with per-call gas. Pass the operation_id from get_vnet_transactions. Requires an active project and vnet (set via set_active_project and set_active_vnet).
operation_idstringget_vnet_simulation_eventsReturns decoded events (logs) emitted during a Virtual TestNet transaction, including event names and emitting addresses. Pass the operation_id from get_vnet_transactions. Requires an active project and vnet (set via set_active_project and set_active_vnet).1 paramsReturns decoded events (logs) emitted during a Virtual TestNet transaction, including event names and emitting addresses. Pass the operation_id from get_vnet_transactions. Requires an active project and vnet (set via set_active_project and set_active_vnet).
operation_idstringget_vnet_simulation_gas_breakdownReturns a per-call gas breakdown for a Virtual TestNet transaction, sorted by gas usage. Pass the operation_id from get_vnet_transactions. Requires an active project and vnet (set via set_active_project and set_active_vnet).1 paramsReturns a per-call gas breakdown for a Virtual TestNet transaction, sorted by gas usage. Pass the operation_id from get_vnet_transactions. Requires an active project and vnet (set via set_active_project and set_active_vnet).
operation_idstringget_vnet_simulation_generated_access_listReturns an EIP-2930 access list generated from a previously executed Virtual TestNet transaction. Useful for gas optimization. Pass the vnet_id and operation_id from get_vnet_transactions. Requires an active project and vnet (set via set_active_project and set_active_vnet).1 paramsReturns an EIP-2930 access list generated from a previously executed Virtual TestNet transaction. Useful for gas optimization. Pass the vnet_id and operation_id from get_vnet_transactions. Requires an active project and vnet (set via set_active_project and set_active_vnet).
operation_idstringget_vnet_simulation_state_changesReturns storage slot diffs caused by a previously executed Virtual TestNet transaction. Uses the trace endpoint; pass the operation_id from get_vnet_transactions. Requires an active project and vnet (set via set_active_project and set_active_vnet).1 paramsReturns storage slot diffs caused by a previously executed Virtual TestNet transaction. Uses the trace endpoint; pass the operation_id from get_vnet_transactions. Requires an active project and vnet (set via set_active_project and set_active_vnet).
operation_idstringget_vnet_transactionsLists transactions executed on a Virtual TestNet, with pagination. Requires an active project and vnet (set via set_active_project and set_active_vnet).2 paramsLists transactions executed on a Virtual TestNet, with pagination. Requires an active project and vnet (set via set_active_project and set_active_vnet).
pageintegerper_pageintegerincrease_timeAdvances the block timestamp on a Virtual TestNet by the given number of seconds. IMPORTANT: this has no effect until mine_block is called — always follow with mine_block. Use for time-dependent simulations like interest accrual, governance timelocks, or oracle staleness. Requ...1 paramsAdvances the block timestamp on a Virtual TestNet by the given number of seconds. IMPORTANT: this has no effect until mine_block is called — always follow with mine_block. Use for time-dependent simulations like interest accrual, governance timelocks, or oracle staleness. Requ...
secondsintegerlist_projectsLists all Tenderly projects accessible to the authenticated user.1 paramsLists all Tenderly projects accessible to the authenticated user.
searchstringlist_vnetsLists Virtual TestNets in the active project. Virtual TestNets are private, persistent forks of public EVM networks for development and testing. Requires an active project (set via set_active_project).4 paramsLists Virtual TestNets in the active project. Virtual TestNets are private, persistent forks of public EVM networks for development and testing. Requires an active project (set via set_active_project).
pageintegersearchstringstatusstringper_pageintegermine_blockMines exactly one new block on a Virtual TestNet. Required after increase_time to make time changes take effect. Do not call in a loop to advance many blocks — instead, use increase_time to jump forward by the desired duration, then call mine_block once. Requires an active pro...Mines exactly one new block on a Virtual TestNet. Required after increase_time to make time changes take effect. Do not call in a loop to advance many blocks — instead, use increase_time to jump forward by the desired duration, then call mine_block once. Requires an active pro...
No parameter schema in public metadata yet.
resimulate_transactionReplays an on-chain transaction in Tenderly's simulation environment to get a full decoded execution trace. Useful for debugging reverted or suspicious transactions. Requires an active project (set via set_active_project).2 paramsReplays an on-chain transaction in Tenderly's simulation environment to get a full decoded execution trace. Useful for debugging reverted or suspicious transactions. Requires an active project (set via set_active_project).
tx_hashstringnetwork_idstringresimulate_vnet_transactionRe-traces a previously executed Virtual TestNet transaction by its operation ID (from get_vnet_transactions). Returns a summary with status, gas usage, and decoded method. Use follow-up tools (listed in the response hint) to inspect state changes and generated access lists. Re...1 paramsRe-traces a previously executed Virtual TestNet transaction by its operation ID (from get_vnet_transactions). Returns a summary with status, gas usage, and decoded method. Use follow-up tools (listed in the response hint) to inspect state changes and generated access lists. Re...
operation_idstringrevert_vnetReverts a Virtual TestNet to a previously created snapshot, undoing all state changes since that point. The snapshot is consumed — create a new one with snapshot_vnet if you need to revert again. Typical pattern: snapshot_vnet → run scenario A → revert_vnet → run scenario B →...1 paramsReverts a Virtual TestNet to a previously created snapshot, undoing all state changes since that point. The snapshot is consumed — create a new one with snapshot_vnet if you need to revert again. Typical pattern: snapshot_vnet → run scenario A → revert_vnet → run scenario B →...
snapshot_idstringsend_vnet_transactionSends and executes a transaction on a Virtual TestNet. The sender is impersonated — no private key needed. Omit 'to' for contract deployment. Requires an active project and vnet (set via set_active_project and set_active_vnet).5 paramsSends and executes a transaction on a Virtual TestNet. The sender is impersonated — no private key needed. Omit 'to' for contract deployment. Requires an active project and vnet (set via set_active_project and set_active_vnet).
tostringgasintegerfromstringinputstringvaluestringset_active_projectSets the active Tenderly project for subsequent tool calls. Must be called before tools that require a project context.2 paramsSets the active Tenderly project for subsequent tool calls. Must be called before tools that require a project context.
account_slugstringproject_slugstringset_active_vnetSets the active Virtual TestNet for subsequent tool calls. All VNet tools operate on the active VNet — call this before using them. Use list_vnets to find available VNets. Automatically called when you create or fork a VNet. Requires an active project (set via set_active_proje...1 paramsSets the active Virtual TestNet for subsequent tool calls. All VNet tools operate on the active VNet — call this before using them. Use list_vnets to find available VNets. Automatically called when you create or fork a VNet. Requires an active project (set via set_active_proje...
vnet_idstringset_erc20_balanceSets the ERC-20 token balance of any address on a Virtual TestNet. Use this to give test accounts specific token balances without transfers or approvals. For native token (ETH/MATIC) balance, use fund_account instead. Requires an active project and vnet (set via set_active_pro...3 paramsSets the ERC-20 token balance of any address on a Virtual TestNet. Use this to give test accounts specific token balances without transfers or approvals. For native token (ETH/MATIC) balance, use fund_account instead. Requires an active project and vnet (set via set_active_pro...
valuestringaddressstringtoken_addressstringset_storage_atSets a raw storage slot value at any contract address on a Virtual TestNet. This is a low-level primitive — prefer set_erc20_balance for token balances and fund_account for native balance. Use this only when you need to write a specific storage slot directly (e.g. Chainlink or...3 paramsSets a raw storage slot value at any contract address on a Virtual TestNet. This is a low-level primitive — prefer set_erc20_balance for token balances and fund_account for native balance. Use this only when you need to write a specific storage slot directly (e.g. Chainlink or...
slotstringvaluestringaddressstringsimulate_transactionSimulates a transaction on any Tenderly-supported EVM network without spending gas. Returns the outcome including decoded traces, gas usage, and revert reason. For reverted transactions, includes decoded custom Solidity errors with name and typed parameters when available. Req...15 paramsSimulates a transaction on any Tenderly-supported EVM network without spending gas. Returns the outcome including decoded traces, gas usage, and revert reason. For reverted transactions, includes decoded custom Solidity errors with name and typed parameters when available. Req...
tostringgasintegerfromstringinputstringnonceintegervaluestringgas_pricestringnetwork_idstringdescriptionstringgas_fee_capintegergas_tip_capintegerblock_numberintegerstate_objectsobjectsimulation_typestringtransaction_indexintegersimulate_vnet_transactionSimulates a transaction on a Virtual TestNet without changing its state. Returns a summary with status, gas usage, decoded method, and decoded error details for reverted transactions. Omit 'to' for contract deployment. Use follow-up tools (listed in the response hint) to inspe...7 paramsSimulates a transaction on a Virtual TestNet without changing its state. Returns a summary with status, gas usage, decoded method, and decoded error details for reverted transactions. Omit 'to' for contract deployment. Use follow-up tools (listed in the response hint) to inspe...
tostringgasstringfromstringinputstringvaluestringblock_numberstringstate_overridesobjectsnapshot_vnetCreates a state snapshot of a Virtual TestNet and returns a snapshot ID. Use before running a simulation scenario so you can revert back with revert_vnet. Snapshots are lightweight — take one before any destructive or exploratory operation. Requires an active project and vnet...Creates a state snapshot of a Virtual TestNet and returns a snapshot ID. Use before running a simulation scenario so you can revert back with revert_vnet. Snapshots are lightweight — take one before any destructive or exploratory operation. Requires an active project and vnet...
No parameter schema in public metadata yet.
trace_transactionTraces an on-chain transaction's execution and returns a summary: status, gas used, decoded method name, and error details. For reverted transactions, includes decoded custom Solidity errors with name and typed parameters when available. Use follow-up tools (listed in the resp...3 paramsTraces an on-chain transaction's execution and returns a summary: status, gas used, decoded method name, and error details. For reverted transactions, includes decoded custom Solidity errors with name and typed parameters when available. Use follow-up tools (listed in the resp...
tx_hashstringnetwork_idstringsimulation_idstringtrace_vnet_transactionReturns a decoded execution trace summary for a Virtual TestNet transaction — contract name, function name, decoded input parameters, decoded output, and decoded error details for reverted transactions. For deeper analysis, use follow-up tools listed in the response hint. Pass...1 paramsReturns a decoded execution trace summary for a Virtual TestNet transaction — contract name, function name, decoded input parameters, decoded output, and decoded error details for reverted transactions. For deeper analysis, use follow-up tools listed in the response hint. Pass...
operation_idstringvnet_callExecutes a read-only eth_call on a Virtual TestNet without changing state. The data field must be ABI-encoded calldata (4-byte function selector + encoded arguments). Returns raw hex — decode with the contract ABI to extract return values. For reading multiple addresses at onc...5 paramsExecutes a read-only eth_call on a Virtual TestNet without changing state. The data field must be ABI-encoded calldata (4-byte function selector + encoded arguments). Returns raw hex — decode with the contract ABI to extract return values. For reading multiple addresses at onc...
tostringdatastringfromstringvaluestringblock_tagstringvnet_multicallExecutes up to 10 read-only eth_call requests in a single batch on a Virtual TestNet. Returns one result per call, in the same order. Each call's data must be ABI-encoded calldata (4-byte function selector + encoded arguments). Prefer this over multiple vnet_call invocations w...2 paramsExecutes up to 10 read-only eth_call requests in a single batch on a Virtual TestNet. Returns one result per call, in the same order. Each call's data must be ABI-encoded calldata (4-byte function selector + encoded arguments). Prefer this over multiple vnet_call invocations w...
callsarrayblock_tagstring