> 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/vi/san-pham/rome-cli.md).

# Rome CLI + MCP

CLI dành cho nhà phát triển Rome và máy chủ MCP — các факт chuỗi được xác thực, mẫu xây dựng phù hợp, và các hành động đặc thù của Rome (nạp vốn, triển khai, xác minh) cho con người hoặc tác nhân AI.

`rome` đồng hành cùng người xây dựng — con người hoặc tác tử AI — xuyên suốt toàn bộ vòng đời xây dựng trên Rome: sự thật chuỗi được neo nền, mẫu đúng, các lời gọi hợp đồng, cổng nạp vốn, deploy/send, chẩn đoán xuyên VM, và một cổng kiểm tra hoạt động cho cả hai luồng. Một lõi năng lực, hai bề mặt đồng bộ — một CLI (`rome <lệnh>`) và một [MCP](https://modelcontextprotocol.io) máy chủ (`rome mcp`) — để tác tử và con người cùng chia sẻ một mô hình tư duy.

## Cài đặt

Ưu tiên repo (đang chờ publish npm):

```bash
# một lần, không cần cài đặt:
npx github:rome-protocol/rome-cli#v0.11.0 facts chain hadrian

# cài đặt bền vững — clone + liên kết:
git clone --branch v0.11.0 https://github.com/rome-protocol/rome-cli
cd rome-cli && npm install && npm install -g .
```

Một lệnh `npm install -g github:rome-protocol/rome-cli` không **không phải** hoạt động hôm nay — npm chuẩn bị các phụ thuộc git của gói mà không có node\_modules riêng của chúng ([rome-cli#25](https://github.com/rome-protocol/rome-cli/issues/25)). Hãy dùng npx một lần hoặc clone + liên kết, và ghim một thẻ như trên: npx giữ bản sao nó đã lấy trước tiên, vì vậy một lệnh npx không ghim `npx github:rome-protocol/rome-cli` có thể tiếp tục chạy một phiên bản cũ, trong khi một thẻ đã ghim luôn lấy đúng phiên bản đó.

## Hai lớp trên một lõi

**Lệnh đọc — nền tảng hóa + chẩn đoán.** Không có khóa; trên cả CLI và máy chủ MCP.

| Lệnh                                                     | Nó trả về                                                                                                                              |
| -------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------- |
| `rome facts chain·tokens·contracts·gas·balance·programs` | sự thật chuỗi trực tiếp từ registry + RPC — không bịa ra id, địa chỉ hay selector                                                      |
| `rome cookbook patterns·cpi-recipe·errors`               | ví dụ nào phù hợp với mục tiêu của bạn · quy tắc account CPI mà các tác tử hay làm sai · giải mã một lỗi Rome → nguyên nhân + cách sửa |
| `rome call <chain> <addr> <sig> [args]`                  | đọc một hợp đồng (`eth_call`) — các đối số nhiều giá trị được phân tách bằng dấu phẩy trong một đối số: `"0xOwner…,0xSpender…"`        |
| `rome doctor <chain>`                                    | kiểm tra trước — chuỗi còn hoạt động? RPC truy cập được? chương trình đã được cấu hình? ví đã nạp tiền?                                |
| `rome tx <chain> <hash>`                                 | chẩn đoán một giao dịch — biên lai EVM + (các) giao dịch thanh toán Solana + một liên kết Via (Rome không có `debug_traceTransaction`) |
| `rome preset foundry\|hardhat <chain>`                   | một cấu hình mạng Rome sẵn sàng cho bộ công cụ của bạn + các đặc thù                                                                   |

**Hành động — ký trên chuỗi.** Chỉ trên CLI, khóa lấy từ môi trường, **không bao giờ** trên MCP.

| Lệnh                                                                       | Nó làm gì                                                                                                                                                                                                                                                                                                                            |
| -------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| `rome deploy <chain> <artifact>`                                           | triển khai một hợp đồng đã biên dịch, xử lý các đặc thù gas của Rome                                                                                                                                                                                                                                                                 |
| `rome send <chain> <addr> <sig>`                                           | ghi vào một hợp đồng qua đúng đường ghi của Rome                                                                                                                                                                                                                                                                                     |
| `rome fund <chain> --from <src> --amount <usdc>`                           | cầu nối USDC → gas của Rome (CCTP) — cổng nạp vốn "từ home"                                                                                                                                                                                                                                                                          |
| `rome bridge <chain> --from <src> --amount <usdc> [--intent gas\|wrapper]` | cầu nối USDC **trên** dưới dạng gas hoặc wUSDC                                                                                                                                                                                                                                                                                       |
| `rome bridge <chain> --to <dest> --amount <usdc>`                          | cầu nối wUSDC **ra ngoài** — đốt trên Rome; bạn nhận trên đích đến (Rome tài trợ luồng vào, không tài trợ yêu cầu nhận luồng ra)                                                                                                                                                                                                     |
| `rome activate <chain>`                                                    | cần nạp PDA một lần trước **lần đầu cầu nối ra** (luồng vào không ma sát — không cần gì cả)                                                                                                                                                                                                                                          |
| `rome verify <chain> [--path …]`                                           | cổng **kiểm tra hoạt động có nhận biết đường đi**, mỗi cách vào một cái: `solidity` — cùng hợp đồng đó trả lời trên làn EVM *và* làn Solana · `solana-program` — một lời gọi ở làn EVM điều khiển chương trình Solana của bạn qua CPI · `từ nhà` — cầu nối vào → thao tác trên Rome → cầu nối ra, chứng minh được hành trình khứ hồi |

## Kết nối nó vào một tác tử AI (MCP)

Bạn không phải chạy hay lưu trữ gì — MCP client của bạn sẽ khởi chạy `rome mcp` (một máy chủ stdio) theo yêu cầu. Đăng ký nó một lần:

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

(Với cách cài đặt clone + liên kết, `{ "command": "rome", "args": ["mcp"] }` cũng hoạt động — chỉ là dạng npx không cần cài đặt trước.)

Sau đó tác tử gọi các công cụ như `facts_chain`, `cookbook_cpi_recipe`, `doctor`, `tx`, và `preset` — dựa trên registry + RPC trực tiếp, nên nó ngừng đoán địa chỉ và selector. Bề mặt MCP là **chỉ đọc và không giữ khóa** — an toàn để kết nối vào bất kỳ tác tử nào; nó không bao giờ có thể ký hay di chuyển tiền. Các hành động ký vẫn nằm trên CLI, với khóa được cung cấp qua môi trường.

## Vòng lặp neo nền cho tác tử

1. `rome cookbook patterns <what I'm building>` → repo ví dụ và kiến trúc nào
2. `rome facts chain <chain>` → RPC, program id, gas token (không mã hóa cứng)
3. …viết code dựa trên chính những giá trị đó…
4. `rome verify <chain> --path <your way in>` → chứng minh nó hoạt động, bất kể bạn đi theo cách nào

## Tìm hiểu thêm

* Repo + hướng dẫn đầy đủ: [`rome-protocol/rome-cli`](https://github.com/rome-protocol/rome-cli)
* [Hệ sinh thái & các repo](/vi/bat-dau/ecosystem.md) · [Xây dựng một ứng dụng hai làn](/vi/huong-dan-cho-nha-phat-trien/dual-lane-app.md) · [Từ home: đến Rome từ một chuỗi khác](/vi/huong-dan-cho-nha-phat-trien/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/vi/san-pham/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.
