Усі статті
6 хв читання

TONNode проти офіційного @ton/mcp: чесне порівняння

TON MCP порівняння: чим @ton/mcp відрізняється від TONNode. Кастодіальний агент-гаманець проти некастодіального MCP з кросчейном. Таблиця і вибір.

TON MCP@ton/mcpнекастодіальний MCPкросчейн TONШІ-агенти TONпорівняння 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_balanceget_swap_quotebuild_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 зап/хв, картка не потрібна.