Chess.com

Acesse dados de jogadores, registros de partidas e informações públicas da API de Dados Publicados do Chess.com.

Documentação

Servidor MCP do Chess.com

Um servidor Model Context Protocol (MCP) para a API de Dados Publicados do Chess.com.

Isso fornece acesso a dados de jogadores do Chess.com, registros de partidas e outras informações públicas por meio de interfaces MCP padronizadas, permitindo que assistentes de IA pesquisem e analisem informações de xadrez.

https://github.com/user-attachments/assets/3b33361b-b604-465c-9f6a-3699b6907757

Recursos

  • Acessar perfis de jogadores, estatísticas e registros de partidas
  • Buscar partidas por data e jogador
  • Verificar o status online do jogador
  • Obter informações sobre clubes e jogadores com títulos
  • Nenhuma autenticação necessária (usa a API pública do Chess.com)
  • Suporte a conteinerização com Docker
  • Fornecer ferramentas interativas para assistentes de IA

A lista de ferramentas é configurável, para que você possa escolher quais ferramentas deseja disponibilizar ao cliente MCP.

Uso

Docker (Recomendado)

A maneira mais fácil de executar o chess-mcp com Claude Desktop é usando Docker. Se você não tiver o Docker instalado, pode obtê-lo no site oficial do Docker.

Edite o arquivo de configuração do Claude Desktop:

  • Mac: ~/Library/Application Support/Claude/claude_desktop_config.json
  • Windows: %APPDATA%/Claude/claude_desktop_config.json
  • Linux: ~/.config/Claude/claude_desktop_config.json

Em seguida, adicione a seguinte configuração:

{
  "mcpServers": {
    "chess": {
      "command": "docker",
      "args": [
        "run",
        "--rm",
        "-i",
        "pab1it0/chess-mcp"
      ]
    }
  }
}

Executando com UV

Alternativamente, você pode executar o servidor diretamente usando UV. Edite o arquivo de configuração do Claude Desktop (locais listados acima) e adicione a configuração do servidor:

{
  "mcpServers": {
    "chess": {
      "command": "uv",
      "args": [
        "--directory",
        "<full path to chess-mcp directory>",
        "run",
        "src/chess_mcp/main.py"
      ]
    }
  }
}

Nota: se você vir Error: spawn uv ENOENT no Claude Desktop, talvez seja necessário especificar o caminho completo para uv ou definir a variável de ambiente NO_UV=1 na configuração.

Desenvolvimento

Contribuições são bem-vindas! Abra uma issue ou envie um pull request se tiver sugestões ou melhorias.

Este projeto usa uv para gerenciar dependências. Instale o uv seguindo as instruções para sua plataforma:

curl -LsSf https://astral.sh/uv/install.sh | sh

Você pode então criar um ambiente virtual e instalar as dependências com:

uv venv
source .venv/bin/activate  # On Unix/macOS
.venv\Scripts\activate     # On Windows
uv pip install -e .

Testes

O projeto inclui uma suíte de testes que garante a funcionalidade e ajuda a prevenir regressões.

Execute os testes com pytest:

# Install development dependencies
uv pip install -e ".[dev]"

# Run the tests
pytest

# Run with coverage report
pytest --cov=src --cov-report=term-missing

Ferramentas Disponíveis

Informações do Jogador

  • get_player_profile - Obter o perfil de um jogador no Chess.com
  • get_player_stats - Obter as estatísticas de um jogador no Chess.com
  • is_player_online - Verificar se um jogador está online no Chess.com
  • get_titled_players - Obter uma lista de jogadores com títulos do Chess.com

Partidas

  • get_player_current_games - Obter as partidas em andamento de um jogador no Chess.com
  • get_player_games_by_month - Obter as partidas de um jogador para um mês específico no Chess.com
  • get_player_game_archives - Obter uma lista de arquivos mensais de partidas disponíveis para um jogador no Chess.com
  • download_player_games_pgn - Baixar arquivos PGN de todas as partidas de um mês específico do Chess.com

Clubes

  • get_club_profile - Obter informações sobre um clube no Chess.com
  • get_club_members - Obter os membros de um clube no Chess.com

Licença

MIT