nockchain-mcp
nockchain-agent
Типизированный TypeScript-клиент и MCP-сервер для чтения Nockchain из агента.
Создано Prism. Не аффилировано с Nockchain, Nock Community Co, Zorp или National Compute, не одобрено ими и не управляется ими.
Установка
npm install nockchain-agent-sdkMCP-сервер запускается прямо из npm:
npx nockchain-mcpNode 20 или новее.
Related MCP server: XRPL MCP Server
Прочитать баланс
import { NockchainClient } from "nockchain-agent-sdk";
const client = new NockchainClient();
const balance = await client.getBalance("2s3K...");
console.log(`${balance.nock} NOCK (${balance.nicks} nicks) across ${balance.notes.length} notes`);Проверить платёж
Выдайте один адрес на каждый счёт, а затем запросите, был ли он оплачен:
import { NockchainClient } from "nockchain-agent-sdk";
const client = new NockchainClient();
const result = await client.verifyPayment({
address: invoiceAddress,
minNock: "1.5",
sinceHeight: 133400,
confirmations: 3,
});
if (result.paid) {
console.log(`${result.confirmedNock} NOCK settled at height ${result.tipHeight}`);
}Использование через MCP-клиент
{
"mcpServers": {
"nockchain": {
"command": "npx",
"args": ["-y", "nockchain-mcp"]
}
}
}Семь инструментов, все только для чтения:
инструмент | что возвращает |
| текущую высоту, с оценкой свежести по каждому эндпоинту |
| что адрес может потратить прямо сейчас |
| был ли этот адрес оплачен, с количеством подтверждений |
| содержимое блока по высоте или идентификатору блока |
| содержимое транзакции или почему узел не смог её декодировать |
| состояние кэша и обновления выбранного эндпоинта, и его таблицу пиров |
| полную таблицу здоровья эндпоинтов |
Зачем это нужно
Два аспекта чтения Nockchain сегодня отнимают больше времени, чем должны.
Балансы возвращаются нулевыми. Публичный вызов WalletGetBalance принимает селектор адреса, и для заметок в текущем формате v1 этот селектор не возвращает ничего. Баланс находится под полем first-name заметки, к которому можно добраться, хэшируя pay-to-pubkey-hash, стоящий за адресом. Важны два варианта деривации, потому что coinbase-заметки блокируются иначе, чем обычные, а реальный баланс — это объединение обоих. getBalance выполняет эту работу и возвращает сумму, которую адрес действительно может потратить.
Публичные узлы незаметно устаревают. Три эндпоинта, измеренные в течение одной минуты 2026-08-25:
эндпоинт | высота | возраст состояния цепочки |
| 133598 | 157 s |
| 133598 | 214 s |
| 133226 | 50625 s, около 14 часов |
Ответ не содержит никаких сведений о том, какой из узлов ответил. Клиент опрашивает каждый эндпоинт из своего пула и отказывается читать через тот, который не проходит порог свежести, выбрасывая типизированную ошибку, называющую измеренные возраста. client.health() возвращает полную таблицу.
Ограничения
Только чтение. Для Nockchain не существует библиотеки подписи, поэтому отправка NOCK требует официального CLI nockchain-wallet. SDK сможет отправить транзакцию, которую CLI уже подготовил. Он не будет создавать или подписывать её.
Баланс — это текущее множество непотраченных заметок. Он показывает, что адрес может потратить на текущей вершине. Потраченная заметка покидает множество, поэтому итог не является записью о том, что адрес получал за всё время существования. Кроме того, ни одна отправка кошелька не содержит в сети memo или метку, поэтому корреляция платежей работает за счёт выдачи одного адреса на один счёт.
Вышестоящий GetTransactionDetails падает на транзакциях, созданных после обновления Logos. Узел отвечает ошибкой декодера вместо самой транзакции. getTransactionDetails перехватывает этот случай и возвращает { ok: false, reason: "upstream_decoder_bug", txId, fallback }, где fallback содержит факты включения, которые GetTransactionBlock и GetBlockDetails всё ещё могут установить, например, высоту блока и его метку времени.
Публичный API — это альфа без аутентификации. Никакого ключа получать не нужно, и никакого ограничения скорости, которое нужно было бы учитывать, нет. Эндпоинты переносятся and отстают без предупреждения.
Пакеты
пакет | содержимое |
клиент и деривация first-name заметок, от которой он зависит | |
stdio MCP-сервер, построенный на его основе |
Примеры
Примеры используют workspace-сборку, поэтому сначала соберите её один раз.
npm install
npm run build
node examples/balance.mjs 2s3K...
node examples/verify-payment.mjs 2s3K... 1.5Оба читают публичную сеть.
Разработка
npm install
npm run build
npm testТесты работают офлайн, на фикстурах, включая эталонные векторы, созданные из вышеперечисленных Rust-крейтов. В наборе тестов не открывается ни одного сокета.
Лицензия
This server cannot be deployed
Maintenance
Related MCP Connectors
Read-only NodeRooms Agent discovery, safety policy, public indexes, and arrival contract.
Provide AI agents and automation tools with contextual access to blockchain data including balance…
Read-only gateway for durable agent identity, consent, recognized work, and signed receipts.
Paid, source-backed wallet and API checks. Prepaid tools; free discovery. Never signs transactions.
Related MCP Servers
- AlicenseNot gradedqualityCmaintenanceProvides real Bitcoin full node data via 17 tools, with pay-per-call in USDC on Base mainnet. Free tools include blockchain info, fees, and mempool; paid tools enable transaction tracking, address analysis, and more.MIT
- FlicenseAqualityDmaintenanceProvides read-only access to the XRP Ledger for querying accounts, transactions, NFTs, DEX order books, and more.12-

Tegro Wallet MCPofficial
AlicenseAqualityDmaintenanceProvides read-only, real-time access to TON blockchain data including wallet balances, token holdings, transactions, prices, NFTs, DNS resolution, and address validation, without requiring private keys.817 npmMIT- AlicenseNot gradedqualityCmaintenanceProvides live, read-only access to Robinhood Chain and Lox Corp data, enabling AI agents to query chain stats, token launches, agent details, and more.6 npmMIT