> ## Documentation Index
> Fetch the complete documentation index at: https://docs.tenderly.co/llms.txt
> Use this file to discover all available pages before exploring further.

# MCP Server Tools Reference

> Tenderly MCP Server में उपलब्ध सभी 59 टूल्स के लिए पूर्ण reference।

[Tenderly MCP Server](/ai-tools/overview) सात समूहों में संगठित 59 टूल्स प्रदान करता है। इसे पहले अपने client से जोड़ने के लिए, [MCP Server quickstart](/ai-tools/quickstart) का पालन करें। सभी टूल्स जो project संसाधनों पर काम करते हैं उन्हें एक active project की आवश्यकता होती है, पहले `set_active_project` को call करें। Virtual Environment टूल्स को एक active Virtual Environment की आवश्यकता होती है, `set_active_vnet` को call करें या एक Virtual Environment बनाएँ/fork करें (जो इसे स्वचालित रूप से active करता है)।

<Note>
  आपको नाम से टूल्स को call करने की आवश्यकता नहीं है। बस प्राकृतिक भाषा में जो आप चाहते हैं उसका वर्णन करें और Claude स्वचालित रूप से सही टूल्स चुन लेगा।
</Note>

## Project और account

ये टूल्स आपके session संदर्भ का प्रबंधन करते हैं। अधिकांश अन्य टूल्स एक active project सेट होने पर निर्भर करते हैं।

| टूल                  | विवरण                                                                                                                                                                |
| -------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `get_user_info`      | आपकी account जानकारी (ID, username, email), वर्तमान में active project, और यदि सेट है तो active Virtual Environment (ID, RPC URL, network ID) लौटाता है।             |
| `list_projects`      | आपके लिए सुलभ सभी Tenderly projects सूचीबद्ध करता है। नाम या slug द्वारा वैकल्पिक search filtering का समर्थन करता है।                                                |
| `set_active_project` | बाद के टूल calls के लिए active project सेट करता है। `account_slug` और `project_slug` स्वीकार करता है। project-scoped टूल्स का उपयोग करने से पहले इसे call करना होगा। |

## Networks

| टूल            | विवरण                                                                                                                                                                            |
| -------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `get_networks` | Tenderly द्वारा समर्थित सभी सार्वजनिक EVM नेटवर्क (100+) सूचीबद्ध करता है। नाम द्वारा वैकल्पिक search filtering का समर्थन करता है। network ID, नाम, slug, और chain ID लौटाता है। |

## Contracts

| टूल                 | विवरण                                                                                                                                                                                                                                               |
| ------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `get_contract_info` | दिए गए नेटवर्क पर एक contract address के लिए metadata प्राप्त करता है: contract नाम, ABI (यदि verified है), compiler version, EVM version, भाषा, token standards (ERC-20, ERC-721, आदि), creation block, creation transaction, और deployer address। |

## Transaction simulations

gas खर्च किए बिना या on-chain state को संशोधित किए बिना किसी भी Tenderly-समर्थित EVM नेटवर्क पर transactions को simulate और trace करें।

### Core simulation टूल्स

| टूल                      | विवरण                                                                                                                                                                                                                                                                        |
| ------------------------ | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `simulate_transaction`   | एक transaction को simulate करता है और परिणाम लौटाता है: success/revert status, gas used, decoded method नाम, error संदेश, और revert reason। state overrides, EIP-1559 fields, और custom block numbers का समर्थन करता है। परिणाम आपके project dashboard में persist होते हैं। |
| `resimulate_transaction` | Tenderly के simulation परिवेश में एक मौजूदा on-chain transaction को replay करता है। उन transactions को debug करने के लिए उपयोगी जो revert हुए या अप्रत्याशित रूप से व्यवहार किया।                                                                                            |
| `trace_transaction`      | एक on-chain transaction को trace करता है और एक सारांश लौटाता है: status, gas used, decoded method, sender, recipient, और error विवरण।                                                                                                                                        |

### Simulation विवरण टूल्स

`simulate_transaction`, `resimulate_transaction`, या `trace_transaction` चलाने के बाद, execution के विशिष्ट पहलुओं का निरीक्षण करने के लिए लौटाए गए `simulation_id` या `tx_hash` के साथ इन follow-up टूल्स का उपयोग करें।

| टूल                                    | विवरण                                                                                                                                                                       |
| -------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `get_simulation_call_trace`            | Flattened call tree, decoded function names, inputs, outputs, और प्रति call gas के साथ हर internal EVM call। `max_depth` parameter का समर्थन करता है। 256 entries पर सीमित। |
| `get_simulation_events`                | execution के दौरान emit किए गए decoded events (logs), event names, emitting addresses, और ABI-decoded parameters सहित। 100 entries पर सीमित।                                |
| `get_simulation_state_changes`         | Storage slot diffs (address, key, before/after values) और सभी प्रभावित accounts के लिए native balance diffs। 100 entries पर सीमित।                                          |
| `get_simulation_asset_transfers`       | सभी token और native asset transfers: sender, recipient, token जानकारी (नाम, प्रकार, symbol, decimals), और amount। 100 entries पर सीमित।                                     |
| `get_simulation_exposure_changes`      | Token approval और allowance changes, approvals, revocations, और permits। 100 entries पर सीमित।                                                                              |
| `get_simulation_balance_changes`       | USD dollar values के साथ प्रति-address शुद्ध balance प्रभाव। 100 entries पर सीमित।                                                                                          |
| `get_simulation_gas_breakdown`         | intrinsic gas और refunds सहित प्रति-call gas breakdown। Gas values subcalls को शामिल करती हैं।                                                                              |
| `get_simulation_generated_access_list` | transaction को फिर से simulate करके एक EIP-2930 access list उत्पन्न करता है। gas optimization के लिए उपयोगी।                                                                |

## Virtual Environments

सार्वजनिक EVM नेटवर्क के private, persistent forks बनाएँ और प्रबंधित करें। Virtual Environments के अपने RPC endpoints होते हैं और निजी keys के बिना impersonated transactions का समर्थन करते हैं।

Virtual Environment टूल्स एक **stateful session model** का उपयोग करते हैं: एक Virtual Environment को active सेट करें (या एक बनाएँ/fork करें, जो इसे स्वचालित रूप से active करता है), और उसके बाद के सभी Virtual Environment टूल्स उस पर काम करते हैं। हर call में Virtual Environment IDs पास करने की आवश्यकता नहीं है।

| टूल                     | विवरण                                                                                                                                                                                                                                                                                                                                                   |
| ----------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `set_active_vnet`       | बाद के टूल calls के लिए active Virtual Environment सेट करता है। एक `vnet_id` स्वीकार करता है। एक बार सेट होने पर, सभी Virtual Environment टूल्स इस Virtual Environment पर स्वचालित रूप से काम करते हैं।                                                                                                                                                 |
| `create_vnet`           | एक विशिष्ट block पर एक सार्वजनिक नेटवर्क को fork करके एक नया Virtual Environment बनाता है। `network_id`, वैकल्पिक `display_name`, `description`, `block_number` (hex), custom `chain_id`, और `sync_state_enabled` स्वीकार करता है। RPC URLs सहित Virtual Environment विवरण लौटाता है। **स्वचालित रूप से नए Virtual Environment को active सेट करता है।** |
| `list_vnets`            | active project में Virtual Environments सूचीबद्ध करता है। Pagination (`page`, `per_page`), status filtering (`running`, `stopped`, `cloning`), और नाम द्वारा search का समर्थन करता है।                                                                                                                                                                  |
| `get_vnet`              | active Virtual Environment के पूर्ण विवरण लौटाता है: ID, slug, display name, status, description, fork config, chain config, और RPC endpoint URLs।                                                                                                                                                                                                      |
| `fork_vnet`             | active Virtual Environment को एक नए में fork करता है, deployed contracts और balances सहित सभी state को संरक्षित करता है। **स्वचालित रूप से नए fork को active सेट करता है।**                                                                                                                                                                             |
| `delete_vnet`           | एक Virtual Environment को delete करता है। यह एक destructive action है। session state से active Virtual Environment साफ़ करता है।                                                                                                                                                                                                                        |
| `send_vnet_transaction` | active Virtual Environment पर एक transaction भेजता और execute करता है। sender address impersonate किया जाता है, कोई निजी key की आवश्यकता नहीं। `from`, `to`, `input` (calldata), `value` (hex wei), और `gas` स्वीकार करता है।                                                                                                                           |
| `get_vnet_transactions` | Pagination के साथ active Virtual Environment पर transactions सूचीबद्ध करता है। transaction hash, status, gas used, block number, और method लौटाता है।                                                                                                                                                                                                   |
| `fund_account`          | RPC के माध्यम से `tenderly_setBalance` को call करके active Virtual Environment पर किसी भी address का native token balance सेट करता है। hex wei में `address` और `amount` स्वीकार करता है।                                                                                                                                                               |
| `set_erc20_balance`     | `tenderly_setErc20Balance` के माध्यम से active Virtual Environment पर किसी भी address का ERC-20 token balance सेट करता है। `token_address`, `address`, और `value` स्वीकार करता है। token balance changes के लिए `set_storage_at` पर इसे प्राथमिकता दें।                                                                                                 |
| `set_storage_at`        | `tenderly_setStorageAt` के माध्यम से एक contract पर एक विशिष्ट storage slot में एक raw value लिखता है। `contract_address`, `slot`, और `value` स्वीकार करता है। oracle price overrides, protocol parameters, या higher-level टूल्स द्वारा कवर नहीं किए गए किसी भी state के लिए उपयोग करें।                                                               |
| `vnet_call`             | active Virtual Environment पर एक read-only `eth_call` execute करता है। `to`, `input` (calldata), और वैकल्पिक `from` स्वीकार करता है। परिणाम 10 KB पर truncated होते हैं।                                                                                                                                                                                |
| `vnet_multicall`        | एक ही RPC round-trip में अधिकतम 10 read-only `eth_call` requests का एक batch execute करता है। प्रत्येक call `to`, `input`, और वैकल्पिक `from` स्वीकार करता है। परिणाम प्रत्येक 10 KB पर truncated होते हैं।                                                                                                                                             |
| `mine_block`            | `evm_mine` के माध्यम से active Virtual Environment पर एक block mine करता है। time change लागू करने के लिए `increase_time` के बाद उपयोग करें।                                                                                                                                                                                                            |
| `increase_time`         | `evm_increaseTime` के माध्यम से Virtual Environment घड़ी को निर्दिष्ट संख्या में सेकंड आगे बढ़ाता है। हमेशा time change को नए block में commit करने के लिए `mine_block` का पालन करें।                                                                                                                                                                   |
| `snapshot_vnet`         | वर्तमान Virtual Environment state को save करता है और `evm_snapshot` के माध्यम से एक snapshot ID लौटाता है। branching test scenarios के लिए उपयोग करें, एक test से पहले snapshot लें, फिर एक अलग रास्ते की कोशिश करने के लिए revert करें।                                                                                                                |
| `revert_vnet`           | `evm_revert` के माध्यम से पहले save किए गए snapshot में Virtual Environment को restore करता है। snapshot उपयोग पर consume हो जाता है, यदि आपको फिर से revert करने की आवश्यकता है तो एक नया snapshot लें।                                                                                                                                                |

## Virtual Environment simulations और traces

active Virtual Environment पर transactions को simulate और trace करें। ये टूल्स network-level tx hashes के बजाय operation IDs के साथ काम करते हैं।

### Core Virtual Environment simulation टूल्स

| टूल                           | विवरण                                                                                                                                                                                                                    |
| ----------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| `simulate_vnet_transaction`   | एक Virtual Environment पर एक transaction को उसकी state को संशोधित किए बिना simulate करता है। status, gas used, decoded method, और follow-up टूल्स के लिए एक `operation_id` लौटाता है। state overrides का समर्थन करता है। |
| `resimulate_vnet_transaction` | एक पहले execute किए गए Virtual Environment transaction को उसके `operation_id` (from `get_vnet_transactions`) द्वारा फिर से trace करता है।                                                                                |
| `trace_vnet_transaction`      | एक decoded execution trace सारांश लौटाता है: contract नाम, function नाम, decoded input parameters, decoded output, gas used, और error विवरण।                                                                             |

### Virtual Environment simulation विवरण टूल्स

इनका उपयोग ऊपर के टूल्स से `operation_id` के साथ करें। वे active Virtual Environment पर काम करते हैं।

| टूल                                         | विवरण                                                                                                                 |
| ------------------------------------------- | --------------------------------------------------------------------------------------------------------------------- |
| `get_vnet_simulation_call_trace`            | call type, addresses, gas, और प्रति call value के साथ एक Virtual Environment transaction के लिए flattened call trace। |
| `get_vnet_simulation_events`                | एक Virtual Environment transaction के दौरान emit किए गए decoded events: event नाम और emitting address।                |
| `get_vnet_simulation_gas_breakdown`         | gas उपयोग द्वारा क्रमबद्ध प्रति-call gas breakdown। कुल gas और शीर्ष consumers दिखाता है।                             |
| `get_vnet_simulation_state_changes`         | Storage slot diffs: प्रत्येक संशोधित slot के लिए address, key, before/after values।                                   |
| `get_vnet_simulation_generated_access_list` | Virtual Environment transaction execution से उत्पन्न EIP-2930 access list।                                            |
| `get_vnet_simulation_balance_changes`       | dollar values के साथ प्रति-address शुद्ध balance changes।                                                             |
| `get_vnet_simulation_asset_changes`         | Token और native asset transfers: type, from, to, amount, और token जानकारी।                                            |

## Advanced trace navigation

सैकड़ों या हजारों internal calls वाले जटिल transactions को नेविगेट करने के लिए 16 टूल्स। इनका उपयोग तब करें जब `get_simulation_call_trace` या `get_vnet_simulation_call_trace` truncated परिणाम लौटाता है, या जब आपको पूर्ण tree लोड किए बिना एक बड़े trace को search, drill, या सारांशित करने की आवश्यकता होती है।

### On-chain और simulation

| टूल                         | विवरण                                                                                                                                                                                                   |
| --------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `get_trace_stats`           | trace लोड करने से पहले त्वरित size check, कुल calls, अधिकतम गहराई, error count, और अद्वितीय contracts लौटाता है। यह तय करने के लिए उपयोग करें कि कौन सी navigation रणनीति लागू करनी है।                 |
| `get_trace_skeleton`        | बड़े truncated traces के लिए एक compressed call tree (function नाम, contract, depth, error flag, कोई decoded args नहीं) लौटाता है। drill करने के लिए लौटाए गए `absolute_position` values का उपयोग करें। |
| `get_call_trace_node`       | trace में एक विशिष्ट truncated node का विस्तार करता है। तब उपयोग करें जब एक node `omitted_children > 0` report करता है।                                                                                 |
| `search_call_trace`         | पूर्ण tree लोड किए बिना विशिष्ट calls के लिए एक बड़े trace की खोज करता है। address, function नाम, या error status द्वारा filter करें।                                                                   |
| `get_subtree_events`        | पूर्ण transaction के बजाय एक विशिष्ट subtree से events लौटाता है। तब उपयोग करें जब `get_simulation_events` बहुत सारे events लौटाता है।                                                                  |
| `get_subtree_state_changes` | एक विशिष्ट subtree से storage diffs लौटाता है।                                                                                                                                                          |
| `find_failures`             | एक transaction में सभी error स्थानों को एक साथ खोजता है, contract नाम, function, और decoded error के साथ हर विफल node लौटाता है।                                                                        |
| `get_error_path`            | प्रत्येक स्तर पर decoded inputs/outputs के साथ root से गहनतम error तक blame chain दिखाता है। जटिल transactions में reverts को debug करने के लिए go-to टूल।                                              |
| `get_transaction_fund_flow` | एक transaction में ordered money movement दिखाता है, USD values और प्रति-address शुद्ध flow के साथ किसने किसको क्या भेजा। केवल On-chain transactions।                                                   |

### Virtual Environment समकक्ष

active Virtual Environment पर transactions के लिए ऊपर के टूल्स का Mirror।

| टूल                        | विवरण                                                |
| -------------------------- | ---------------------------------------------------- |
| `get_vnet_trace_stats`     | `get_trace_stats` का Virtual Environment समकक्ष।     |
| `get_vnet_trace_skeleton`  | `get_trace_skeleton` का Virtual Environment समकक्ष।  |
| `get_vnet_call_trace_node` | `get_call_trace_node` का Virtual Environment समकक्ष। |
| `search_vnet_call_trace`   | `search_call_trace` का Virtual Environment समकक्ष।   |
| `get_vnet_subtree_events`  | `get_subtree_events` का Virtual Environment समकक्ष।  |
| `find_vnet_failures`       | `find_failures` का Virtual Environment समकक्ष।       |
| `get_vnet_error_path`      | `get_error_path` का Virtual Environment समकक्ष।      |
