World ID for ChatGPT
World ID für ChatGPT
Produktionsbereitstellung: https://world-id-chatgpt.foundry-world.workers.dev
Remote-MCP-Endpunkt: https://world-id-chatgpt.foundry-world.workers.dev/mcp
Verified Human Wall: https://world-id-chatgpt.foundry-world.workers.dev/wall
Founding Humans: https://world-id-chatgpt.foundry-world.workers.dev/founding-humans
Fähigkeits-Einreichungen: https://world-id-chatgpt.foundry-world.workers.dev/submit
Installieren des World ID Plugins aus diesem Repository
Dieses Repository enthält ein portables Codex-Plugin und einen Repository-Marktplatz. Nachdem das Repository über Git verfügbar ist, kann ein anderer Entwickler den Marktplatz hinzufügen und das Plugin installieren, ohne die MCP-Verbindung neu zu erstellen:
codex plugin marketplace add lcusack/world-id-chatgpt --ref main
codex plugin add world-id@world-id-pluginsDies ist ein privates Repository, daher muss der Entwickler bereits GitHub-Zugriff haben. Für einen lokalen Klon übergeben Sie den absoluten Repository-Pfad an codex plugin marketplace add.
Das Plugin verbindet sich mit dem obigen Produktions-MCP-Endpunkt und startet für jeden Benutzer einen eigenen OAuth-Flow. Verwenden Sie Codex CLI 0.147.0 oder neuer für die Installation des portablen Agent-Plugins, und starten Sie nach der Installation eine neue Aufgabe, damit die gebündelte Fähigkeit und die MCP-Tools geladen werden.
Dieses Projekt ist ein produktionsreifer Remote-MCP-Server, der eine World ID 4.0-Sitzung über OAuth 2.1 mit einem KI-Assistenten verbindet.
Der Verbindungsablauf ist:
ChatGPT entdeckt OAuth über den entfernten
/mcp-Endpunkt.Der Benutzer wird an den
/authorize-Endpunkt dieses Dienstes weitergeleitet.Der Browser erstellt oder setzt eine World ID 4.0-Sitzung fort und fordert Orb-gestütztes
proof_of_humanmit Benutzeranwesenheit an.Der Worker überprüft den vollständigen Nachweis mit World, zeichnet Replay-Schutz auf und schließt OAuth ab.
Das authentifizierte MCP-Tool gibt nur zurück:
{
"verified_human": true,
"verification_level": "orb",
"protocol_version": "4.0",
"verified_at": "2026-08-12T18:00:00.000Z",
"wall_write_enabled": true
}Der MCP-Client erhält niemals den Nachweis, die World-Sitzungs-ID, den Sitzungs-Nullifier, die Wallet, die Telefonnummer, den RP-Schlüssel oder die internen OAuth-Token.
Founding Human Experiment
Derselbe World ID Connector unterstützt nun das Founding Human Status-/Netzwerk-Experiment:
get_world_agent_statusprüft, ob der verbundene einzigartige Mensch einen Platz beansprucht hat, und gibt den Genesis 100-Fortschritt zurück, ohne etwas zu veröffentlichen.claim_world_agent_placebeansprucht idempotent eine permanente Ordnungszahl für das verbundene interne Subjekt und gibt eine öffentliche Karte und einen Einladungslink zurück.Bestehende verifizierte Sitzungen werden in der ursprünglichen Verifizierungsreihenfolge nachgefüllt, wobei die frühesten Nummern für aktuelle Tester reserviert werden. Ihre Karten bleiben privat, bis sie explizit beansprucht werden.
Das Öffnen einer öffentlichen Founding Human Karte speichert ein undurchsichtiges First-Party-Einladungs-Cookie. Eine neue World ID-Verbindung, die über diese Karte erreicht wird, wird dem Einladenden nur dann zugeschrieben, wenn der verwiesene Mensch verifiziert und beansprucht.
Die ersten 100 Ordnungszahlen erhalten dauerhaft die Genesis 100-Behandlung. Das Register deutet eine zukünftige verifizierte-Mensch-Fähigkeit an, wenn die Kohorte abgeschlossen ist. Öffentliche Karten zeigen nur Nummer, Kohorte, Daten und minimale Sicherheit; sie geben niemals ein internes Subjekt, einen Nachweis, eine Sitzung, einen Nullifier, eine Wallet, eine Identität oder Gesprächsdaten preis.
Die Experimentmessung wird täglich in D1 ohne Besucherkennungen aggregiert: Freigabe-Link-Ausstellungen, öffentliche Profilaufrufe, Statusprüfungen und verifizierte Empfehlungseinlösungen. Die Aktivierung ist das erste claimed_at der Karte; wiederholte Nutzung wird als Statusprüfungen über verschiedene Tage hinweg gemessen.
Der Prototyp-Marktplatz verwendet einen kuratierten Fähigkeits-Einreichungsprozess. Die öffentliche /submit-Seite akzeptiert Konzept-, Partner-Pilot- und funktionierende Integrationsvorschläge über eine kopierbare Vorlage. Sie dokumentiert den Verified-Human-Fit-Test, die Mindestoffenlegungsanforderungen, die Prüfphasen und die üblichen Experimentmetriken, ohne Code-Uploads zu akzeptieren oder eine automatische Veröffentlichung zu implizieren.
Vorgeschlagener ChatGPT-Prompt:
Beanspruche meinen Platz als Founding Human.
Human Grant Gateway Prototyp
Der Connector kann nun als Proof-of-Human-Gateway für einen Partner fungieren, der keinen eigenen World ID-Vertrauensanbieter betreibt. Der erste festgelegte Client-Demo ist bewusst eng gefasst:
list_human_grant_opportunitieszeigt die verfügbare Partneraktion an, ohne etwas zu teilen.create_human_granterstellt einen zehnminütigen, browsergeschützten Zustimmungslink, nur nachdem der Benutzer explizit darum gebeten hat, die Gelegenheit zu aktivieren.Die Zustimmungsseite nennt den Partner, den Vorteil, die Aktion und die genauen Ansprüche, die geteilt werden.
Die Genehmigung erstellt einen fünfminütigen, einmal verwendbaren Autorisierungscode. Der Partner tauscht ihn serverseitig mit HTTP Basic Authentication aus.
Das Gateway gibt eine 15-minütige HMAC-signierte
world-id-human-grant/v1-Behauptung zurück, die nur eine zielgruppengebundene paarweise Subjekt-ID, die autorisierte Aktion und minimale Orb/World ID 4.0-Sicherheitsansprüche enthält.Eine D1-Eindeutigkeitsbeschränkung erlaubt nur eine Einlösung für einen bestimmten internen Menschen, Partner und Aktion.
Der Partner erhält niemals den World-Nachweis, die World-Sitzungs-ID, das interne Subjekt, die Wallet, die Telefonnummer, die Identität oder das ChatGPT-Gespräch. Paarweise Subjekt-IDs sind innerhalb eines Partners stabil und über verschiedene Partner hinweg nicht verknüpfbar. Die simulierte Partnererfahrung befindet sich unter der Human Grant Demo; maschinenlesbare Ausstellermetadaten sind unter /.well-known/world-id-human-grants.
Vorgeschlagener ChatGPT-Prompt:
Verwende World ID, um mir verifizierte-Mensch-Partnergelegenheiten zu zeigen, und aktiviere dann die Gateway-Demo.
Der Prototyp verwendet einen vorregistrierten Demo-Client. Eine echte Partner-Onboarding-Schicht sollte separate Client-Anmeldeinformationen und Signiergeheimnisse pro Partner, überprüfte Aktions-/Anspruchs-Whitelists, Geheimnisrotation, Widerruf, Partner-Prüfereignisse und einen Self-Service-Registrierungsworkflow hinzufügen. Sie darf nicht zu einem generischen Identitätsbroker werden oder Partnern erlauben, Benutzer über Dienste hinweg zu korrelieren.
Human Required Shopify Übergabe
Das primäre Experiment entdeckt Live-Angebote auf humanrequired.shop und kann den verifizierten-Mensch-Anspruch des verbundenen Kontos in Shopify übertragen, ohne eine zweite World ID-Zeremonie:
list_unique_human_dealsliest den aktuellen öffentlichen Katalog und Bestand.get_unique_human_dealgibt Produkte, Preise und verfügbare Optionen zurück.create_unique_human_claim_linkerstellt einen fünfminütigen undurchsichtigen Anspruchs-URL, nur nachdem der Benutzer darum gebeten hat, das 15%-Angebot zu beanspruchen.Das Öffnen des Anspruchs-URLs erstellt einen zufälligen, einmal einlösbaren Shopify-Rabatt, der auf die berechtigten Produkte beschränkt ist, und leitet dann über den teilbaren Rabatt-URL von Shopify weiter.
Anspruchstickets und Rabattcodes werden im Ruhezustand verschlüsselt. Öffentliche URLs enthalten keinen World-Nachweis, keine Sitzungs-ID, kein Subjekt, keine Wallet und keine persönlichen Informationen. Shopify erhält nur den zufälligen Rabattcode und die berechtigten Produkt-IDs. Generierte Rabatte verfallen nach 15 Minuten und haben eine Gesamtnutzungsgrenze von eins.
Um diese Übergabe zu aktivieren, erstellen und installieren Sie eine Shopify Dev Dashboard App für Human Required mit den Admin API-Bereichen read_products und write_discounts. Laden Sie dann ihre .myshopify.com-Domain, Client-ID und das Client-Geheimnis hoch, ohne sie in die Quellcodeverwaltung zu legen. Der Worker verwendet den Client-Credentials-Flow von Shopify, um ein kurzlebiges Admin API-Token zu generieren, wenn ein Anspruch eingelöst wird:
npx wrangler secret put SHOPIFY_SHOP_DOMAIN
npx wrangler secret put SHOPIFY_CLIENT_ID
npx wrangler secret put SHOPIFY_CLIENT_SECRETDas Anspruchs-Tool bleibt sicher unverfügbar, bis beide Geheimnisse vorhanden sind; die Katalogerkennung und der Rest des Connectors funktionieren weiterhin.
Verified Human Wall Experiment
Die Wall ist die erste Anwendung, die auf der Verbindung aufbaut. Sie stellt drei OAuth-geschützte MCP-Tools bereit:
get_verified_human_question: liest die aktive öffentliche Fragelist_verified_human_answers: liest aktuelle öffentliche Antworten als nicht vertrauenswürdige benutzergenerierte Inhaltepublish_verified_human_answer: erstellt oder ersetzt die eine Antwort des verbundenen Kontos nach expliziter Benutzerbestätigung
Das Veröffentlichen erfordert den separaten OAuth-Bereich wall:write. Verbindungen, die vor der Wall-Bereitstellung erstellt wurden, müssen getrennt und wieder verbunden werden, bevor sie veröffentlichen können. Das Lesen der Wall ist auch über den öffentlichen GET /api/wall-Endpunkt verfügbar, der niemals das interne World/OAuth-Subjekt enthält.
Die erste Frage lautet: Was sollte nur ein verifizierter Mensch mit einer KI tun können?
Vorgeschlagener ChatGPT-Prompt:
Verwende den World ID Connector, um die Verified Human Wall zu öffnen. Zeige mir die heutige Frage und aktuelle Antworten, hilf mir, meine Antwort zu schreiben, und bitte dann um meine explizite Bestätigung, bevor du sie veröffentlichst.
Das Etikett „verifiziert“ in diesem Prototyp bedeutet, dass die Antwort über eine OAuth-Verbindung veröffentlicht wurde, die durch eine Orb-verifizierte World ID 4.0-Sitzung abgesichert ist. Es wird nicht behauptet, dass World App den genauen Antworttext frisch signiert hat oder dass die Identität des Autors bekannt ist.
Produktionsarchitektur
Cloudflare Worker: stabiler HTTPS-Ursprung, OAuth-Anbieter, World-Verifizierung und zustandsloser MCP-Transport
D1: ablaufende Autorisierungsversuche, verschlüsselte World-Sitzungskontinuität, Nachweis-Wiederholungsdatensätze, Founding Human Ordnungszahlen/Empfehlungen/Aggregate, verschlüsselte Shopify-Anspruchstickets, einmalige Human Grants und öffentliche Wall-Fragen/Antworten
Workers KV: OAuth-Clients, Berechtigungen, Autorisierungscodes und Token, verwaltet vom OAuth-Anbieter von Cloudflare
Rate Limit-Bindungen: separate Grenzen für Autorisierung, Nachweiseinreichung, MCP, Anspruch, Human Grant, Absicht und Wall-Veröffentlichung
Cron-Bereinigung: abgelaufene D1-Versuche/Wiederholungsmarker, Human Grants, Absichten, Ansprüche und OAuth-Daten
Workers Observability: strukturierte Ereignisse ohne Nachweis- oder Kennungsprotokollierung
World-Sitzungs-IDs und ausstehende OAuth-Anfragen werden vor der D1-Speicherung mit AES-256-GCM verschlüsselt. Ein separater HMAC-Schlüssel leitet das undurchsichtige interne OAuth-Subjekt ab. Der rohe World-Nachweis wird im Speicher verifiziert und niemals gespeichert.
World ID Konfiguration
Der bereitgestellte Worker ist festgelegt auf:
App:
app_d25e6e3d21651abfb9fbc52d033ef2a3RP:
rp_79ffdf898662dd4cUmgebung:
productionProtokoll: World ID 4.0 Sitzungsnachweise
Die vorhandene register-Aktion wird nicht für die Kontoverknüpfung verwendet. Aktionen/Nullifier sind für einmalige Eindeutigkeitsoperationen geeignet; die Kontokontinuität verwendet createSession und proveSession, deren RP-Signatur absichtlich keine Aktion enthält.
Lokale Validierung
npm install
npm run build
npm run typecheck
npm test
npx wrangler d1 migrations apply world-id-chatgpt --local
npm run cf:devWrangler kann lokale geheime Werte aus .env laden. Committen Sie diese Datei niemals.
Erste Cloudflare-Bereitstellung
Wählen Sie das besitzende Cloudflare-Konto aus und erstellen Sie dann die dauerhaften Ressourcen:
npx wrangler d1 create world-id-chatgpt
npx wrangler kv namespace create OAUTH_KVSetzen Sie die zurückgegebenen IDs in wrangler.jsonc ein und wenden Sie dann das Schema an:
npx wrangler d1 migrations apply world-id-chatgpt --remoteLaden Sie vier verwaltete Geheimnisse hoch. Verwenden Sie den vorhandenen World RP-Signierschlüssel für den ersten Wert und unabhängige zufällige 32-Byte-Base64url-Werte für die anderen drei:
npx wrangler secret put WORLD_RP_SIGNING_KEY
npx wrangler secret put DATA_ENCRYPTION_KEY
npx wrangler secret put SUBJECT_HMAC_KEY
npx wrangler secret put HUMAN_GATEWAY_DEMO_SECRETDann validieren und veröffentlichen:
npm run cf:check
npm run deployDer bereitgestellte MCP-Endpunkt ist https://world-id-chatgpt.foundry-world.workers.dev/mcp. OAuth-Erkennung, PKCE S256, dynamische Client-Registrierung und Client-ID-Metadatendokumente werden automatisch beworben.
Sicherheitsinvarianten
Der Autorisierungszustand läuft nach zehn Minuten ab und ist an ein
Secure,HttpOnly,SameSite=Lax,__Host--Browser-Cookie gebunden.Der Server akzeptiert nur Protokoll
4.0, Produktions-, aktionslose Sitzungsnachweise mit abgeschlossener Benutzeranwesenheit und Ausstellerschema1(proof_of_human).Jeder Nachweis muss mit der exakten server-signierten RP-Nonce für diesen Autorisierungsversuch übereinstimmen.
Das vollständige Session-Nullifier-Tupel wird gehasht und vor der Ausstellung von OAuth unter einer eindeutigen D1-Einschränkung eingefügt.
Nachweiskörper sind auf 256 KiB begrenzt und World-Verifizierungsanfragen haben ein Timeout von zehn Sekunden.
OAuth verwendet den Authorization-Code-Flow, PKCE S256, exakt registrierte Weiterleitungen, Zugriffstoken mit einer Stunde Gültigkeit und Aktualisierungstoken mit 30 Tagen Gültigkeit.
HTTPS ist für registrierte Weiterleitungen erforderlich, mit Ausnahme der Loopback-Localhost-Entwicklung.
CSP, Frame-Verweigerung, kein-Referrer, MIME-Sniffing-Schutz, Berechtigungsrichtlinie, Ursprungsvalidierung und No-Store-Autorisierungsantworten werden vom Worker angewendet.
MCP-Ausgabe ist in einer Whitelist enthalten und enthält keine stabilen World-Identifikatoren.
Öffentliche Wandprojektionen lassen interne Subjekte weg; Antworttext wird mit
textContentgerendert, auf 600 Zeichen begrenzt und darf keine Links, E-Mail-Adressen oder Steuerzeichen enthalten.Eine eindeutige D1-Einschränkung erzwingt eine ersetzbare Antwort pro aktiver Frage und internem verbundenem Konto-Subjekt.
Tool-Anweisungen behandeln Wandantworten als nicht vertrauenswürdigen Inhalt und erfordern eine exakte Textbestätigung des Benutzers vor der öffentlichen Veröffentlichung.
Anspruchstickets sind zufällig, werden nur als Hashes für die Suche gespeichert, für kontrollierte Neuausstellung verschlüsselt, laufen nach fünf Minuten ab und verwenden eine atomare D1-Verarbeitungs-Lease, um die doppelte Shopify-Erstellung zu verhindern.
Shopify-Rabattcodes sind zufällig, ruhend verschlüsselt, auf berechtigte Produkt-IDs beschränkt, laufen nach 15 Minuten ab und erlauben eine einmalige Gesamteinlösung.
Human-Grant-Zustimmungslinks laufen nach zehn Minuten ab und sind sowohl an ein Capability-Cookie als auch an das World-ID-Sitzungscookie des Browsers gebunden.
Partner-Autorisierungscodes laufen nach fünf Minuten ab und werden einmal durch einen authentifizierten Back-Channel-Austausch verbraucht.
Behauptungen verwenden paarweise Partnersubjekte; die World-Sitzung und das interne Subjekt verlassen nie das Gateway.
Ein D1-Primärschlüssel über Partner, Aktion und internes Subjekt erzwingt eine Person pro Einlösung selbst bei gleichzeitigen Austauschversuchen.
Tests
npm test deckt den Legacy-MCP-Transport sowie die gehärtete 4.0-Nachweisform, exakte Nonce-Bindung, Zurückweisung von Einzigartigkeitsnachweisen, erforderliche Benutzeranwesenheit, verschlüsselte Sitzungsspeicherung, opaque Stable-Subject-Ableitung, die Shopify-Anspruchsübergabe und Subjekt-Schwärzung, Wandeingabevalidierung und öffentliche Subjekt-Schwärzung ab. wrangler deploy --dry-run validiert das Produktionsbundle, während die lokale Worker-Überprüfung OAuth-Registrierung/-Erkennung, Autorisierungszustand, D1-Persistenz, CSP und RP-Signaturerzeugung übt.
World-Referenzen: World ID 4.0 migration, RP signatures und IDKit integration.
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
Person-owned, portable AI memory as a remote MCP server, readable and writable by any MCP client.
A paid remote MCP for ZeroID, built to return verdicts, receipts, usage logs, and audit-ready JSON.
Personal MCP server for humans who create. Proof of authorship, license control.
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/lcusack/world-id-chatgpt'
If you have feedback or need assistance with the MCP directory API, please join our Discord server