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

chess-mcp demo

Skybridge Live demo License: Beerware

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".

Solving the daily puzzle in Claude

Ferramentas

FerramentaEntradaDescrição
get-chess-playerusernamePerfil do jogador com classificações rápidas, blitz e bullet, além de registros de vitórias, derrotas e empates.
get-last-gameusernameA partida mais recente do jogador — resultado, oponente, abertura e um replay interativo do tabuleiro.
get-daily-puzzlenenhumaO 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

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.