> ## 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

> Полный справочник по всем 59 инструментам, доступным в Tenderly MCP Server.

[Tenderly MCP Server](/ai-tools/overview) предоставляет 59 инструментов, разделённых на семь групп. Чтобы сначала подключить его к своему клиенту, следуйте [быстрому старту MCP Server](/ai-tools/quickstart). Всем инструментам, работающим с ресурсами проекта, требуется активный проект — сначала вызовите `set_active_project`. Инструментам Virtual Environment требуется активный Virtual Environment — вызовите `set_active_vnet` или создайте/форкните Virtual Environment (что автоматически активирует его).

<Note>
  Вам не нужно вызывать инструменты по имени. Просто опишите, что вы хотите, естественным языком, и Claude сам подберёт нужные инструменты.
</Note>

## Проект и аккаунт

Эти инструменты управляют контекстом сессии. Большинству других инструментов требуется установленный активный проект.

| Инструмент           | Описание                                                                                                                                                                        |
| -------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `get_user_info`      | Возвращает информацию об аккаунте (ID, имя пользователя, email), текущий активный проект и активный Virtual Environment (ID, RPC URL, network ID), если установлен.             |
| `list_projects`      | Перечисляет все проекты Tenderly, доступные вам. Поддерживает необязательную фильтрацию по имени или слагу.                                                                     |
| `set_active_project` | Устанавливает активный проект для последующих вызовов инструментов. Принимает `account_slug` и `project_slug`. Должен быть вызван до использования инструментов уровня проекта. |

## Сети

| Инструмент     | Описание                                                                                                                                                          |
| -------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `get_networks` | Перечисляет все публичные EVM-сети, поддерживаемые Tenderly (100+). Поддерживает необязательную фильтрацию по имени. Возвращает network ID, имя, слаг и chain ID. |

## Контракты

| Инструмент          | Описание                                                                                                                                                                                                                                      |
| ------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `get_contract_info` | Возвращает метаданные для адреса контракта в заданной сети: имя контракта, ABI (если верифицирован), версию компилятора, EVM-версию, язык, стандарты токенов (ERC-20, ERC-721 и т. д.), блок создания, транзакцию создания и адрес деплойера. |

## Симуляции транзакций

Симулируйте и трассируйте транзакции в любой поддерживаемой Tenderly EVM-сети, не тратя газ и не изменяя ончейн-состояние.

### Основные инструменты симуляции

| Инструмент               | Описание                                                                                                                                                                                                                                                                              |
| ------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `simulate_transaction`   | Симулирует транзакцию и возвращает результат: статус success/revert, использованный газ, декодированное имя метода, сообщение об ошибке и причину revert. Поддерживает переопределения состояния, поля EIP-1559 и кастомные номера блоков. Результаты сохраняются на дашборд проекта. |
| `resimulate_transaction` | Воспроизводит существующую ончейн-транзакцию в среде симуляции Tenderly. Полезно для отладки транзакций, которые упали или повели себя неожиданно.                                                                                                                                    |
| `trace_transaction`      | Трассирует ончейн-транзакцию и возвращает сводку: статус, использованный газ, декодированный метод, отправителя, получателя и детали ошибки.                                                                                                                                          |

### Инструменты детализации симуляции

После запуска `simulate_transaction`, `resimulate_transaction` или `trace_transaction` используйте эти дополнительные инструменты с возвращённым `simulation_id` или `tx_hash`, чтобы инспектировать конкретные аспекты исполнения.

| Инструмент                             | Описание                                                                                                                                                                                         |
| -------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| `get_simulation_call_trace`            | Плоское дерево вызовов — каждый внутренний EVM-вызов с декодированными именами функций, входами, выходами и газом по каждому вызову. Поддерживает параметр `max_depth`. Ограничено 256 записями. |
| `get_simulation_events`                | Декодированные события (логи), эмитированные во время исполнения, включая имена событий, эмитирующие адреса и параметры, декодированные по ABI. Ограничено 100 записями.                         |
| `get_simulation_state_changes`         | Диффы слотов хранилища (адрес, ключ, значения до/после) и диффы нативных балансов для всех затронутых аккаунтов. Ограничено 100 записями.                                                        |
| `get_simulation_asset_transfers`       | Все переводы токенов и нативных активов: отправитель, получатель, информация о токене (имя, тип, символ, decimals) и сумма. Ограничено 100 записями.                                             |
| `get_simulation_exposure_changes`      | Изменения approvals и allowance для токенов — approvals, отзывы и permits. Ограничено 100 записями.                                                                                              |
| `get_simulation_balance_changes`       | Чистое изменение балансов по каждому адресу с долларовыми значениями. Ограничено 100 записями.                                                                                                   |
| `get_simulation_gas_breakdown`         | Разбивка газа по каждому вызову, включая intrinsic gas и refunds. Значения газа включают подвызовы.                                                                                              |
| `get_simulation_generated_access_list` | Генерирует access list EIP-2930 путём пересимуляции транзакции. Полезно для оптимизации газа.                                                                                                    |

## Virtual Environments

Создавайте и управляйте приватными персистентными форками публичных EVM-сетей. У Virtual Environments свои RPC-эндпоинты, и они поддерживают имперсонированные транзакции без приватных ключей.

Инструменты Virtual Environment используют **stateful-модель сессии**: установите Virtual Environment активным (или создайте/форкните его — это автоматически активирует), и все последующие инструменты Virtual Environment работают с ним. Не нужно передавать ID Virtual Environment в каждый вызов.

| Инструмент              | Описание                                                                                                                                                                                                                                                                                                                                              |
| ----------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `set_active_vnet`       | Устанавливает активный Virtual Environment для последующих вызовов инструментов. Принимает `vnet_id`. После установки все инструменты Virtual Environment автоматически работают с этим Virtual Environment.                                                                                                                                          |
| `create_vnet`           | Создаёт новый Virtual Environment, форкая публичную сеть на определённом блоке. Принимает `network_id`, необязательные `display_name`, `description`, `block_number` (hex), кастомный `chain_id` и `sync_state_enabled`. Возвращает детали Virtual Environment, включая RPC URLs. **Автоматически устанавливает новый Virtual Environment активным.** |
| `list_vnets`            | Перечисляет Virtual Environments в активном проекте. Поддерживает пагинацию (`page`, `per_page`), фильтрацию по статусу (`running`, `stopped`, `cloning`) и поиск по имени.                                                                                                                                                                           |
| `get_vnet`              | Возвращает полные детали активного Virtual Environment: ID, слаг, отображаемое имя, статус, описание, конфигурацию форка, конфигурацию сети и URL RPC-эндпоинтов.                                                                                                                                                                                     |
| `fork_vnet`             | Форкает активный Virtual Environment в новый, сохраняя всё состояние, включая задеплоенные контракты и балансы. **Автоматически устанавливает новый форк активным.**                                                                                                                                                                                  |
| `delete_vnet`           | Удаляет Virtual Environment. Это деструктивное действие. Очищает активный Virtual Environment из состояния сессии.                                                                                                                                                                                                                                    |
| `send_vnet_transaction` | Отправляет и исполняет транзакцию в активном Virtual Environment. Адрес отправителя имперсонируется, приватный ключ не нужен. Принимает `from`, `to`, `input` (calldata), `value` (hex wei) и `gas`.                                                                                                                                                  |
| `get_vnet_transactions` | Перечисляет транзакции в активном Virtual Environment с пагинацией. Возвращает хеш транзакции, статус, использованный газ, номер блока и метод.                                                                                                                                                                                                       |
| `fund_account`          | Задаёт баланс нативного токена для любого адреса в активном Virtual Environment, вызывая `tenderly_setBalance` по RPC. Принимает `address` и `amount` в hex wei.                                                                                                                                                                                      |
| `set_erc20_balance`     | Задаёт баланс ERC-20 токена для любого адреса в активном Virtual Environment через `tenderly_setErc20Balance`. Принимает `token_address`, `address` и `value`. Предпочтительнее `set_storage_at` для изменения балансов токенов.                                                                                                                      |
| `set_storage_at`        | Записывает сырое значение в конкретный слот хранилища контракта через `tenderly_setStorageAt`. Принимает `contract_address`, `slot` и `value`. Используйте для переопределения цен оракулов, параметров протокола или любого состояния, не покрытого высокоуровневыми инструментами.                                                                  |
| `vnet_call`             | Выполняет read-only `eth_call` в активном Virtual Environment. Принимает `to`, `input` (calldata) и необязательный `from`. Результаты усекаются на 10 КБ.                                                                                                                                                                                             |
| `vnet_multicall`        | Выполняет пакет до 10 read-only `eth_call`-запросов за один RPC round-trip. Каждый вызов принимает `to`, `input` и необязательный `from`. Каждый результат усекается на 10 КБ.                                                                                                                                                                        |
| `mine_block`            | Майнит один блок в активном Virtual Environment через `evm_mine`. Используйте после `increase_time`, чтобы применить изменение времени.                                                                                                                                                                                                               |
| `increase_time`         | Продвигает часы Virtual Environment на заданное число секунд через `evm_increaseTime`. Всегда следуйте `mine_block`, чтобы зафиксировать изменение времени в новом блоке.                                                                                                                                                                             |
| `snapshot_vnet`         | Сохраняет текущее состояние Virtual Environment и возвращает ID снапшота через `evm_snapshot`. Используйте для ветвления тестовых сценариев — сделайте снапшот перед тестом, затем откатитесь и попробуйте другой путь.                                                                                                                               |
| `revert_vnet`           | Восстанавливает Virtual Environment к ранее сохранённому снапшоту через `evm_revert`. Снапшот расходуется при использовании — сделайте новый снапшот, если нужно откатиться ещё раз.                                                                                                                                                                  |

## Симуляции и трассы Virtual Environment

Симулируйте и трассируйте транзакции в активном Virtual Environment. Эти инструменты работают с operation ID, а не с хешами транзакций сетевого уровня.

### Основные инструменты симуляции Virtual Environment

| Инструмент                    | Описание                                                                                                                                                                                                                  |
| ----------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `simulate_vnet_transaction`   | Симулирует транзакцию в Virtual Environment, не изменяя его состояние. Возвращает статус, использованный газ, декодированный метод и `operation_id` для последующих инструментов. Поддерживает переопределения состояния. |
| `resimulate_vnet_transaction` | Повторно трассирует ранее выполненную транзакцию Virtual Environment по её `operation_id` (из `get_vnet_transactions`).                                                                                                   |
| `trace_vnet_transaction`      | Возвращает сводку декодированной трассы исполнения: имя контракта, имя функции, декодированные входные параметры, декодированный выход, использованный газ и детали ошибки.                                               |

### Инструменты детализации симуляции Virtual Environment

Используйте их с `operation_id` из инструментов выше. Они работают в активном Virtual Environment.

| Инструмент                                  | Описание                                                                                                                 |
| ------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------ |
| `get_vnet_simulation_call_trace`            | Плоская трасса вызовов для транзакции Virtual Environment с типом вызова, адресами, газом и значением по каждому вызову. |
| `get_vnet_simulation_events`                | Декодированные события, эмитированные во время транзакции Virtual Environment: имя события и эмитирующий адрес.          |
| `get_vnet_simulation_gas_breakdown`         | Разбивка газа по каждому вызову, отсортированная по потреблению газа. Показывает общий газ и топ-потребителей.           |
| `get_vnet_simulation_state_changes`         | Диффы слотов хранилища: адрес, ключ, значения до/после для каждого изменённого слота.                                    |
| `get_vnet_simulation_generated_access_list` | Access list EIP-2930, сгенерированный из исполнения транзакции Virtual Environment.                                      |
| `get_vnet_simulation_balance_changes`       | Чистые изменения балансов по каждому адресу с долларовыми значениями.                                                    |
| `get_vnet_simulation_asset_changes`         | Переводы токенов и нативных активов: тип, from, to, сумма и информация о токене.                                         |

## Продвинутая навигация по трассе

16 инструментов для навигации по сложным транзакциям с сотнями или тысячами внутренних вызовов. Используйте их, когда `get_simulation_call_trace` или `get_vnet_simulation_call_trace` возвращают усечённые результаты или когда нужно искать, углубляться или обобщать большую трассу без загрузки всего дерева.

### Ончейн и симуляция

| Инструмент                  | Описание                                                                                                                                                                                                            |
| --------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `get_trace_stats`           | Быстрая проверка размера перед загрузкой трассы — возвращает общее число вызовов, максимальную глубину, число ошибок и уникальных контрактов. Помогает выбрать стратегию навигации.                                 |
| `get_trace_skeleton`        | Возвращает сжатое дерево вызовов (имя функции, контракт, глубина, флаг ошибки, без декодированных аргументов) для больших усечённых трасс. Используйте возвращённые значения `absolute_position`, чтобы углубиться. |
| `get_call_trace_node`       | Разворачивает конкретный усечённый узел трассы. Используйте, когда узел сообщает `omitted_children > 0`.                                                                                                            |
| `search_call_trace`         | Ищет в большой трассе конкретные вызовы, не загружая всё дерево. Фильтруйте по адресу, имени функции или статусу ошибки.                                                                                            |
| `get_subtree_events`        | Возвращает события из одного конкретного поддерева, а не из всей транзакции. Используйте, когда `get_simulation_events` возвращает слишком много событий.                                                           |
| `get_subtree_state_changes` | Возвращает диффы хранилища из одного конкретного поддерева.                                                                                                                                                         |
| `find_failures`             | Находит все локации ошибок в транзакции сразу — возвращает каждый упавший узел с именем контракта, функцией и декодированной ошибкой.                                                                               |
| `get_error_path`            | Показывает цепочку виновников от корня до самой глубокой ошибки с декодированными входами/выходами на каждом уровне. Основной инструмент для отладки revert'ов в сложных транзакциях.                               |
| `get_transaction_fund_flow` | Показывает упорядоченное движение денег в транзакции — кто, кому и что отправил, с долларовыми значениями и чистым потоком по каждому адресу. Только для ончейн-транзакций.                                         |

### Аналоги для Virtual Environment

Зеркальные аналоги инструментов выше для транзакций в активном Virtual Environment.

| Инструмент                 | Описание                                              |
| -------------------------- | ----------------------------------------------------- |
| `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.      |
