> For the complete documentation index, see [llms.txt](https://docs.rome.builders/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.rome.builders/ru/produkty/rome-cli.md).

# Rome CLI + MCP

CLI разработчика Rome и сервер MCP — проверенные факты о цепочке, правильный шаблон сборки и уникальные для Rome действия (пополнение, развёртывание, проверка) для человека или ИИ-агента.

`rome` проводит разработчика — человека или ИИ-агента — через весь жизненный цикл разработки на Rome: проверенные факты о цепочке, правильный шаблон, вызовы контрактов, шлюз пополнения, deploy/send, кросс-VM диагностику и works-gate для обеих дорожек. Одно ядро возможностей, два согласованных интерфейса — CLI (`rome <command>`) и [MCP](https://modelcontextprotocol.io) сервер (`rome mcp`) — чтобы агент и человек разделяли одну ментальную модель.

## Установка

Сначала репозиторий (публикация в npm ожидается):

```bash
# одноразовый запуск, без установки:
npx github:rome-protocol/rome-cli#v0.11.0 facts chain hadrian

# постоянная установка — клонирование + привязка:
git clone --branch v0.11.0 https://github.com/rome-protocol/rome-cli
cd rome-cli && npm install && npm install -g .
```

Обычный `npm install -g github:rome-protocol/rome-cli` не **не** работает сегодня — npm подготавливает git-зависимости пакета без их собственных node\_modules ([rome-cli#25](https://github.com/rome-protocol/rome-cli/issues/25)). Используйте одноразовый запуск через npx или клонирование + привязку и, как указано выше, фиксируйте тег: npx сохраняет первую загруженную копию, поэтому неприкреплённый `npx github:rome-protocol/rome-cli` может продолжать запускать старую версию, тогда как закреплённый тег всегда загружает именно эту версию.

## Два слоя поверх одного ядра

**Чтение — опора и диагностика.** Без ключей; и в CLI, и на сервере MCP.

| Команда                                                  | Что возвращает                                                                                                                                 |
| -------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------- |
| `rome facts chain·tokens·contracts·gas·balance·programs` | живые факты о цепочке из реестра + RPC — никаких выдуманных идентификаторов, адресов или селекторов                                            |
| `rome cookbook patterns·cpi-recipe·errors`               | какой пример соответствует вашей цели · правила по аккаунтам CPI, в которых агенты ошибаются · декодирование сбоя Rome → причина + исправление |
| `rome call <chain> <addr> <sig> [args]`                  | прочитать контракт (`eth_call`) — многоэлементные аргументы передаются через запятую в одном аргументе: `"0xOwner…,0xSpender…"`                |
| `rome doctor <chain>`                                    | предпроверка — сеть активна? RPC доступен? программа настроена? кошелёк пополнен?                                                              |
| `rome tx <chain> <hash>`                                 | диагностика транзакции — квитанция EVM + транзакция(и) расчёта Solana + ссылка Via (у Rome нет `debug_traceTransaction`)                       |
| `rome preset foundry\|hardhat <chain>`                   | готовая конфигурация сети Rome для вашего стека инструментов + особенности                                                                     |

**Действия — подпись в блокчейне.** Только в CLI, ключ из окружения, **никогда** на MCP.

| Команда                                                                    | Что делает                                                                                                                                                                                                                                                                                                                                     |
| -------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `rome deploy <chain> <artifact>`                                           | развернуть скомпилированный контракт с учётом особенностей газа Rome                                                                                                                                                                                                                                                                           |
| `rome send <chain> <addr> <sig>`                                           | записать в контракт через правильный путь записи Rome                                                                                                                                                                                                                                                                                          |
| `rome fund <chain> --from <src> --amount <usdc>`                           | перевести USDC → газ Rome (CCTP) — входной шлюз «из дома»                                                                                                                                                                                                                                                                                      |
| `rome bridge <chain> --from <src> --amount <usdc> [--intent gas\|wrapper]` | перевести USDC **из** как газ или wUSDC                                                                                                                                                                                                                                                                                                        |
| `rome bridge <chain> --to <dest> --amount <usdc>`                          | перевести wUSDC **наружу** — сжигание на Rome; вы получаете на целевой сети (Rome субсидирует входящий перевод, а не запрос на вывод)                                                                                                                                                                                                          |
| `rome activate <chain>`                                                    | требуется разовое финансирование PDA перед **первым выводом через bridge** (входящий перевод бесшовный — ничего не требует)                                                                                                                                                                                                                    |
| `rome verify <chain> [--path …]`                                           | этот **works-gate с учетом пути**, по одному для каждого способа входа: `Solidity` — тот же контракт отвечает на EVM-канале *и* канал Solana · `solana-program` — вызов на EVM-канале запускает вашу программу Solana через CPI · `из домашней цепочки` — вход через bridge → действие на Rome → выход через bridge, круговой путь подтверждён |

## Подключите к ИИ-агенту (MCP)

Вам не нужно ничего запускать или размещать — ваш MCP-клиент запускает `rome mcp` (сервер stdio) по запросу. Зарегистрируйте его один раз:

```json
{ "mcpServers": { "rome": { "command": "npx", "args": ["-y", "github:rome-protocol/rome-cli#v0.11.0", "mcp"] } } }
```

(При установке через клонирование + привязку `{ "command": "rome", "args": ["mcp"] }` тоже работает — просто вариант с npx не требует предварительной установки.)

Затем агент вызывает такие инструменты, как `facts_chain`, `cookbook_cpi_recipe`, `doctor`, `tx`, и `preset` — основанные на живом реестре + RPC, поэтому он перестаёт угадывать адреса и селекторы. Интерфейс MCP **только для чтения и не хранит ключей** — безопасно подключать к любому агенту; он никогда не сможет подписать транзакцию или переместить средства. Подписывающие действия остаются в CLI, а ключ передаётся через окружение.

## Цикл опоры агента

1. `rome cookbook patterns <what I'm building>` → какой пример репозитория + архитектура
2. `rome facts chain <chain>` → RPC, program id, токен газа (без жёсткого кодирования)
3. …писать код, опираясь на эти точные значения…
4. `rome verify <chain> --path <your way in>` → доказать, что это работает, независимо от того, каким путём вы вошли

## Узнать больше

* Репозиторий + полные руководства: [`rome-protocol/rome-cli`](https://github.com/rome-protocol/rome-cli)
* [Экосистема и репозитории](/ru/nachalo-raboty/ecosystem.md) · [Создание приложения с двумя каналами](/ru/rukovodstva-dlya-razrabotchikov/dual-lane-app.md) · [Из домашней сети: доступ к Rome из другой цепочки](/ru/rukovodstva-dlya-razrabotchikov/from-home.md)


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation by asking a question.

Perform an HTTP GET request on the following URL with the `ask` and `goal` query parameters:

```
GET https://docs.rome.builders/ru/produkty/rome-cli.md?ask=<question>&goal=<user_goal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is what the user is ultimately trying to achieve, the reason they need the answer. Sharing it helps GitBook give you a better, more relevant answer. A goal is most helpful when it describes the outcome the user wants rather than restating the question. For example, with `ask=how do I create an API token`, a goal like `automate deployments from our CI pipeline` lets GitBook tailor the answer to that use case.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
