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 ENOENTno Claude Desktop, talvez seja necessário especificar o caminho completo parauvou definir a variável de ambienteNO_UV=1na 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.comget_player_stats- Obter as estatísticas de um jogador no Chess.comis_player_online- Verificar se um jogador está online no Chess.comget_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.comget_player_games_by_month- Obter as partidas de um jogador para um mês específico no Chess.comget_player_game_archives- Obter uma lista de arquivos mensais de partidas disponíveis para um jogador no Chess.comdownload_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.comget_club_members- Obter os membros de um clube no Chess.com
Licença
MIT