nockchain-mcp
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-sdkDer MCP-Server läuft direkt über npm:
npx nockchain-mcpNode 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 |
| aktuelle Höhe, mit einer Frischemessung pro Endpoint |
| was eine Adresse jetzt gerade ausgeben kann |
| ob diese Adresse bezahlt wurde, inklusive Bestätigungen |
| Blockinhalte anhand von Höhe oder Block-ID |
| Transaktionsinhalte oder warum der Knoten sie nicht dekodieren konnte |
| Cache- und Aktualisierungszustand des gewählten Endpoints sowie seine Peer-Tabelle |
| 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 |
| 133598 | 157 s |
| 133598 | 214 s |
| 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 |
Der Client und die von ihm abhängige First-Name-Ableitung für Notizen | |
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.5Beides liest aus dem öffentlichen Netzwerk.
Entwicklung
npm install
npm run build
npm testNach 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
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