nockchain-mcp
nockchain-agent
Nockchain をエージェントから読み取るための、型付き TypeScript クライアントと MCP サーバーです。
Prism によって作られました。Nockchain、Nock Community Co、Zorp、National Compute とは提携、承認、運営のいずれもありません。
インストール
npm install nockchain-agent-sdkMCP サーバーは npm から直接実行できます。
npx nockchain-mcpNode 20 以上が必要です。
残高を読み取る
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`);支払いを検証する
請求書ごとに 1 つのアドレスを発行し、そのアドレスに支払いが行われたかを確認します。
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"]
}
}
}7 つのツールがあり、すべて読み取り専用です:
ツール | 回答内容 |
| 現在の高さ(エンドポイントごとの鮮度の読み取り値を含む) |
| そのアドレスが今すぐ使える残高 |
| このアドレスが支払い済みかどうか(確認数を含む) |
| 高さまたはブロック ID によるブロック内容 |
| トランザクション内容、またはノードがそれをデコードできなかった理由 |
| 選択中のエンドポイントのキャッシュとリフレッシュ状態、およびピアテーブル |
| 完全なエンドポイント健全性テーブル |
なぜこれが存在するのか
現在、Nockchain の読み取りには、2 つのことが必要以上に時間がかかっています。
残高がゼロで返ってきます。 公開の WalletGetBalance 呼び出しはアドレスセレクタを受け付けますが、現在の v1 形式のノートに対しては、そのセレクタは何も返しません。残高はノートの first-name にあり、その first-name はアドレスの背後にある pay-to-pubkey-hash をハッシュすることで到達できます。コインベースのノートは通常のノートとはロック方法が異なるため、2 つの導出が重要です。実際の残高は、その両方の和集合です。getBalance はその作業を行い、アドレスが実際に使用できる金額を返します。
公開ノードは静かに古くなります。 2026-08-25 の同じ 1 分間に測定した 3 つのエンドポイント:
エンドポイント | 高さ | チェーン状態の経過時間 |
| 133598 | 157 s |
| 133598 | 214 s |
| 133226 | 50625 s(約 14 時間) |
応答には、そのうちどれが答えたのかの手がかりは一切含まれません。クライアントはプール内のすべてのエンドポイントを調べ、鮮度しきい値を満たさないエンドポイントからの読み取りを拒否し、測定した古さを列挙する型付きエラーをスローします。client.health() はテーブル全体を返します。
制限事項
読み取り専用。 Nockchain の署名ライブラリは存在しないため、NOCK を送信するには公式の nockchain-wallet CLI が必要です。SDK は CLI がすでに生成したトランザクションを送信します。トランザクションの構築や署名は行いません。
残高はライブの未使用ノート集合です。 現在の最新ブロックでアドレスが使える金額を答えます。使用済みノートは集合から外れるため、その合計はアドレスがその期間中に受け取った金額の記録ではありません。ウォレットが送信するものは、回線上でメモやタグを持つこともありません。そのため、支払いの照合は請求書ごとに 1 つのアドレスを発行することで機能します。
上流の GetTransactionDetails は、Logos アップグレード後に生成されたトランザクションでは失敗します。 ノードはトランザクションの代わりにデコーダエラーを返します。getTransactionDetails はそのケースを捕捉し、{ ok: false, reason: "upstream_decoder_bug", txId, fallback } と返します。fallback には、GetTransactionBlock と GetBlockDetails がまだ確認できる内含まれる事実(ブロックの高さとタイムスタンプなど)が入ります。
公開 API はアルファ版で認証もありません。 取得すべきキーもなく、見越して計画すべきレート制限もありません。エンドポイントは予告なく移動し、遅延します。
パッケージ
パッケージ | 内容 |
クライアントと、それが依存するノートの first-name の導出 | |
その上に構築された stdio MCP サーバー |
使用例
この例はワークスペースのビルドをインポートするため、最初に一度ビルドしてください。
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 installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Connectors
Provide AI agents and automation tools with contextual access to blockchain data including balance…
Read-only on-chain intel for AI agents on Base: balances, tokens, gas, tx status. No API keys.
Read-only on-chain intelligence for AI agents on Base: balances, tokens, gas, tx status.
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/winter0x/nockchain-agent'
If you have feedback or need assistance with the MCP directory API, please join our Discord server