# Tenderly

Simulate, debug, and trace smart contract transactions on 100+ EVM networks. Create Virtual TestNets, inspect contracts, analyze gas, and test multi-step flows.

## Quick Start

```bash
# Connect this server (installs CLI if needed)
npx -y @smithery/cli@latest mcp add tenderly/tenderly-mcp

# Browse available tools
npx -y @smithery/cli@latest tool list tenderly/tenderly-mcp

# Get full schema for a tool
npx -y @smithery/cli@latest tool get tenderly/tenderly-mcp create_vnet

# Call a tool
npx -y @smithery/cli@latest tool call tenderly/tenderly-mcp create_vnet '{}'
```

## Direct MCP Connection

Endpoint: `https://tenderly-mcp--tenderly.run.tools`

## Tools (43)

- `create_vnet` — Creates a new Virtual TestNet by forking a public EVM network at a specific block. The resulting TestNet is a private, …
- `delete_vnet` — Permanently deletes the active Virtual TestNet, including all transactions, state, and snapshots. Cannot be undone. Req…
- `fork_vnet` — Forks the active Virtual TestNet into a new one, preserving all state including deployed contracts and balances. The ne…
- `fund_account` — Sets the native token balance of any address on a Virtual TestNet. Use this to fund test accounts without a faucet. Req…
- `get_contract_info` — Retrieves contract metadata for an address on a given network — name, ABI, compiler version, token standards (e.g. ERC-…
- `get_networks` — Lists all public blockchain networks supported by Tenderly.
- `get_simulation_asset_transfers` — Returns all token and native asset transfers from a simulated or on-chain transaction, including sender, recipient, tok…
- `get_simulation_balance_changes` — Returns the net per-address balance impact with USD values from a simulated or on-chain transaction. Accepts tx_hash or…
- `get_simulation_call_trace` — Returns the flattened call trace for a simulated or on-chain transaction — every internal EVM call with decoded functio…
- `get_simulation_events` — Returns decoded events (logs) emitted during a simulated or on-chain transaction, including event names, emitting addre…
- `get_simulation_exposure_changes` — Returns token approval and allowance changes (approvals, revocations, permits) from a simulated or on-chain transaction…
- `get_simulation_gas_breakdown` — Returns a per-call gas breakdown including intrinsic gas and refunds. Gas values are inclusive of subcalls. Useful for …
- `get_simulation_generated_access_list` — Returns the EIP-2930 access list for a previously simulated transaction. Useful for gas optimization. Requires simulati…
- `get_simulation_state_changes` — Returns storage slot diffs and native balance diffs caused by a simulated or on-chain transaction. Accepts tx_hash or s…
- `get_user_info` — Returns the authenticated user's info and the currently active project (if set).
- `get_vnet` — Returns details of the active Virtual TestNet including RPC endpoints, chain configuration, fork origin, and status. Re…
- `get_vnet_simulation_asset_changes` — Returns token and native asset transfers for a Virtual TestNet transaction. Pass the operation_id from simulate_vnet_tr…
- `get_vnet_simulation_balance_changes` — Returns net per-address balance changes (with dollar values) for a Virtual TestNet transaction. Pass the operation_id f…
- `get_vnet_simulation_call_trace` — Returns the flattened call trace for a Virtual TestNet transaction — every internal EVM call with per-call gas. Pass th…
- `get_vnet_simulation_events` — Returns decoded events (logs) emitted during a Virtual TestNet transaction, including event names and emitting addresse…
- `get_vnet_simulation_gas_breakdown` — Returns a per-call gas breakdown for a Virtual TestNet transaction, sorted by gas usage. Pass the operation_id from get…
- `get_vnet_simulation_generated_access_list` — Returns an EIP-2930 access list generated from a previously executed Virtual TestNet transaction. Useful for gas optimi…
- `get_vnet_simulation_state_changes` — Returns storage slot diffs caused by a previously executed Virtual TestNet transaction. Uses the trace endpoint; pass t…
- `get_vnet_transactions` — Lists transactions executed on a Virtual TestNet, with pagination. Requires an active project and vnet (set via set_act…
- `increase_time` — Advances the block timestamp on a Virtual TestNet by the given number of seconds. IMPORTANT: this has no effect until m…
- `list_projects` — Lists all Tenderly projects accessible to the authenticated user.
- `list_vnets` — Lists Virtual TestNets in the active project. Virtual TestNets are private, persistent forks of public EVM networks for…
- `mine_block` — Mines exactly one new block on a Virtual TestNet. Required after increase_time to make time changes take effect. Do not…
- `resimulate_transaction` — Replays an on-chain transaction in Tenderly's simulation environment to get a full decoded execution trace. Useful for …
- `resimulate_vnet_transaction` — Re-traces a previously executed Virtual TestNet transaction by its operation ID (from get_vnet_transactions). Returns a…
- `revert_vnet` — Reverts a Virtual TestNet to a previously created snapshot, undoing all state changes since that point. The snapshot is…
- `send_vnet_transaction` — Sends and executes a transaction on a Virtual TestNet. The sender is impersonated — no private key needed. Omit 'to' fo…
- `set_active_project` — Sets the active Tenderly project for subsequent tool calls. Must be called before tools that require a project context.
- `set_active_vnet` — Sets the active Virtual TestNet for subsequent tool calls. All VNet tools operate on the active VNet — call this before…
- `set_erc20_balance` — Sets the ERC-20 token balance of any address on a Virtual TestNet. Use this to give test accounts specific token balanc…
- `set_storage_at` — Sets a raw storage slot value at any contract address on a Virtual TestNet. This is a low-level primitive — prefer set_…
- `simulate_transaction` — Simulates a transaction on any Tenderly-supported EVM network without spending gas. Returns the outcome including decod…
- `simulate_vnet_transaction` — Simulates a transaction on a Virtual TestNet without changing its state. Returns a summary with status, gas usage, deco…
- `snapshot_vnet` — Creates a state snapshot of a Virtual TestNet and returns a snapshot ID. Use before running a simulation scenario so yo…
- `trace_transaction` — Traces an on-chain transaction's execution and returns a summary: status, gas used, decoded method name, and error deta…
- `trace_vnet_transaction` — Returns a decoded execution trace summary for a Virtual TestNet transaction — contract name, function name, decoded inp…
- `vnet_call` — Executes a read-only eth_call on a Virtual TestNet without changing state. The data field must be ABI-encoded calldata …
- `vnet_multicall` — Executes up to 10 read-only eth_call requests in a single batch on a Virtual TestNet. Returns one result per call, in t…

```bash
# Get full input/output schema for a tool
npx -y @smithery/cli@latest tool get tenderly/tenderly-mcp <tool-name>
```
