Chess.com MCP (interactive views)
Ferramentas de jogador, partida e quebra-cabeça diário do Chess.com, onde cada ferramenta vem com sua própria visualização interativa em React — replay de tabuleiro e um widget de quebra-cabeça jogável, não apenas texto. Construído com Skybridge para ChatGPT e Claude.
Documentação
Um exemplo de referência para construir apps MCP com visualizações React interativas — onde cada ferramenta vem com sua própria visualização em vez de retornar texto simples. Construído com Skybridge, ele consulta jogadores do Chess.com, partidas e o quebra-cabeça diário, e roda no ChatGPT e no Claude.
Experimente
- Demonstração ao vivo: chess.niklas.sh
- URL do servidor MCP:
https://mcp.chess.niklas.sh/mcp
Basta adicionar a URL do servidor MCP a qualquer cliente compatível (ChatGPT, Claude, etc.) — é isso. Depois, faça perguntas como "mostre a última partida de magnuscarlsen" ou "me dê o quebra-cabeça de xadrez de hoje".
Ferramentas
| Ferramenta | Entrada | Descrição |
|---|---|---|
| get-chess-player | username | Perfil do jogador com classificações rápidas, blitz e bullet, além de registros de vitórias, derrotas e empates. |
| get-last-game | username | A partida mais recente do jogador — resultado, oponente, abertura e um replay interativo do tabuleiro. |
| get-daily-puzzle | nenhuma | O quebra-cabeça diário do Chess.com como um tabuleiro interativo: resolva movimento por movimento com feedback ao vivo, revele a solução ou reinicie e tente novamente. |
Começando
Pré-requisitos
- Node.js 24.14.1+
- pnpm 9+
Instalação
pnpm install
Inicie o servidor de desenvolvimento
pnpm dev
Isso inicia:
- O servidor MCP em
http://localhost:3000/mcp. - A interface Skybridge DevTools em
http://localhost:3000.
Todos os scripts (dev, build, test, lint, typecheck) estão definidos em
package.json.
Estrutura do Projeto
├── 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
Testes
Teste o app localmente usando a interface DevTools em http://localhost:3000 enquanto executa pnpm dev.
Os testes unitários são executados com Vitest: pnpm test.
Para conectar com clientes web como ChatGPT ou Claude, exponha seu servidor com a flag --tunnel (pnpm dev:tunnel). Consulte o guia de testes.
Implantação e Análises
Este app é implantado no Google Cloud Run via release-please, e as chamadas de ferramentas podem ser
rastreadas com PostHog (sem efeito, a menos que configurado). Consulte
docs/deployment.md para a configuração completa.
Recursos
- Documentação do Skybridge
- Documentação do Apps SDK
- Documentação do MCP Apps
- Documentação do Model Context Protocol
Licença
O código-fonte é distribuído sob a Licença Beerware.
Os ícones de peças de xadrez são do "Chess" pack no Flaticon e são usados sob a Licença Gratuita do Flaticon — eles não são cobertos pela licença Beerware. Consulte NOTICE para detalhes.