Prototyp · Vorschau: alle Server aus der offiziellen Registry, alle 30 Minuten synchronisiert. Mit Google anmelden, um Bewertungen zu schreiben.
PopNx MCPMCP-Server für alle, die KI nutzen · in einfachen Worten erklärt

vet402-check

von kzmttkcVersion 0.2.0i★ 0iLäuft auf deinem Computer
Name in der Registryio.github.kzmttkc/vet402-check

So installierst du es

Überblick

Beschreibung vom Entwickler (englisches Original)

Before your agent pays an x402 API, check if vet402 bought it with its own money and what came back.

Was du damit machen kannst

Für diesen Server haben wir noch keine Zusammenfassung in einfacher Sprache geschrieben. Unten stehen die Fakten, die wir aus der Registry gelesen haben.

  • Verbindung: Läuft auf deinem Computer
  • Transport: stdio
  • Kategorie: Sonstiges

Installation

Wähle die KI-App, die du nutzt, und kopiere die Einstellungen.

2/2 Prüfungen bestanden · Läuft auf deinem Computer

Zuerst: Welche KI nutzt du?

Wähle deine App, dann erscheinen die Schritte unten.

Klappt mit Claude, aber erst etwas vorbereiten

Installiere zuerst Node.js auf deinem Computer (nur einmal) · Nur in der Claude-App für den Computer (Windows oder Mac), nicht im Web oder auf dem Handy

  1. Node.js installieren

    Nur einmal; gilt für alle Server, die Node.js brauchen

    Download-Seite von Node.js öffnen ↗

  2. Einstellungsdatei der Claude-Desktop-App öffnen

    SettingsDeveloperEdit Config

  3. Diese Einstellungen einfügen und speichern

    {
      "mcpServers": {
        "vet402-check": {
          "command": "npx",
          "args": [
            "-y",
            "@vet402/check",
            "--mcp"
          ]
        }
      }
    }
  4. Claude beenden und neu öffnen

  5. Ausprobieren

    Nutze vet402-check und sag mir, was du für mich tun kannst; zeig mir dann eine Sache

    ✓ Wenn Claude sagt, dass es vet402-check nutzt, oder ein Werkzeug von vet402-check in der Antwort zeigt, bist du verbunden

Menünamen am 11. Nov. 2026 mit der Hilfe von Anthropic abgeglichen · dein Bildschirm kann je nach App-Version leicht abweichen

ChatGPT kann vet402-check noch nicht verbinden

vet402-check läuft auf deinem Computer, aber ChatGPT verbindet nur Server, die im Web laufen

Das kannst du stattdessen tun

A · Eine App nutzen, die vet402-check verbinden kann

  • Installiere zuerst Node.js auf deinem Computer (nur einmal) · Nur in der Claude-App für den Computer (Windows oder Mac), nicht im Web oder auf dem Handy
  • Installiere zuerst Node.js auf deinem Computer (nur einmal)
  • Installiere zuerst Node.js auf deinem Computer (nur einmal)
  • Installiere zuerst Node.js auf deinem Computer (nur einmal)

B · Andere in Sonstiges, die mit ChatGPT funktionieren

Aus den meistgenutzten derselben Kategorie, nur solche, die per Adresse ohne Schlüssel verbinden

Klappt mit Claude Code, aber erst etwas vorbereiten

Installiere zuerst Node.js auf deinem Computer (nur einmal)

  1. Node.js installieren

    Nur einmal; gilt für alle Server, die Node.js brauchen

    Download-Seite von Node.js öffnen ↗

  2. Terminal öffnen

    Mac: Command+Leertaste drücken und Terminal tippen · Windows: PowerShell öffnen

  3. Diesen Befehl einfügen und Enter drücken

    claude mcp add vet402-check -- npx -y @vet402/check --mcp
  4. /mcp in Claude Code eingeben

    vet402-check sollte in der Liste als verbunden erscheinen

  5. Ausprobieren

    Nutze vet402-check und sag mir, was du für mich tun kannst; zeig mir dann eine Sache

    ✓ Wenn Claude Code sagt, dass es vet402-check nutzt, oder ein Werkzeug von vet402-check in der Antwort zeigt, bist du verbunden

Menünamen am 11. Nov. 2026 mit der Hilfe von Anthropic abgeglichen · dein Bildschirm kann je nach App-Version leicht abweichen

Klappt mit Cursor, aber erst etwas vorbereiten

Installiere zuerst Node.js auf deinem Computer (nur einmal)

  1. Node.js installieren

    Nur einmal; gilt für alle Server, die Node.js brauchen

    Download-Seite von Node.js öffnen ↗

  2. Mit diesem Button Cursor öffnen

    In Cursor öffnen

    Cursor fragt nach einer Bestätigung; klicke Install

  3. KI-Chat in Cursor im Agent-Modus öffnen

  4. Ausprobieren

    Nutze vet402-check und sag mir, was du für mich tun kannst; zeig mir dann eine Sache

    ✓ Wenn Cursor sagt, dass es vet402-check nutzt, oder ein Werkzeug von vet402-check in der Antwort zeigt, bist du verbunden

Menünamen am 11. Nov. 2026 mit der Hilfe von Cursor abgeglichen · dein Bildschirm kann je nach App-Version leicht abweichen

Klappt mit VS Code, aber erst etwas vorbereiten

Installiere zuerst Node.js auf deinem Computer (nur einmal)

  1. Node.js installieren

    Nur einmal; gilt für alle Server, die Node.js brauchen

    Download-Seite von Node.js öffnen ↗

  2. Mit diesem Button VS Code öffnen

    In VS Code öffnen

    VS Code fragt nach einer Bestätigung; klicke Install

  3. KI-Chat in VS Code im Agent-Modus öffnen

  4. Ausprobieren

    Nutze vet402-check und sag mir, was du für mich tun kannst; zeig mir dann eine Sache

    ✓ Wenn VS Code sagt, dass es vet402-check nutzt, oder ein Werkzeug von vet402-check in der Antwort zeigt, bist du verbunden

Menünamen am 11. Nov. 2026 mit der Hilfe von VS Code abgeglichen · dein Bildschirm kann je nach App-Version leicht abweichen

Andere Apps mit MCP, etwa Windsurf, Zed oder Gemini CLI, fügen Server unterschiedlich hinzu. Sieh in der App-Liste nach

Alle Apps mit MCP ansehen →

JSON-Einstellungen stehen unten unter „Für Entwickler“

Hängst du fest? Frag Leute, die vet402-check nutzen💬 Diskussion →
Für Entwickler: Terminal-Befehle und JSON-Einstellungen

Auf deinem Computer installiert

Claude Code

claude mcp add vet402-check -- npx -y @vet402/check --mcp

Claude Desktop (claude_desktop_config.json)

{
  "mcpServers": {
    "vet402-check": {
      "command": "npx",
      "args": [
        "-y",
        "@vet402/check",
        "--mcp"
      ]
    }
  }
}

Cursor (~/.cursor/mcp.json)

{
  "mcpServers": {
    "vet402-check": {
      "command": "npx",
      "args": [
        "-y",
        "@vet402/check",
        "--mcp"
      ]
    }
  }
}

VS Code (mcp.json)

{
  "servers": {
    "vet402-check": {
      "type": "stdio",
      "command": "npx",
      "args": [
        "-y",
        "@vet402/check",
        "--mcp"
      ]
    }
  }
}

Diese Einstellungen werden aus dem Registry-Eintrag des Entwicklers erzeugt. Wenn in der README etwas anderes steht, folge der README.

Auf einen Blick

Downloads pro Wochei
71/Wo.
Lizenzi
Keine Lizenz angegeben
Verbindung
Läuft auf deinem Computer
Neueste Versioni
0.2.0
Kategoriei
Sonstiges
In der Registry veröffentlichti
9. Okt. 2026
Code zuletzt geänderti
11. Nov. 2026
Entwickler
kzmttkc
Pakete
npm: @vet402/check
Registry-Status
Aktiv

Welche Apps ihn nutzen können

Basierend darauf, wie sich dieser Server verbindet, und auf der eigenen Doku jeder App, geprüft am 10. Nov. 2026.

Laufen auf deinem Computer in

ClaudeGooseLM StudioMsty StudioCherry StudioCursorVS Code + GitHub CopilotVisual StudioWindsurf (Devin Desktop)ZedKiroClineContinueJetBrains AI AssistantClaude CodeCodex CLIGemini CLIOpenCodenodecodeWarpLibreChatRaycast

Alle Apps, mit Vor- und Nachteilen →

Was er kann

Läuft auf deinem Computer; die Tool-Liste erscheint nach der Installation in deiner KI-App.

Basischecksi

Wir prüfen Informationen, die jeder sehen kann; den Code haben wir nicht gelesen. Checks, die nicht zutreffen, werden nicht mitgezählt. · Geprüft am 11. Nov. 2026

  • ✓ Bestanden

    Entwickler passt zum Repo

    Der Registry-Name wurde mit dem GitHub-Konto kzmttkc bestätigt, dem das Repo gehört

  • ✓ Bestanden

    Wird noch gepflegt

    Code zuletzt geändert: heute

  • … Noch nicht geprüft

    Hat eine Lizenz

    Dieses Repo haben wir noch nicht von GitHub gelesen

  • – Nicht zutreffend

    Endpunkt antwortet

    Dieser Server läuft auf deinem Computer; es gibt keinen Endpunkt im Internet

  • – Nicht zutreffend

    Anmeldung mit OAuth

    Läuft auf deinem Computer und nutzt stattdessen lokale Einstellungen

  • … Noch nicht geprüft

    Keine versteckten Anweisungen in Tool-Beschreibungen

    Läuft auf deinem Computer; Tool-Listen können wir nur von Endpunkten im Internet lesen

Diskussion

Fragen, Tipps teilen oder melden, dass etwas nicht geht. Sortiert nach „hilfreich“.

Noch keine Beiträge. Stell die erste Frage oder teile einen Tipp.

Beiträge hier stammen von Nutzern, nicht vom PopNx-Team.

Mit Google anmelden, um zu posten

Nutzerbewertungen

Noch keine Bewertungen

Mit Google anmelden, um zu bewerten

Im Vergleich mit anderen in Sonstigesi

  • Mehr Sterne als 0 % der anderen 19196 Server in dieser Kategorie
  • Neuer in der Registry veröffentlicht als 58 % der anderen 19196 Server in dieser Kategorie
  • Basischecks gleich gut wie oder besser als bei 100 % der anderen 19196 Server in dieser Kategorie

Verglichen mit allen aktiven Servern dieser Kategorie in der Registry. Sterne zählen nur, wenn dem Herausgeber das Repo gehört.

Häufige Fragen

Ist vet402-check sicher?

Er hat 2 von 2 zutreffenden Basischecks bestanden. Den Code haben wir nicht gelesen. Bevor du einen Schlüssel oder Token hinzufügst, sieh nach, welche Zugriffe der Server verlangt, und nutze einen Schlüssel, der nur die Berechtigungen hat, die du brauchst.

Welche Schlüssel oder Codes braucht er?

Die Registry nennt keinen erforderlichen Schlüssel, manche Server bitten dich aber bei der ersten Nutzung, dich anzumelden.

Läuft er auf meinem Computer oder in der Cloud?

Er läuft auf deinem Computer. Deine KI-App startet ihn bei Bedarf, und die Daten laufen nicht über die Server des Entwicklers (außer der Server ruft selbst einen Onlinedienst auf).

Wird er noch gepflegt?

Das GitHub-Repo wurde zuletzt heute geändert, und die neueste Version (0.2.0) kam vor 33 Tagen in die Registry.

Welche Apps können ihn nutzen?

Apps, die MCP unterstützen, etwa Claude Desktop, Claude Code, Cursor und VS Code. Außerdem brauchst du Node.js auf deinem Computer.

Was kann ich stattdessen nutzen?

In derselben Kategorie: World Monitor, Claude Flow, Tldraw

Alternativen

Server derselben Kategorie von anderen Entwicklern, sortiert nach Sternen.

So liest du eine Karte:↓ Downloads pro Wochei★ GitHub-SterneiDrei Säulen: Bewertungen · Checks · NutzungiAktualisiert = neueste Version in der Registry veröffentlichti

World Monitor

Real-time global intelligence on conflict, markets, energy, trade, shipping and cyber. 102 tools.

von koala73Weit verbreitet★ 90.457Aktualisiert vor 6 Tagen

Läuft in der Cloud✓ worldmonitor.app

Claude Flow

AI orchestration with hive-mind swarms, neural networks, and 87 MCP tools for enterprise dev.

von ruvnetWeit verbreitet↓ 13.513/Wo.★ 81.393Aktualisiert vor 14 Monaten

Läuft auf deinem Computer

Tldraw

Draw and visually collaborate with your agents on tldraw's canvas.

von tldrawWeit verbreitet★ 51.444Aktualisiert vor 8 Monaten

Läuft in der Cloud

README vom Entwickler

README öffnen

Unverändert aus dem Repo des Entwicklers übernommen. PopNx MCP hat den Inhalt weder geprüft noch empfiehlt es ihn. HTML, Bilder und Skripte wurden entfernt. Links führen von dieser Website weg.

@vet402/check (command: vet402-check)

Look an x402 or MPP seller up in vet402's public record before an agent pays it.

This package reads the public record of vet402's own purchases (the vet402-delivery repository). It is separate from @vet402/mcp-server, the MCP tools for vet402's scoring API.

vet402 buys from x402 and MPP sellers with its own money on Solana, Tempo and Base (and Algorand, on its own page), checks each payment on chain, and publishes what came back: a ranking (rank.json) and signed records whose daily Merkle root is written into a Solana memo. vet402-check reads that record. It returns facts: how many purchases vet402 tried from the seller, how many settled, how many came back with an answer, the newest purchase and its tx, the failures counted against the seller and the ones that are not, the grade as rank.json prints it (measuring while there are too few purchases), and the signed records for that seller. When vet402 has never bought from the seller, the answer is "vet402 has no record of this seller". What to do with the facts is up to the caller.

Reads only public files: rank.json and records/ .json on the public site, and data/records/index.json in this repository. Verifying a record also reads public RPC. No key, no wallet, no payment, no write.

Try it in 60 seconds

Node 22 or newer. The first run downloads the package from npm (@vet402/check); later runs start at once.

npx -y @vet402/check https://api.xona-agent.com/token/pumpfun-trending

Verify the newest signed record of that seller as well (signature, Merkle proof, payment on chain, Solana memo anchor):

npx -y @vet402/check https://api.xona-agent.com/token/pumpfun-trending --verify

As an MCP server in Claude Code (run the line above once first, so the install is cached before the client starts the server):

claude mcp add vet402-check -- npx -y @vet402/check --mcp

Without Node: Python and curl

The same lookup over HTTP, free and with no key: GET https://vet402-delivery.vercel.app/v1/check?url= (optional chain and payTo). The answer starts with verdict and why (what the verdict means).

  • Python, standard library only: examples/python/check_before_paying.py. A command, a pay_after_check(url, pay) function, and a hook for the x402 Python HTTP client (x402HTTPClientSync(client).on_payment_required(vet402_on_payment_required)) that looks up the requested URL on every 402, before the client signs.
  • curl, one line each with jq and without: use.html#curl.

The command line

vet402-check <url> [--chain solana|tempo|base|algorand|<CAIP-2>] [--pay-to <address>] [--amount <atomic units>] [--asset <address>] [--explain] [--verify] [--offline] [--json]

vet402-check verify [--offline] [--json] vet402-check diagnose --url [--chain solana|base] [--status ] [--json] vet402-check --mcp

  • --chain limits the answer to one chain (eip155:8453 is Base, eip155:4217 is Tempo).
  • --pay-to compares the payTo in the 402 you hold with the payTo addresses vet402 recorded for that seller.
  • --amount and --asset compare the 402's amount (atomic units, as x402 writes it) and asset with what vet402 paid that seller (see Compare the 402 with what vet402 paid).
  • --explain lists the purchases the answer rests on, newest first, each with its date, chain, result, HTTP status and tx, and the payments in the seller's signed records (amount, asset, payTo).
  • --json prints the whole result: sellers[] (one per page the seller is on), records, payTo, asOf, sources.
  • Exit 0 after a lookup, found or not; 1 when a record fails verification; 2 on bad input or unreadable data.

From a clone: npm ci, then npm run check-before-paying -- .

MCP tools

Three read-only tools (stdio, newline-delimited JSON-RPC):

ToolInputReturns
check_before_payingurl, optional chain, pay_to, amount, asset, explain, verify_newest_recordthe facts above and the named reasons, as text and as structuredContent
verify_recordrecord (id or https URL), optional offlineOK, OK_NOT_ANCHORED, OK_OFFLINE or FAIL, one line per check
diagnose_failed_paymenttx, url, optional chain, statusseller_side, facilitator_side, buyer_side or undetermined, with reasons, and an evidence pack for seller_side

Claude Desktop (claude_desktop_config.json):

{ "mcpServers": { "vet402-check": { "command": "npx", "args": ["-y", "@vet402/check", "--mcp"] } } }

At the payment: the x402 fetch hook

Wrap the fetch an x402 client pays through. Every 402 is looked up before the client signs:

import { wrapFetchWithPayment } from "@x402/fetch";

import { wrapFetchWithCheck } from "@vet402/check"; // npm install @vet402/check

const fetchWithPay = wrapFetchWithPayment( wrapFetchWithCheck(fetch, { onCheck: (e) => { console.log(e.checks.map((c) => c.summary).join("\n")); // The rule is yours. To stop the payment, throw here: // if (e.checks.some((c) => c.sellers.some((s) => s.settled > 0 && s.delivered === 0))) throw new Error("not paying"); }, }), client, );

The hook goes under the payment wrapper because @x402/fetch calls the fetch it was given and creates the payment only after that returns 402. The hook reads the 402 through a clone (x402 accepts from the body or the PAYMENT-REQUIRED header, and an MPP WWW-Authenticate: Payment challenge), runs check_before_paying for each chain and payTo it offers, passes the result to onCheck, and returns the 402 unchanged. It never sees a key or a signer and changes no header. A request that already carries a payment (X-PAYMENT, PAYMENT-SIGNATURE, Authorization: Payment) is the client's retry and passes straight through. If vet402's record cannot be read, onCheck gets error set and no checks.

rank.json and the records index are read once and kept in memory for 10 minutes (new PublicData({ ttlMs })), so a busy agent does not download them for every 402. The signed records read to compare amounts are kept the same way.

Named reasons and a policy

Every answer carries reasons[], each with one sentence and the purchases or records it rests on. They are facts next to the verdict and never change it.

ReasonWhen
paid_not_deliveredvet402's newest paid purchase from the seller settled and came back with no answer (rank.json's seller-side rules after a settled payment). Said only for a seller vet402 has told about its results, the same condition the verdict uses.
payto_differsThe payTo in the 402 is not one vet402 paid this seller (and vet402 recorded at least one).
price_jumpThe 402 asks more than 10 times the highest amount vet402 paid for the same URL in the same asset. 10 times exactly is not a price_jump.
asset_unseenThe 402 asks for an asset vet402 never paid this seller in on that chain.
never_boughtvet402 has no purchase from this seller (on the asked chain).
stalevet402's newest purchase from this seller is more than 7 days old.

price_jump and asset_unseen come from the seller's signed records (the newest 8 on that chain, those for the same URL first). With no record to compare with, neither is said.

Give the hook a policy to decide per reason:

const fetchWithPay = wrapFetchWithPayment(

wrapFetchWithCheck(fetch, { policy: { paid_not_delivered: "block", payto_differs: "block", price_jump: "block", asset_unseen: "ask_human", never_bought: "warn" }, askHuman: async (e) => confirmWithPerson(e.reasons), // true pays, anything else stops }), client, );

  • block throws a CheckBlockedError before the client signs; its reasons names what stopped it.
  • ask_human calls askHuman(event) and pays only when it returns true. With no askHuman, it stops with a CheckNeedsApprovalError (a CheckBlockedError).
  • warn and allow go on. A reason the policy leaves out is allow.
  • onCheck gets event.reasons and event.decision (the action per reason and the strictest one) before any of this.
  • Without policy, the hook decides and waits exactly as in 0.1.2: event.reasons holds the reasons that come from rank.json alone, and no signed record is read, so price_jump and asset_unseen are not looked for.
  • When vet402's record cannot be read, event.error is set, there are no reasons, and the payment goes on, as in 0.1.2.

Compare the 402 with what vet402 paid

npx -y @vet402/check https://api.xona-agent.com/token/pumpfun-trending --chain solana --amount 1000000 --asset EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v

The answer adds comparison: the signed records read, the assets vet402 paid this seller in, the highest amount vet402 paid for this URL with its record and tx, and the ratio of the 402's amount to it. With a policy, the hook makes the same comparison for every x402 offer in a 402.

Diagnose a payment that brought no answer

npx -y @vet402/check diagnose <tx signature or hash> --url <seller URL> --status 500

From TypeScript: diagnose({ tx, url, status }, new PublicData()). As an MCP tool: diagnose_failed_payment.

  1. Reads the payment from public RPC (Solana or Base; SOLANA_RPC_URL and BASE_RPC_URL point it at other RPCs): settled or not, the payTo, the amount, the asset, the time. Nothing is signed or sent.
  2. Classifies the attempt with vet402's own fault rules (the same code rank.json is built with).
  3. Lists vet402's own purchases from the same seller on the same chain within 24 hours of the payment, or the nearest ones when there are none. rank.json keeps the newest purchases per seller, so an older payment may have none in its window.

The answer is fault with reasons[]:

  • seller_side only when all of these hold: the payment settled on chain, to a payTo vet402 paid this seller, in an asset vet402 paid it in and not below the least vet402 paid; the HTTP status is one vet402's rules put on the seller after a settled payment (5xx, 402 again); rank.json's list of the seller's newest purchases reaches back past the start of the window; vet402's own paid purchases from the seller within 24 hours also settled and came back with no answer, with none delivered; and no signed record of those days shows a delivered purchase from the seller.
  • buyer_side only for a payment that failed on chain because the paying token account lacked the funds.
  • facilitator_side only for a payment that failed on chain for another reason while vet402's own payments to the seller in the window also failed before settling.
  • undetermined for everything else: the RPC could not be read, no such transaction, no status given, a 4xx, a payTo vet402 never paid, an asset vet402 never paid the seller in, an amount below the least vet402 paid, vet402 got an answer from the seller in the window (in rank.json or in a signed record of those days), rank.json's list does not reach back to the window, or vet402 has no purchase in the window. A seller is not named on less than the full test.

For seller_side, evidence holds a pack to hand to the seller, as JSON and as Markdown: the tx and its explorer link, payer, payTo, amount and asset, the HTTP status the buyer reported, vet402's rule said of this payment, vet402's purchases in the window with their tx, and the signed records of those days (the payment itself left out when it is one of vet402's own). It is printed, not sent.

Framework examples

examples/ in this folder (not in the npm package): Coinbase AgentKit,

Nur der Anfang wird gezeigt; den Rest findest du im Repo