Pokémon MCP
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@Pokémon MCPShow me the Pokémon card for Charmander"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
Pokémon MCP
MCP server de ejemplo que expone PokéAPI como tools de ChatGPT y Cursor, con un widget visual embebido (MCP Apps).
Implementa el flujo recomendado por OpenAI: primero tools, después UI.
Demo
Conector activo en ChatGPT y petición al modelo:

Respuesta con la tarjeta visual generada por render_pokemon_widget:

Related MCP server: Pokemon MCP Server
Características
Tools read-only contra PokéAPI (
list_pokemon,get_pokemon,get_type)Patrón desacoplado: tools de datos + tool de render con
_meta.ui.resourceUriWidget inline con sprite, tipos, habilidades, stats y matchups
Dos transports: stdio (Cursor) y Streamable HTTP
/mcp(ChatGPT / Inspector)Preview local en
/previewsin depender del host
Requisitos
Node.js 18+
npm
Inicio rápido
git clone git@github.com:omy13/mcp-ui-openai-pokemon.git
cd mcp-ui-openai-pokemon
npm install
npm --prefix web install
npm run build:web # obligatorio antes de arrancar el server
npm run dev:httpComprueba el widget en http://localhost:8787/preview y el endpoint MCP en http://localhost:8787/mcp.
Importante: tras clonar el repo, ejecuta siempre
npm run build:web. El server embebeweb/dist/widget.jsen el resource HTML; sin ese build,dev:httpfallará.
Tools
Tool | Descripción | UI |
| Lista Pokémon paginados ( | No |
| Detalle por nombre o id ( | No |
| Matchups y Pokémon de un tipo | No |
| Renderiza la tarjeta visual | Sí |
Flujo recomendado en ChatGPT:
El modelo llama
get_pokemony obtienestructuredContent.Luego llama
render_pokemon_widgetcon esos campos.ChatGPT monta el iframe con el resource
ui://widget/pokemon-card.html.
Desarrollo
Preview del widget (sin ChatGPT)
npm run build:web
npm run dev:httpURL | Descripción |
Pikachu mock | |
Datos reales de PokéAPI |
Cursor (stdio)
npm run build:web
npm run devConfiguración MCP (sustituye PATH_TO_REPO por la ruta absoluta del proyecto):
{
"mcpServers": {
"pokemon-mcp": {
"command": "node",
"args": [
"./node_modules/tsx/dist/cli.mjs",
"src/index.ts"
],
"cwd": "PATH_TO_REPO"
}
}
}Si Cursor no encuentra node (común con nvm), usa la ruta absoluta del binario en command.
ChatGPT (developer mode)
Arranca el server:
npm run build:web && npm run dev:httpExpón el puerto con un túnel HTTPS, por ejemplo:
ngrok http 8787En ChatGPT: Settings → Apps & Connectors → Advanced → Developer mode
Crea un connector apuntando a
https://TU-TUNEL.ngrok.app/mcpEn un chat nuevo, activa el connector y prueba: Muestrame la carta de charmander
Docs: Connect from ChatGPT
MCP Inspector
npx @modelcontextprotocol/inspector@latest \
--server-url http://localhost:8787/mcp \
--transport httpSmoke test
npm run smokeScripts
Comando | Descripción |
| MCP por stdio (Cursor) |
| MCP HTTP en |
| Compila el widget ( |
| Widget + TypeScript → |
| Prueba rápida del cliente PokéAPI |
Estructura del proyecto
pokemon-mcp/
├── src/
│ ├── pokeapi-client.ts # Cliente HTTP a PokéAPI
│ ├── server.ts # McpServer + tools + resource
│ ├── widget-resource.ts # HTML embebido del widget
│ ├── preview-widget.ts # Datos mock para /preview
│ ├── http.ts # Transport HTTP + preview
│ └── index.ts # Transport stdio
├── web/
│ ├── src/ # Widget (TypeScript + CSS)
│ └── dist/widget.js # Bundle generado (no versionado)
└── images/ # Capturas para documentaciónVariables de entorno
Copia .env.example si necesitas overrides:
POKEAPI_BASE_URL=https://pokeapi.co/api/v2
PORT=8787Referencias
Licencia
MIT — úsalo como base para tus propios MCP servers.
This server cannot be deployed
Maintenance
Related MCP Connectors
Provide detailed Pokémon data and information through a standardized MCP interface. Enable LLMs an…
Pokemon MCP — wraps PokéAPI (free, no auth required)
Search your AI chat history (ChatGPT, Claude, Codex) from any MCP client. Remote, private, read-only
Pay-per-use tool marketplace for AI agents. Search, price-check, and call APIs via MCP.
Related MCP Servers
- AlicenseBqualityCmaintenanceEnables AI agents to access comprehensive Pokémon data through PokeAPI, including detailed Pokémon information, type effectiveness charts, encounter locations, and search capabilities. Provides a complete toolkit for retrieving stats, abilities, sprites, battle mechanics, and wild encounter data for all Pokémon.4271 npm1MIT
- FlicenseNot gradedqualityDmaintenanceEnables LLMs to fetch Pokémon data, list popular Pokémon, and build tournament squads via the PokéAPI.30-
- AlicenseBqualityDmaintenanceEmpowers AI assistants to fetch and explore comprehensive Pokémon data from PokeAPI via 47 tools covering Pokémon, moves, items, game mechanics, and more.4781 npm1ISC
- FlicenseAqualityDmaintenanceAn MCP server that exposes the PokéAPI as tools and resources, allowing AI assistants to look up Pokémon data in real time without configuration.22-