Joke Button MCP Server
MCP Joke Button App
Este proyecto es un servidor MCP pequeño que expone una interfaz MCP App UI: un único botón. Cuando se hace clic en el botón, la aplicación envía un mensaje al host pidiendo al asistente que responda con un chiste corto y apto para toda la familia.
Usa intencionadamente solo los módulos integrados de Node.js. No hay dependencias de paquetes en tiempo de ejecución.
Qué demuestra
Protocolo central MCP versión
2026-07-28HTTP Streamable sin estado en un único endpoint:
/mcpserver/discover,tools/list,tools/call,resources/listyresources/readMetadatos de recursos de MCP Apps UI con
_meta.ui.resourceUriUn widget
text/html;profile=mcp-appcompatible con sandboxui/initializeyui/messagemediantepostMessage
Related MCP server: Jokes MCP Server
Requisitos
Instala Node.js 20 o más reciente desde nodejs.org. La descarga LTS es suficiente.
No necesitas ejecutar npm install; este proyecto no tiene bibliotecas de terceros.
Iniciar el servidor
Abre una terminal en esta carpeta y ejecuta:
npm startDeberías ver:
MCP Joke Button server listening on http://127.0.0.1:8787/mcp
Preview the widget shell at http://127.0.0.1:8787/previewDeja esa terminal abierta mientras pruebas.
Las solicitudes MCP se registran por método mientras el servidor está en ejecución. Para una representación interactiva de la aplicación, el registro debería incluir una lectura de recurso de interfaz exitosa similar a:
[mcp] request method=resources/read name=ui://joke-button/app.html
[mcp] response method=resources/read status=200Establece MCP_LOG_REQUESTS=false si quieres desactivar estos registros de desarrollo.
Implementación en Heroku
La aplicación Heroku joke-button está implementada en:
https://joke-button-31cddc4bc964.herokuapp.comSu endpoint MCP es:
https://joke-button-31cddc4bc964.herokuapp.com/mcpImplementa la rama actual con:
git push heroku HEAD:mainComprobación local rápida
Abre esta dirección en un navegador:
http://127.0.0.1:8787/previewEsto solo previsualiza la apariencia del botón. El botón solo puede pedir un chiste a la IA cuando se representa dentro de un host compatible con MCP Apps, como ChatGPT.
Uso con ChatGPT Desktop o ChatGPT Web
ChatGPT necesita una URL HTTPS para un servidor MCP remoto durante el desarrollo. Mantén npm start en ejecución y expón el puerto 8787 con una herramienta de túnel como ngrok o Cloudflare Tunnel.
Ejemplo con ngrok:
ngrok http 8787Copia la URL de reenvío HTTPS y añade /mcp al final, por ejemplo:
https://example.ngrok.app/mcpLuego conéctalo en ChatGPT:
Abre ChatGPT.
Abre Configuración.
Abre Seguridad e inicio de sesión.
Activa el modo Desarrollador si aún no está activado.
Abre Plugins. Si estás en la aplicación de escritorio y no lo ves en la barra lateral, abre
https://chatgpt.com/pluginsen un navegador con la misma cuenta iniciada.Selecciona el botón de más para añadir una conexión de servidor MCP de desarrollador.
Pega la URL HTTPS que termina en
/mcp.Nómbralo
Joke Button.Inicia un nuevo chat, selecciona el plugin en el menú Más y pregunta:
Show the joke button.Haz clic en
Tell a joke.
No necesitas un ajuste llamado MCP servers para esta prueba de interfaz de ChatGPT. Ese ajuste es para la configuración del host MCP local de Codex, no para añadir una conexión de plugin de desarrollador de ChatGPT.
Si falta el modo Desarrollador o el botón de más, comprueba que la aplicación de escritorio esté actualizada y que tu cuenta o espacio de trabajo permita el desarrollo de plugins.
Si la aplicación funciona, ChatGPT debería recibir el mensaje del botón y responder con un chiste corto.
Uso con Codex en la aplicación de escritorio de ChatGPT
Codex puede conectarse a servidores MCP Streamable HTTP desde los ajustes MCP compartidos.
El ajuste MCP servers solo aparece en clientes locales compatibles con Codex y puede no aparecer en la vista normal de ajustes de chat de ChatGPT. Si está disponible:
Mantén
npm starten ejecución.Abre la aplicación de escritorio de ChatGPT.
Abre Configuración y luego MCP servers.
Selecciona Añadir servidor.
Elige Streamable HTTP.
Nombra el servidor
joke_button.Usa esta URL:
http://127.0.0.1:8787/mcpGuarda y reinicia cuando se te pida.
En una tarea de Codex, escribe
/mcppara confirmar que el servidor está conectado.Pide a Codex:
Use the Joke Button MCP server.
El soporte de herramientas MCP de Codex puede mostrar el respaldo de texto en lugar de representar la interfaz iframe, según la superficie. Para la interfaz real de un solo botón, usa ChatGPT con soporte de MCP Apps UI.
Si el ajuste no es visible, copia la configuración de ejemplo de codex-config.example.toml en el .codex/config.toml de un proyecto de confianza o en tu ~/.codex/config.toml de usuario, y reinicia la aplicación de escritorio de ChatGPT o el cliente de Codex.
URLs útiles
Comprobación de estado:
http://127.0.0.1:8787/healthEndpoint MCP:
http://127.0.0.1:8787/mcpVista previa del widget:
http://127.0.0.1:8787/preview
Notas de seguridad
El servidor valida la versión del protocolo MCP y las cabeceras MCP reflejadas requeridas por el transporte Streamable HTTP 2026-07-28.
Para el desarrollo local, se aceptan solicitudes sin cabecera Origin, se aceptan orígenes de navegador de loopback y se aceptan orígenes comunes de host de OpenAI. Para otro origen de host, inicia el servidor con:
$env:MCP_ALLOWED_ORIGINS="https://your-host.example"
npm startUsa autenticación antes de exponer un servidor MCP real que pueda acceder a datos privados o realizar acciones. Este ejemplo no hace ninguna de las dos cosas.
Archivos del proyecto
server.js: servidor MCP sin dependenciaspublic/joke-button.html: widget de MCP App UIcodex-config.example.toml: configuración MCP de Codex de ejemplo
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