Chess.com MCP (interactive views)
Herramientas de jugador, partidas y rompecabezas diarios de Chess.com, donde cada herramienta incluye su propia vista interactiva de React — repeticiones de tablero y un widget de rompecabezas jugable, no solo texto. Construido con Skybridge para ChatGPT y Claude.
Documentación
Un ejemplo de referencia para crear aplicaciones MCP con vistas React interactivas — donde cada herramienta incluye su propia vista en lugar de devolver texto plano. Construido con Skybridge, busca jugadores, partidas y el puzzle diario de Chess.com, y funciona en ChatGPT y Claude.
Pruébalo
- Demo en vivo: chess.niklas.sh
- URL del servidor MCP:
https://mcp.chess.niklas.sh/mcp
Solo añade la URL del servidor MCP a cualquier cliente compatible (ChatGPT, Claude, etc.) — eso es todo. Luego pregunta cosas como "muéstrame la última partida de magnuscarlsen" o "dame el puzzle de ajedrez de hoy".
Herramientas
| Herramienta | Entrada | Descripción |
|---|---|---|
| get-chess-player | username | Perfil del jugador con valoraciones rápidas, blitz y bullet, además de registros de victorias/derrotas/empates. |
| get-last-game | username | La partida más reciente del jugador: resultado, oponente, apertura y una reproducción interactiva del tablero. |
| get-daily-puzzle | ninguna | El puzzle diario de Chess.com como tablero interactivo: resuélvelo movimiento a movimiento con retroalimentación en vivo, revela la solución o reinicia y vuelve a intentarlo. |
Primeros pasos
Requisitos previos
- Node.js 24.14.1+
- pnpm 9+
Instalación
pnpm install
Iniciar el servidor de desarrollo
pnpm dev
Esto inicia:
- El servidor MCP en
http://localhost:3000/mcp. - La interfaz de Skybridge DevTools en
http://localhost:3000.
Todos los scripts (dev, build, test, lint, typecheck) están definidos en
package.json.
Estructura del proyecto
├── src/
│ ├── server.ts # Server entry: tool definitions + analytics middleware
│ ├── chess-com.ts # Typed Chess.com API client (zod boundary + helpers)
│ ├── analytics.ts # PostHog wrapper (no-op without a key)
│ ├── helpers.ts # Typed useToolInfo / useCallTool hooks
│ ├── views/ # One React view per tool
│ │ └── shared/ # Shared view code (chess board, helpers)
│ └── index.css # Global styles
├── vite.config.ts # Vite + Skybridge + Tailwind config
├── Dockerfile # Cloud Run image
└── package.json
Pruebas
Prueba la aplicación localmente usando la interfaz de DevTools en http://localhost:3000 mientras ejecutas pnpm dev.
Las pruebas unitarias se ejecutan con Vitest: pnpm test.
Para conectarte con clientes web como ChatGPT o Claude, expón tu servidor con la bandera --tunnel (pnpm dev:tunnel). Consulta la guía de pruebas.
Despliegue y analítica
Esta aplicación se despliega en Google Cloud Run mediante release-please, y las llamadas a
herramientas pueden rastrearse con PostHog (sin efecto a menos que se configure). Consulta
docs/deployment.md para la configuración completa.
Recursos
- Documentación de Skybridge
- Documentación del SDK de Apps
- Documentación de aplicaciones MCP
- Documentación del Model Context Protocol
Licencia
El código fuente se publica bajo la Licencia Beerware.
Los iconos de piezas de ajedrez provienen del paquete "Chess" de Flaticon y se usan bajo la Licencia Gratuita de Flaticon — no están cubiertos por la licencia Beerware. Consulta NOTICE para más detalles.