Skip to main content
Glama
winter0x

nockchain-mcp

by winter0x

nockchain-agent

Ein typisierter TypeScript-Client und ein MCP-Server zum Lesen von Nockchain aus einem Agenten.

Erstellt von Prism. Nicht verbunden mit Nockchain, Nock Community Co, Zorp oder National Compute, nicht von ihnen unterstützt oder betrieben.

Installation

npm install nockchain-agent-sdk

Der MCP-Server läuft direkt über npm:

npx nockchain-mcp

Node 20 oder neuer.

Ein Guthaben lesen

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`);

Eine Zahlung verifizieren

Vergib eine Adresse pro Rechnung und frage dann ab, ob sie bezahlt wurde:

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}`);
}

Aus einem MCP-Client verwenden

{
  "mcpServers": {
    "nockchain": {
      "command": "npx",
      "args": ["-y", "nockchain-mcp"]
    }
  }
}

Sieben Werkzeuge, alle schreibgeschützt:

Tool

was es beantwortet

nock_tip

aktuelle Höhe, mit einer Frischemessung pro Endpoint

nock_balance

was eine Adresse jetzt gerade ausgeben kann

nock_verify_payment

ob diese Adresse bezahlt wurde, inklusive Bestätigungen

nock_block

Blockinhalte anhand von Höhe oder Block-ID

nock_transaction

Transaktionsinhalte oder warum der Knoten sie nicht dekodieren konnte

nock_metrics

Cache- und Aktualisierungszustand des gewählten Endpoints sowie seine Peer-Tabelle

nock_endpoints

die vollständige Endpoint-Gesundheitstabelle

Warum es das gibt

Zwei Dinge beim Lesen von Nockchain heute kosten mehr Zeit, als sie sollten.

Die Kontostände kommen nullstellig zurück. Der öffentliche WalletGetBalance-Aufruf akzeptiert einen Adressselektor, doch für Notes im aktuellen v1-Format liefert dieser Selektor gar nichts zurück. Das Guthaben versteckt den Text unter dem first-name der Note, die man erreicht, indem man den pay-to-pubkey-hash hinter der Adresse hasht. Zwei Ableitungen sind wichtig, weil sich Coinbase-Notlizen anders sperren als gewöhnliche, und die tatsächliche Summe ist die Vereinigungskette beider. getBalance erledigt diese Arbeit.

** und liefert den Betrag, den die Adresse tatsächlich ausgeben kann.

Public nodes go stale. Drei Endpoints, gemessen in derselben Minute am 2026-08-25:

endpoint

Höhe

Alter des Kettenzustands

api.nockscan.net:443

133598

157 s

23.252.122.18:443

133598

214 s

rpc.nockbox.org:443

133226

50625 s, fast 14 Stunden

Eine Antwort enthält keinesfalls ein Zeichen dafür, welcher Beteiligter geantwortet hat. Der Client prüft jeden Endpunkt im Pool und weigert sich, von einem zu lesen, der die Akthaltsschwelle nicht erfüllt, wobei er eine typisierte Ausnahme wirft, die die von ihm gemessenen Alter nennt. client.health() liefert die ganze Tabelle.

Einschränkungen

Nur lesend. Es gibt keine Signaturbibliothek für Nockchain, daher erfordert das Senden von NOCK die offizielle nockchain-wallet-CLI. Das SDK übermittelt eine Transaktion, die die CLI bereits erzeugt hat. Es wird keine erstellen oder signieren.

Ein Guthaben ist der aktive Satz noch nicht ausgegebener Notes. Er beantwortet die Frage, was eine Adresse am aktuellen Kettenkopf ausgeben kann. Eine ausgegebene Note verlässt die Menge, daher ist die Summe kein Nachweis dafür, was eine Adresse im Laufe ihrer Lebensdauer empfangen hat. Nichts, was die Wallet sendet, trägt zudem eine Memo oder einen Tag mit sich auf dem Draht, weshalb die Zahlungszuordnung über die Ausgabe einer Adresse pro Rechnung funktioniert.

Upstream GetTransactionDetails scheitert bei Transaktionen aus der Zeit nach dem Logos-Upgrade. Der Knoten antwortet mit einem Decoder-Fehler, nicht mit der eigenen Transaktion. getTransactionDetails fängt diesen Fall ab und liefert { ok: false, reason: "upstream_decoder_bug", txId, fallback }, wobei die fallback die Aufnahmefakten enthält, die GetTransactionBlock und GetBlockDetails noch feststellen konnten, wie etwa die Blockhöhe und ihren Zeitstempel.

Die öffentliche API ist ein AlphaStadium und für unauthentifiziert. Es gibt keinen Schlüssel, den man beschaffen kann, und keinen Rate-Limit, mit dem sich rechnen lässt. Endpoints ziehen sich und veralten kurum vorzuwarnen.

Pakete

Paket

Inhalt

nockchain-agent-sdk

Der Client und die von ihm abhängige First-Name-Ableitung für Notizen

nockchain-mcp

Der darauf basierende stdio-MCP-Server

Beispiele

Die Beispiele importieren den Workspace-Build, deshalb solltest du sie einmalig vorabbauen.

npm install
npm run build
node examples/balance.mjs 2s3K...
node examples/verify-payment.mjs 2s3K... 1.5

Beides liest aus dem öffentlichen Netzwerk.

Entwicklung

npm install
npm run build
npm test

Nach Tests laufen offline gegen betreute Fix aus, einschließlich der gewonnenen Vektoren, die aus den Upstream-Rust-Crates erzeugt wurden. Nichts in der Testsuite öffnet einen Socket.

Lizenz

Apache-2.0. Siehe LICENSE und NOTICE.

-
license - not tested
Not graded
quality - not tested
C
maintenance

Maintenance

Maintainers
Response time
Release cycle
Releases (12mo)
Commit activity

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.

View all MCP Connectors

Latest Blog Posts

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