Joke Button MCP Server
Приложение MCP Joke Button
Этот проект — крошечный MCP-сервер, который предоставляет один UI-элемент MCP App: единственную кнопку. При нажатии на кнопку приложение отправляет сообщение хосту с просьбой к ассистенту ответить одной короткой семейной шуткой.
В нём намеренно используются только встроенные модули Node.js. Зависимостей от сторонних пакетов во время выполнения нет.
Что он демонстрирует
Версию основного протокола MCP
2026-07-28Stateless Streamable HTTP на одной конечной точке:
/mcpserver/discover,tools/list,tools/call,resources/listиresources/readМетаданные ресурсов UI MCP Apps с
_meta.ui.resourceUriВиджет
text/html;profile=mcp-app, совместимый с песочницейui/initializeиui/messageчерезpostMessage
Related MCP server: Jokes MCP Server
Требования
Установите Node.js версии 20 или новее с nodejs.org. Подойдёт и LTS-версия.
Вам не нужно запускать npm install; в этом проекте нет сторонних библиотек.
Запуск сервера
Откройте терминал в этой папке и выполните:
npm startВы должны увидеть:
MCP Joke Button server listening on http://127.0.0.1:8787/mcp
Preview the widget shell at http://127.0.0.1:8787/previewОставьте этот терминал открытым, пока тестируете.
Пока сервер работает, MCP-запросы логируются по методам. Для интерактивного рендеринга приложения в логе должно быть успешное чтение ресурса UI, примерно такое:
[mcp] request method=resources/read name=ui://joke-button/app.html
[mcp] response method=resources/read status=200Установите MCP_LOG_REQUESTS=false, если хотите отключить эти журналы разработки.
Развёртывание на Heroku
Приложение Heroku joke-button развёрнуто по адресу:
https://joke-button-31cddc4bc964.herokuapp.comЕго MCP-конечная точка:
https://joke-button-31cddc4bc964.herokuapp.com/mcpРазверните текущую ветку командой:
git push heroku HEAD:mainБыстрая локальная проверка
Откройте этот адрес в браузере:
http://127.0.0.1:8787/previewЗдесь только предпросмотр внешнего вида кнопки. Кнопка может попросить ИИ рассказать шутку только тогда, когда она отображается внутри хоста, совместимого с MCP Apps, например ChatGPT.
Использование с ChatGPT Desktop или ChatGPT Web
Во время разработки ChatGPT требуется HTTPS-URL для удалённого MCP-сервера. Держите npm start запущенным, затем откройте порт 8787 с помощью туннельного инструмента, такого как ngrok или Cloudflare Tunnel.
Пример с ngrok:
ngrok http 8787Скопируйте HTTPS-URL пересылки и добавьте в конец /mcp, например:
https://example.ngrok.app/mcpЗатем подключите его в ChatGPT:
Откройте ChatGPT.
Откройте «Настройки».
Откройте «Безопасность и вход».
Включите режим разработчика, если он ещё не включён.
Откройте «Плагины». Если вы в десктопном приложении и не видите его в боковой панели, откройте
https://chatgpt.com/pluginsв браузере, войдя в ту же учётную запись.Нажмите кнопку «плюс», чтобы добавить подключение к MCP-серверу разработчика.
Вставьте HTTPS-URL, оканчивающийся на
/mcp.Назовите его
Joke Button.Начните новый чат, выберите плагин в меню «Ещё» и спросите:
Show the joke button.Нажмите
Tell a joke.
Для этого теста UI в ChatGPT вам не нужна настройка MCP servers. Эта настройка предназначена для локальной конфигурации MCP-хоста Codex, а не для добавления подключения плагина разработчика ChatGPT.
Если режим разработчика или кнопка «плюс» отсутствуют, проверьте, что десктопное приложение обновлено и что ваша учётная запись или рабочее пространство разрешает разработку плагинов.
Если приложение работает, ChatGPT должен получить сообщение от кнопки и ответить короткой шуткой.
Использование с Codex в десктопном приложении ChatGPT
Codex может подключаться к Streamable HTTP MCP-серверам из общих настроек MCP.
Настройка MCP servers появляется только в локальных клиентах с поддержкой Codex и может не отображаться в обычном представлении настроек чата ChatGPT. Если она доступна:
Держите
npm startзапущенным.Откройте десктопное приложение ChatGPT.
Откройте «Настройки», затем «MCP servers».
Выберите «Add server».
Выберите «Streamable HTTP».
Назовите сервер
joke_button.Используйте этот URL:
http://127.0.0.1:8787/mcpСохраните, затем перезапустите, когда будет предложено.
В задаче Codex введите
/mcp, чтобы убедиться, что сервер подключён.Спросите Codex:
Use the Joke Button MCP server.
Поддержка инструментов MCP в Codex может показывать текстовый запасной вариант вместо рендеринга iframe-интерфейса, в зависимости от поверхности. Для фактического интерфейса с одной кнопкой используйте ChatGPT с поддержкой UI MCP Apps.
Если настройка не видна, скопируйте пример конфигурации из codex-config.example.toml в .codex/config.toml доверенного проекта или в ваш пользовательский ~/.codex/config.toml, затем перезапустите десктопное приложение ChatGPT или клиент Codex.
Полезные URL
Проверка работоспособности:
http://127.0.0.1:8787/healthMCP-конечная точка:
http://127.0.0.1:8787/mcpПредпросмотр виджета:
http://127.0.0.1:8787/preview
Замечания по безопасности
Сервер проверяет версию протокола MCP и зеркальные MCP-заголовки, требуемые транспортом Streamable HTTP версии 2026-07-28.
Для локальной разработки принимаются запросы без заголовка Origin, принимаются источники браузера с loopback-адреса, а также распространённые источники хостов OpenAI. Для другого источника хоста запустите сервер с:
$env:MCP_ALLOWED_ORIGINS="https://your-host.example"
npm startИспользуйте аутентификацию перед тем, как открывать доступ к реальному MCP-серверу, который может обращаться к приватным данным или выполнять действия. Этот пример не делает ни того, ни другого.
Файлы проекта
server.js: MCP-сервер без зависимостейpublic/joke-button.html: виджет UI MCP Appcodex-config.example.toml: пример конфигурации MCP для Codex
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