TONNode проти офіційного @ton/mcp: чесне порівняння
TON MCP порівняння: чим @ton/mcp відрізняється від TONNode. Кастодіальний агент-гаманець проти некастодіального MCP з кросчейном. Таблиця і вибір.
@ton/mcp проти TONNode: чесне порівняння — і перше питання, хто тримає ключі?
Це порівняння двох MCP для TON починається не зі списку фіч, а з одного питання безпеки. Уявіть: ви дали Claude або Cursor доступ до TON. Агент читає баланси, збирає свопи, смикає get-методи. Усе працює — до моменту, коли треба підписати транзакцію. І от о третій ночі агент через кривий промпт (або через підкинуту з вебу інструкцію) вирішує «оптимізувати портфель» і підписує транзакцію сам. Кошти пішли. Ви дізнаєтеся про це вранці.
Це не страшилка, а прямий наслідок одного архітектурного вибору: агент підписує сам своїм ключем чи підпис завжди лишається за гаманцем користувача? Саме в цій точці розходяться два зрілі MCP для TON — офіційний @ton/mcp від TON Foundation і TONNode. Обидва дають агентові руки в блокчейні. Розберімо чесно, без приниження жодного з них — для різних задач обидва підходи мають право на життя.
Навіщо порівнювати: два різні підходи до MCP для TON
MCP (Model Context Protocol) — це стандарт, за яким ШІ-агенти (Claude, Cursor, ChatGPT/Codex, будь-який MCP-клієнт) викликають інструменти. Для TON це означає: агент отримує набір функцій на кшталт get_balance чи build_swap_tx і викликає їх сам у процесі діалогу, коли вважає за потрібне.
Різниця між @ton/mcp і TONNode не в списку команд, а у філософії. Аналогія: @ton/mcp — це як видати помічникові корпоративну картку з лімітом: він платить сам, швидко, автономно, але картка в його руках. TONNode — це помічник, який готує платіжку і кладе вам на підпис: без вашого гаманця нічого нікуди не піде. Обидві моделі робочі. Питання — під яку задачу.
Якщо вам ближча теорія питання — є окремий розбір кастодіального проти некастодіального MCP. Тут порівняємо конкретику.
Офіційний @ton/mcp: кастодіальний агент-гаманець з NFT і DNS
@ton/mcp — офіційний пакет TON Foundation, і це його сильна сторона: підтримка від команди мережі, передбачуваний розвиток, статус еталона.
За архітектурою це кастодіальний агент-гаманець зі split-key моделлю:
- operator-ключ — в агента. Ним агент підписує транзакції сам, без вашої участі.
- owner-ключ — у користувача, як другий контур контролю над гаманцем.
Що вміє з коробки:
- читання стану мережі, акаунтів, балансів;
- відправлення GRAM, жетонів і NFT (агент підписує сам);
- своп через DEX-агрегатор;
- створення та імпорт агент-гаманців;
- читання NFT і DNS — те, чого в TONNode поки немає, і це чесна перевага офіційного пакета.
Запускається локально, через HTTP або serverless. Обмеження за дизайном: лише TON, кросчейну немає.
Головне тут — автономність. Агент витрачає сам, без людини в циклі підпису. Для сценаріїв «нехай агент сам платить за підписку/газ/мікрозадачі» це саме те, що треба. Але та сама автономність означає: робочий ключ, який дає контроль над коштами, перебуває на боці агента — а отже, промпт-ін’єкція чи галюцинація моделі здатні призвести до реальної витрати.
TONNode: некастодіальний MCP, кросчейн і hosted-опція
TONNode — це hosted MCP-сервер для TON (сайт tonnode.io) з рівно 16 інструментами. Ключовий інваріант одним реченням:
Сервер ніколи не підписує і не зберігає кошти та приватні ключі. Інструменти свопу, кросчейну і гаманця повертають непідписані TonConnect-повідомлення. Підписує їх гаманець користувача.
Немає моменту, в який сервер міг би вивести кошти, бо в нього фізично немає ключа. Розберімо за групами.
Читання (7+1)
Закриває повсякденне:
get_masterchain_info — голова мастерчейну
get_balance — баланс GRAM
get_account_state — статус, прапорці, остання транзакція
get_transactions — історія транзакцій
run_get_method — будь-який read-only get-метод контракту
get_jetton_balance — баланс жетона/USDT (гаманець жетона обчислюється он-чейн)
get_jetton_info — метадані жетона: назва, символ, decimals, емісія
parse_address — конвертація EQ/UQ/raw, офлайн
get_jetton_info віддає decimals — вони потрібні для перерахунку raw-одиниць: в USDT їх 6, у більшості жетонів 9.
Своп (2)
Іде через протокол Omniston — агреговану ліквідність STON.fi і DeDust:
get_swap_quote— тверде котирування GRAM⇄жетон;build_swap_tx— непідписана транзакція, готова під TonConnect.
Кросчейн (5)
Те, чого в офіційного пакета немає взагалі. Атомарний HTLC-ескроу, де TON завжди джерело:
get_crosschain_quote— котирування;build_crosschain_swap_tx— непідписана HTLC-ескроу транзакція + секрет;track_crosschain_swap— фази угоди в обох мережах;disclose_crosschain_secret— розкрити секрет для розрахунку, після перевірки готовності он-чейн;build_crosschain_refund— повернути кошти з ескроу, якщо угода зависла.
Підтримувані мережі: Ethereum, Arbitrum, Base, BNB Chain, Polygon, Avalanche. TRON поки не підтримується. Як влаштована така угода, показано в матеріалі про перший кросчейн для агента на TON.
Гаманець (1): generate_wallet створює гаманець версій v3r2/v4/v5r1/highload_v3 і віддає мнемоніку, ключі та адресу користувачеві — сервер їх не зберігає.
Чого в TONNode поки немає: інструментів NFT і DNS — вони в роадмапі. Якщо задача сьогодні — читати NFT-колекції чи резолвити .ton-домени, це зона офіційного пакета. Зверніть увагу: прямого інструмента «відправити/переказати» GRAM чи жетон у TONNode теж немає. Усі білдери непідписаних транзакцій — це build_swap_tx, build_crosschain_swap_tx і build_crosschain_refund, тобто переказ коштів можливий лише в межах свопу, кросчейну або повернення з ескроу. Довільного «send» тут немає за дизайном.
Таблиця порівняння: @ton/mcp проти TONNode
| Критерій | Офіційний @ton/mcp | TONNode |
|---|---|---|
| Хто підписує | Агент сам (operator-ключ, split-key) | Гаманець користувача (сервер не підписує) |
| Модель | Кастодіальна | Строго некастодіальна |
| Автономна витрата | Так | Ні (за дизайном) |
| Пряме відправлення GRAM/жетонів | Так, автономно | Окремого інструмента немає; переказ — лише всередині свопу/кросчейну як непідписана tx |
| Своп | DEX-агрегатор | Omniston (STON.fi + DeDust) |
| Кросчейн | Ні (лише TON) | Так, HTLC-ескроу на 6 мереж |
| NFT / DNS | Є (читання) | У роадмапі |
| Генерація гаманця | Створення/імпорт агент-гаманців | v3r2/v4/v5r1/highload_v3, ключі у користувача |
| Запуск | Локально / HTTP / serverless | Локально (npx) + hosted-ендпоінт |
| Статус | Офіційний, TON Foundation | Незалежний, open source (MIT) |
Ключова розвилка: хто тримає ключі агента
Усе інше — деталі. Справжній вибір в одному питанні: чи готові ви до того, щоб агент підписував транзакції сам?
У @ton/mcp operator-ключ в агента — отже, агент може витратити кошти за промптом, без другого фактора у вигляді підпису людиною. Це потужно для автономії і ризиковано при промпт-ін’єкції чи галюцинації: скомпрометований контекст = потенційно витрачені кошти.
У TONNode підпис фізично не може відбутися на сервері. Навіть якщо агент «з’їде з глузду» і викличе build_swap_tx з абсурдними параметрами, максимум, що він отримає, — непідписаний об’єкт транзакції. Поки користувацький гаманець її не підтвердить, нічого нікуди не рушить. Це архітектурна гарантія, а не політика.
Жоден підхід не «кращий» узагалі — вони про різний рівень довіри до автономності агента.
Коли обирати офіційний @ton/mcp, а коли TONNode
Беріть @ton/mcp, якщо:
- потрібна автономна витрата — агент сам платить і підписує, без людини в циклі;
- працюєте суто в межах TON, кросчейн не потрібен;
- потрібні NFT і DNS уже сьогодні;
- важливий офіційний статус пакета Foundation.
Беріть TONNode, якщо:
- грошима має розпоряджатися лише гаманець користувача, а не агент — патерн розібрано в матеріалі про некастодіальний своп для агентів на TON;
- потрібен кросчейн TON⇄EVM (Ethereum, Arbitrum, Base, BNB Chain, Polygon, Avalanche);
- потрібен своп через агреговану ліквідність Omniston;
- потрібен hosted-ендпоінт з гарантованою пропускною здатністю, а не лише локальний запуск.
Це не «краще/гірше», а різні інструменти. Підходи не взаємовиключні: багато команд тримають обидва сервери у конфігу — офіційний для NFT/DNS і автономних задач, TONNode для некастодіального свопу і кросчейну.
Як підключити кожен із них
Загальний вступ до MCP для TON, якщо ви тут уперше, — гайд з MCP для TON.
TONNode локально — безкоштовно, повний набір читання
Пакет @tonnode/mcp — open source (MIT, на npm і GitHub tonnode/mcp), працює через нативний ADNL-протокол TON без HTTP-прошарків:
{
"mcpServers": {
"ton": {
"command": "npx",
"args": ["-y", "@tonnode/mcp"]
}
}
}
TONNode hosted — свій ключ, гарантована пропускна здатність
{
"mcpServers": {
"ton": {
"type": "http",
"url": "https://mcp.tonnode.io/mcp",
"headers": { "Authorization": "Bearer tn_live_…" }
}
}
}
Після підключення агентові можна давати звичайні текстові задачі — він сам добере інструмент:
Перевір мій баланс USDT на гаманці EQ… через get_jetton_balance.
Потім візьми get_swap_quote на обмін 50 USDT у GRAM
і збери транзакцію через build_swap_tx.
Транзакцію не відправляй — поверни мені для підпису в гаманці.
Агент викличе get_jetton_balance → get_swap_quote → build_swap_tx і віддасть непідписане TonConnect-повідомлення. Гроші рушать лише після підтвердження в гаманці.
Кросчейн-задача виглядає так само природно:
Збери обмін 100 GRAM з TON в USDC на Base.
Дай get_crosschain_quote, потім build_crosschain_swap_tx.
Секрет збережи, статус відстежуй через track_crosschain_swap.
На всіх тарифах доступні всі 16 інструментів — платите лише за пропускну здатність: Hobby — безкоштовно назавжди, 60 запитів/хв; Pro — $29/міс, 300 запитів/хв; Scale — $199/міс, 1200 запитів/хв. Ключ Hobby видається одразу після входу, без картки.
Офіційний @ton/mcp
@ton/mcp ставиться за інструкцією TON Foundation і запускається локально, через HTTP або serverless. Під час первинного налаштування агентові створюється або імпортується агент-гаманець з operator-ключем. Враховуйте кастодіальну модель: заздалегідь продумайте ліміти й те, до яких коштів агент отримає доступ.
Підсумок
@ton/mcp — офіційний кастодіальний агент-гаманець: split-key, автономна витрата, NFT і DNS, лише TON. TONNode — некастодіальний сервер із 16 інструментів: сервер ніколи не підписує, додає кросчейн на 6 мереж і hosted-опцію. Різниця чесна й архітектурна — про те, кому ви довіряєте право підпису. Хто підписує — той і визначає ризик-профіль.
Детальне порівняння за кожним інструментом — на сторінці TONNode проти офіційного MCP. Спробувати некастодіальний підхід просто зараз, на безкоштовному ключі Hobby без картки, можна тут: tonnode.io/dashboard?plan=hobby.
Дайте вашому агенту доступ до TON
16 MCP-інструментів: читання, некастодіальні свопи, кросчейн і гаманці. Безкоштовний тариф — 60 зап/хв, картка не потрібна.