Joke Button MCP Server
MCP Joke Button App
Dieses Projekt ist ein winziger MCP-Server, der eine MCP-App-Benutzeroberfläche bereitstellt: einen einzelnen Button. Wenn der Button geklickt wird, sendet die App eine Nachricht an den Host und bittet den Assistenten, mit einem kurzen, familienfreundlichen Witz zu antworten.
Es verwendet absichtlich nur die eingebauten Module von Node.js. Es gibt keine Laufzeit-Paketabhängigkeiten.
Was es demonstriert
MCP-Kernprotokoll Version
2026-07-28Zustandsloses Streamable HTTP auf einem Endpunkt:
/mcpserver/discover,tools/list,tools/call,resources/listundresources/readMCP-Apps-UI-Ressourcenmetadaten mit
_meta.ui.resourceUriEin sandbox-freundliches
text/html;profile=mcp-app-Widgetui/initializeundui/messageüberpostMessage
Related MCP server: Jokes MCP Server
Anforderungen
Installieren Sie Node.js 20 oder neuer von nodejs.org. Der LTS-Download ist ausreichend.
Sie müssen kein npm install ausführen; dieses Projekt hat keine Drittanbieter-Bibliotheken.
Server starten
Öffnen Sie ein Terminal in diesem Ordner und führen Sie Folgendes aus:
npm startSie sollten Folgendes sehen:
MCP Joke Button server listening on http://127.0.0.1:8787/mcp
Preview the widget shell at http://127.0.0.1:8787/previewLassen Sie dieses Terminal während des Tests geöffnet.
MCP-Anfragen werden während des Serverbetriebs nach Methode protokolliert. Für eine interaktive App-Darstellung sollte das Protokoll ein erfolgreiches UI-Ressourcen-Lesen ähnlich wie dieses enthalten:
[mcp] request method=resources/read name=ui://joke-button/app.html
[mcp] response method=resources/read status=200Setzen Sie MCP_LOG_REQUESTS=false, wenn Sie diese Entwicklungsprotokolle deaktivieren möchten.
Heroku-Bereitstellung
Die Heroku-App joke-button ist bereitgestellt unter:
https://joke-button-31cddc4bc964.herokuapp.comIhr MCP-Endpunkt ist:
https://joke-button-31cddc4bc964.herokuapp.com/mcpStellen Sie den aktuellen Branch bereit mit:
git push heroku HEAD:mainSchneller lokaler Check
Öffnen Sie diese Adresse in einem Browser:
http://127.0.0.1:8787/previewDies zeigt nur eine Vorschau des Buttons. Der Button kann den KI-Assistenten nur um einen Witz bitten, wenn er in einem MCP-Apps-kompatiblen Host wie ChatGPT gerendert wird.
Verwendung mit ChatGPT Desktop oder ChatGPT Web
ChatGPT benötigt während der Entwicklung eine HTTPS-URL für einen entfernten MCP-Server. Lassen Sie npm start laufen und legen Sie dann Port 8787 mit einem Tunnel-Tool wie ngrok oder Cloudflare Tunnel offen.
Beispiel mit ngrok:
ngrok http 8787Kopieren Sie die HTTPS-Weiterleitungs-URL und fügen Sie /mcp am Ende hinzu, zum Beispiel:
https://example.ngrok.app/mcpVerbinden Sie es dann mit ChatGPT:
Öffnen Sie ChatGPT.
Öffnen Sie Einstellungen.
Öffnen Sie Sicherheit und Anmeldung.
Aktivieren Sie den Entwicklermodus, falls er nicht bereits aktiviert ist.
Öffnen Sie Plugins. Wenn Sie die Desktop-App verwenden und es nicht in der Seitenleiste sehen, öffnen Sie
https://chatgpt.com/pluginsin einem Browser, während Sie mit demselben Konto angemeldet sind.Wählen Sie die Plus-Schaltfläche, um eine Developer-MCP-Serververbindung hinzuzufügen.
Fügen Sie die HTTPS-URL ein, die auf
/mcpendet.Benennen Sie sie
Joke Button.Starten Sie einen neuen Chat, wählen Sie das Plugin aus dem Menü „Mehr" und fragen Sie:
Show the joke button.Klicken Sie auf
Tell a joke.
Sie benötigen keine Einstellung namens MCP servers für diesen ChatGPT-UI-Test. Diese Einstellung ist für die lokale MCP-Host-Konfiguration von Codex gedacht, nicht für das Hinzufügen einer ChatGPT-Developer-Plugin-Verbindung.
Wenn der Entwicklermodus oder das Plus-Symbol fehlt, prüfen Sie, ob die Desktop-App auf dem neuesten Stand ist und ob Ihr Konto oder Arbeitsbereich die Plugin-Entwicklung erlaubt.
Wenn die App funktioniert, sollte ChatGPT die Nachricht des Buttons empfangen und mit einem kurzen Witz antworten.
Verwendung mit Codex in der ChatGPT-Desktop-App
Codex kann über die gemeinsamen MCP-Einstellungen eine Verbindung zu Streamable-HTTP-MCP-Servern herstellen.
Die Einstellung MCP servers erscheint nur auf Codex-fähigen lokalen Clients und möglicherweise nicht in der normalen Chat-Einstellungsansicht von ChatGPT. Falls sie verfügbar ist:
Lassen Sie
npm startlaufen.Öffnen Sie die ChatGPT-Desktop-App.
Öffnen Sie Einstellungen und dann MCP servers.
Wählen Sie Add server.
Wählen Sie Streamable HTTP.
Benennen Sie den Server
joke_button.Verwenden Sie diese URL:
http://127.0.0.1:8787/mcpSpeichern Sie und starten Sie neu, wenn Sie dazu aufgefordert werden.
Geben Sie in einer Codex-Aufgabe
/mcpein, um zu bestätigen, dass der Server verbunden ist.Fragen Sie Codex:
Use the Joke Button MCP server.
Die Codex-MCP-Toolunterstützung zeigt möglicherweise den Text-Fallback anstatt der eingebetteten iframe-UI, abhängig von der Oberfläche. Für die eigentliche Ein-Button-UI verwenden Sie ChatGPT mit MCP-Apps-UI-Unterstützung.
Wenn die Einstellung nicht sichtbar ist, kopieren Sie die Beispielkonfiguration aus codex-config.example.toml in eine config.toml eines vertrauenswürdigen Projekts oder in Ihre Benutzer-~/.codex/config.toml und starten Sie dann die ChatGPT-Desktop-App oder den Codex-Client neu.
Nützliche URLs
Health-Check:
http://127.0.0.1:8787/healthMCP-Endpunkt:
http://127.0.0.1:8787/mcpWidget-Vorschau:
http://127.0.0.1:8787/preview
Sicherheitshinweise
Der Server validiert die MCP-Protokollversion und die gespiegelten MCP-Header, die für den Transport 2026-07-28 Streamable HTTP erforderlich sind.
Für die lokale Entwicklung werden Anfragen ohne Origin-Header akzeptiert, Loopback-Browser-Ursprünge werden akzeptiert und gängige OpenAI-Host-Ursprprüge werden akzeptiert. Für einen anderen Host-Ursprung starten Sie den Server mit:
$env:MCP_ALLOWED_ORIGINS="https://your-host.example"
npm startVerwenden Sie die Authentifizierung, bevor Sie einen echten MCP-Server bereitstellen, der auf private Daten zugreifen oder Aktionen ausführen kann. Dieses Beispiel tut weder das eine noch das andere.
Projektdateien
server.js: MCP-Server ohne Abhängigkeitenpublic/joke-button.html: MCP-Apps-UI-Widgetcodex-config.example.toml: Beispiel-Codex-Konfiguration
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 Servers
- AlicenseNot gradedqualityDmaintenanceAn MCP server that fetches jokes from multiple sources (Chuck Norris, Dad jokes, and Yo Mama jokes) and integrates with Microsoft Copilot Studio to create a humor-focused conversational experience.MIT
- AlicenseNot gradedqualityDmaintenanceAn MCP server implementation that delivers various joke types (Chuck Norris, Dad jokes, etc.) to Microsoft Copilot Studio and GitHub Copilot through the Model Context Protocol.MIT
- AlicenseNot gradedqualityDmaintenanceA Model Context Protocol (MCP) server that provides joke-fetching capabilities, demonstrating how to deploy an MCP Server and integrate it with Microsoft Copilot Studio.MIT
- AlicenseNot gradedqualityDmaintenanceAn MCP server that provides jokes on demand, allowing users to request different types of jokes (Chuck Norris, Dad jokes, etc.) through natural language in both GitHub Copilot and Microsoft Copilot Studio.MIT
Related MCP Connectors
MCP server for AI dialogue using various LLM models via AceDataCloud
A very simple remote MCP server that greets you, with a custom icon.
MCP server exposing the AceDataCloud Fish Audio API (text-to-speech with voice conditioning)
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/mwilber/mcpapptest'
If you have feedback or need assistance with the MCP directory API, please join our Discord server