Skip to main content
Glama
karan68

ProofGate MCP Server

by karan68

ProofGate

ProofGate ist eine Firewall vor der Ausführung für autonome Agenten. Sie bezahlt eine Live-URL_SCAN-Inferenz von Telegraph, normalisiert das Ergebnis des ausgewählten Miners in eine ALLOW-, WARN- oder BLOCK-Entscheidung und führt die angeforderte Netzwerkaktion nur aus, wenn die Richtlinie ALLOW zurückgibt.

Jede Entscheidung wird an ein SHA-256-Hash-Chain-Prüfprotokoll angehängt. Die lokale Entwicklung verwendet JSONL; Serverless-Bereitstellungen verwenden eine atomare Redis-Liste. Dieselben Steuerungen sind über die Web-Konsole, die HTTP-API und den MCP-stdio-Server verfügbar.

Warum dies kein weiterer URL-Scanner ist

Ein Scanner meldet einen Score. ProofGate setzt eine Grenze durch:

flowchart LR
  A[Agent action] --> G[ProofGate]
  G -->|x402 payment| T[Telegraph URL_SCAN]
  T --> M[Compatible Miner]
  M --> P{Local policy}
  P -->|ALLOW| E[DNS-pinned GET or HEAD]
  P -->|WARN or BLOCK| W[Withhold action]
  P --> L[Hash-chained audit ledger]
  E --> L
  W --> L

ProofGate stellt außerdem einen eigenen URL_SCAN-Miner bereit. Dieser Miner kombiniert URL-Struktur, DNS, RDAP und konfigurierte Reputationsanbieter, ohne die übermittelte Ziel-URL zu besuchen.

Related MCP server: infraveil-guard

Aktuelles Verhalten

  • Ermittelt den Live-URL_SCAN-Miner-Pool von Telegraph.

  • Wählt einen kompatiblen Miner aus dem Live-URL_SCAN-Katalog von Telegraph aus und bezahlt dessen Dispatcher-Endpunkt über x402.

  • Filtert x402-Anforderungen nach Netzwerk und Höchstbetrag, bevor signiert wird.

  • Behandelt bösartige Beweise als BLOCK und unsichere Beweise als WARN.

  • Führt nur öffentliche HTTP(S)-Ziele nach ALLOW aus.

  • Unterstützt begrenzte GET- und HEAD-Anfragen; Weiterleitungen werden nicht verfolgt.

  • Speichert Scan-, Abrechnungs- und Aktionsbeweise in einer append-only-Hash-Kette.

  • Erfordert eine Operator-Bearer-Authentifizierung für bezahlte Produktionsrouten.

  • Erzwingt begrenzte Anforderungslimits lokal und über Redis, wenn konfiguriert.

  • Meldet nicht verfügbare Reputationsanbieter als nicht verfügbar, niemals als sauber.

  • Stellt vier MCP-Tools über das stabile MCP-v2-stdio-SDK bereit.

Anforderungen

  • Node.js 20 oder neuer

  • npm

  • Eine begrenzte Base-Sepolia-Burner-Wallet für bezahlte Telegraph-Aufrufe

  • Base-Sepolia-USDC, wenn der bezahlte Anwendungspfad genutzt wird

Die kostenlose Netzwerkermittlung, der lokale Miner, die Benutzeroberfläche, der Audit-Reader und der MCP-Handshake erfordern keine Wallet.

Lokale Einrichtung

Set-Location C:\dev\proofgate
& "C:\Program Files\nodejs\npm.cmd" install
Copy-Item .env.example .env.local
& "C:\Program Files\nodejs\npm.cmd" run dev

Öffnen Sie http://localhost:3000.

Konfigurieren Sie Geheimnisse direkt in .env.local. Fügen Sie keinen privaten Schlüssel in ein Issue, einen Chat, einen Screenshot oder eine clientseitige Umgebungsvariable ein.

Konfiguration

Variable

Zweck

Standard

TELEGRAPH_EVM_PRIVATE_KEY

Base-Sepolia-Burner-Schlüssel für x402-Signaturen

nicht gesetzt

TELEGRAPH_NODE_URL

Basis-URL der Telegraph-Engine

https://devnode.telegraphprotocol.com

PROOFGATE_MAX_TELEGRAPH_PAYMENT_ATOMIC

Höchstzahlung für eine Telegraph-Inferenz

100000

PROOFGATE_MAX_TARGET_PAYMENT_ATOMIC

Höchste x402-Zahlung für ein erlaubtes Ziel

50000

PROOFGATE_API_KEY

Bearer-Schlüssel, der von Guard- und Audit-Routen in der Produktion benötigt wird

unset

PROOFGATE_PUBLIC_URL

Öffentlicher HTTPS-Ursprung, der in miner.yaml eingebettet ist

http://localhost:3000 im Beispiel

PROOFGATE_MINER_ID

Registrierungs-ID, die in der Miner-YAML ausgegeben wird

lokaler Platzhalter 7402

PROOFGATE_REPOSITORY_URL

Öffentliche Quell-URL, die in der Miner-YAML ausgegeben wird

unset

PROOFGATE_AUDIT_FILE

Überschreibt den lokalen JSONL-Ledger-Pfad

data/proofgate-audit.jsonl

UPSTASH_REDIS_REST_URL

Persistenter Audit-/Ratenlimit-Redis-Endpunkt

unset

UPSTASH_REDIS_REST_TOKEN

Redis-REST-Bearer-Token

unset

KV_REST_API_URL / KV_REST_API_TOKEN

Äquivalente Namen, die vom Vercel-Marketplace injiziert werden

unset

PROOFGATE_AUDIT_REDIS_KEY

Redis-Liste, die für die Audit-Kette verwendet wird

proofgate:audit:v1

PHISHTANK_APP_KEY

Aktiviert PhishTank-Beweise

unset

GOOGLE_SAFE_BROWSING_API_KEY

Aktiviert Google-Safe-Browsing-Beweise

unset

URLHAUS_AUTH_KEY

Aktiviert URLhaus-Beweise

unset

VIRUSTOTAL_API_KEY

Aktiviert VirusTotal-Beweise

unset

Atomares USDC verwendet sechs Dezimalstellen. Die Standardwerte begrenzen Telegraph auf 0,10 $ und eine x402-Zahlung für den Ziel-Ursprung auf 0,05 $ pro Anfrage.

HTTP-API

Route

Methode

Zahlung

Zweck

/api/health

GET

Nein

Prozesszustand

/api/network

GET

Nein

Laufzeitbereitschaft und Live-Miner-Ermittlung

/api/miner/scan

POST

Nein

Eigene, anbieterbasierte URL-Intelligenz von ProofGate

/api/guard

POST

Telegraph x402

Authentifizierter Scan, Richtliniendurchsetzung und optionale Ausführung

/api/audit

GET

Nein

Authentifizierte aktuelle Datensätze und Kettenverifizierung

/miner.yaml

GET

Nein

Dynamische Telegraph-Miner-Deklaration

Beispiel für eine lokale Miner-Anfrage:

Invoke-RestMethod -Method Post `
  -Uri http://localhost:3000/api/miner/scan `
  -ContentType application/json `
  -Body '{"url":"https://example.com"}'

Beispiel für einen geschützten Aktionskörper:

{
  "url": "https://example.com",
  "execute": true,
  "method": "GET"
}

Ohne TELEGRAPH_EVM_PRIVATE_KEY gibt /api/guard absichtlich 503 payment_not_configured zurück. Es ersetzt keine Mock-Beweise.

In der Produktion senden Sie Authorization: Bearer <PROOFGATE_API_KEY> an /api/guard und /api/audit. Die Web-Konsole hält den Operator-Schlüssel nur im Speicher der Komponente. Vercel-Bereitstellungen schlagen außerdem vor der Zahlung fehl, es sei denn, beide Upstash-Redis-Variablen sind konfiguriert.

Vercel-Bereitstellung

  1. Importieren Sie das öffentliche GitHub-Repository in Vercel oder führen Sie vercel aus dem Projektstamm aus.

  2. Fügen Sie jede erforderliche Variable über die verschlüsselte Umgebungsvariablen-Oberfläche von Vercel hinzu. Committen Sie niemals .env.local.

  3. Fügen Sie eine Upstash-Redis-Integration hinzu und legen Sie deren REST-URL und Token offen.

  4. Generieren Sie einen eindeutigen Operator-Schlüssel und konfigurieren Sie PROOFGATE_API_KEY.

  5. Stellen Sie einmal bereit, setzen Sie PROOFGATE_PUBLIC_URL auf den zugewiesenen HTTPS-Ursprung und stellen Sie dann erneut bereit, damit /miner.yaml seine kanonische öffentliche URL enthält.

  6. Lassen Sie TELEGRAPH_EVM_PRIVATE_KEY ungesetzt, bis eine frische, nicht exponierte Burner-Wallet bereit ist.

MCP-Server

Erstellen und verifizieren Sie den stdio-Server:

& "C:\Program Files\nodejs\npm.cmd" run mcp:build
& "C:\Program Files\nodejs\npm.cmd" run mcp:smoke

Der Smoke-Client startet den gebündelten Server, führt den MCP-Initialisierungshandshake durch, listet seine Tools auf, ruft die kostenlose Live-Telegraph-Ermittlung auf und schließt den untergeordneten Prozess. Die festgeschriebene .vscode/mcp.json zeigt VS Code auf dist/mcp/server.js; erstellen Sie den Server einmal, bevor Sie ihn in einem MCP-Host aktivieren.

Verfügbare Tools:

  • proofgate_network_status: kostenlose Bereitschaft und Live-Miner-Ermittlung

  • proofgate_scan: bezahlter Telegraph-Scan ohne Zielausführung

  • proofgate_guarded_fetch: bezahlter Scan gefolgt von richtliniengesteuertem GET oder HEAD

  • proofgate_audit_tail: aktuelle lokale Entscheidungen mit Kettenverifizierung

Der Server lädt .env.local und .env aus seinem Arbeitsverzeichnis. stdout ist für MCP-JSON-RPC reserviert; Diagnosen gehen an stderr.

Veröffentlichung des Telegraph-Miners

  1. Stellen Sie den Next.js-Dienst an einem stabilen öffentlichen HTTPS-Ursprung bereit.

  2. Konfigurieren Sie mindestens die Reputationsanbieter, die für die Produktion vorgesehen sind.

  3. Setzen Sie PROOFGATE_PUBLIC_URL, PROOFGATE_REPOSITORY_URL und die Registrierungs-ID, die über den Integrationsablauf von Telegraph zugewiesen wurde.

  4. Verifizieren Sie, dass https://your-host.example/miner.yaml und https://your-host.example/api/miner/scan öffentlich erreichbar sind.

  5. Validieren und übermitteln Sie die ausgegebene YAML über das Telegraph-Integrationsportal.

  6. Bestätigen Sie die Registrierung und testen Sie eine bezahlte Anfrage im Explorer, bevor Sie die Verfügbarkeit ankündigen.

ProofGate enthält eine Dry-Run-first-On-Chain-Registrierungstooling basierend auf dem offiziellen Telegraph-Beispiel und dem aktuellen Base-Sepolia-Diamond:

$env:PROOFGATE_MINER_YAML_URL="https://proofgate-six.vercel.app/miner.yaml"
& "C:\Program Files\nodejs\npm.cmd" run registration:check
& "C:\Program Files\nodejs\npm.cmd" run registration:submit

Der Check ruft die genauen gehosteten Bytes ab, validiert den Deskriptor, berechnet dessen SHA-256, verifiziert Wallet-ETH/USDC und sendet nichts. Submit wiederholt diese Prüfungen, simuliert registerMiner, wartet auf die Bestätigung, parst MinerRegistered und liest den Datensatz zurück. Die bekannte, im Chat exponierte Burner-Adresse ist von der Registrierung hart blockiert.

Das Repository behauptet nicht, dass ein Miner registriert oder bereitgestellt ist. Diese Schritte erfordern einen öffentlichen Ursprung, Portalzugriff und private Anmeldeinformationen.

Verifizierung

& "C:\Program Files\nodejs\npm.cmd" run typecheck
& "C:\Program Files\nodejs\npm.cmd" run lint
& "C:\Program Files\nodejs\npm.cmd" test
& "C:\Program Files\nodejs\npm.cmd" run build
& "C:\Program Files\nodejs\npm.cmd" run mcp:build
& "C:\Program Files\nodejs\npm.cmd" run mcp:smoke
& "C:\Program Files\nodejs\npm.cmd" audit

Live-Base-Sepolia-Beweis, aufgezeichnet am 2026-08-19:

  • Der Telegraph-Katalog wählte URL Sentinel (Miner 5001) für URL_SCAN.

  • Der Miner gab safe mit 0.90 Konfidenz zurück; die Richtlinie gab ALLOW zurück.

  • x402 beglich genau 0.01 USDC an den Telegraph-Diamond in Transaktion 0xfb8e...6585.

  • Die geschützte, DNS-pinned-Anfrage gab dann HTTP 200 mit 559 Bytes von https://example.com/ zurück, und ProofGate fügte einen ACTION-Audit-Datensatz hinzu.

Siehe SECURITY.md für Vertrauensgrenzen und Restrisiken.

Ehrliche Einschränkungen

  • Die Verfügbarkeit des Telegraph-Upstreams kann einen sonst gültigen bezahlten Aufruf verhindern.

  • Die Reputationsabdeckung hängt davon ab, welche Anbieterschlüssel konfiguriert sind.

  • Ein sauberes Ergebnis ist ein Beweis, keine Garantie dafür, dass ein Ziel harmlos ist.

  • Die Audit-Kette ist manipulationssicher, nicht verschlüsselt oder extern bezeugt.

  • Redirects werden gemeldet, aber absichtlich nicht verfolgt.

  • Die Miner-Registrierung und die Hackathon-Einreichung bleiben externe Operator-Schritte.

Related MCP Connectors

Related MCP Servers

  • A
    license
    A
    quality
    C
    maintenance
    A cooperative guardrail for AI agents that blocks destructive shell commands, SQL statements, or cloud operations until a human approves them out-of-band, with a tamper-evident local ledger.
    4
    AGPL 3.0
  • A
    license
    Not graded
    quality
    B
    maintenance
    Provides a three-layer payment firewall for AI agents, enabling identity verification, risk screening, and execution authorization with on-chain policy enforcement for secure and auditable transactions.
    225 npm
    2
    MIT
  • A
    license
    Not graded
    quality
    A
    maintenance
    Gates every AI agent tool call against your policy before it runs, then writes a hash-chained, tamper-evident record of what was decided and what happened. Anyone can verify that record offline, without your software, your systems or any key you hold.
    1,766 PyPI
    15
    AGPL 3.0