Chess.com

Accede a datos de jugadores, registros de partidas e información pública desde la API de Datos Publicados de Chess.com.

Documentación

Servidor MCP de Chess.com

Un servidor Model Context Protocol (MCP) para la API de Datos Publicados de Chess.com.

Esto proporciona acceso a los datos de jugadores de Chess.com, registros de partidas y otra información pública a través de interfaces MCP estandarizadas, lo que permite a los asistentes de IA buscar y analizar información de ajedrez.

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

Características

  • Accede a perfiles de jugadores, estadísticas y registros de partidas
  • Busca partidas por fecha y jugador
  • Comprueba el estado en línea de los jugadores
  • Obtén información sobre clubes y jugadores con títulos
  • No se requiere autenticación (usa la API pública de Chess.com)
  • Soporte de contenedores Docker
  • Proporciona herramientas interactivas para asistentes de IA

La lista de herramientas es configurable, por lo que puedes elegir qué herramientas quieres poner a disposición del cliente MCP.

Uso

Docker (Recomendado)

La forma más fácil de ejecutar chess-mcp con Claude Desktop es usando Docker. Si no tienes Docker instalado, puedes obtenerlo desde el sitio web oficial de Docker.

Edita tu archivo de configuración de 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

Luego añade la siguiente configuración:

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

Ejecutar con UV

Alternativamente, puedes ejecutar el servidor directamente usando UV. Edita tu archivo de configuración de Claude Desktop (ubicaciones listadas arriba) y añade la configuración del servidor:

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

Nota: si ves Error: spawn uv ENOENT en Claude Desktop, es posible que necesites especificar la ruta completa a uv o establecer la variable de entorno NO_UV=1 en la configuración.

Desarrollo

¡Las contribuciones son bienvenidas! Abre un issue o envía un pull request si tienes sugerencias o mejoras.

Este proyecto usa uv para gestionar dependencias. Instala uv siguiendo las instrucciones para tu plataforma:

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

Luego puedes crear un entorno virtual e instalar las dependencias con:

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

Pruebas

El proyecto incluye un conjunto de pruebas que garantiza la funcionalidad y ayuda a prevenir regresiones.

Ejecuta las pruebas con pytest:

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

# Run the tests
pytest

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

Herramientas Disponibles

Información del Jugador

  • get_player_profile - Obtén el perfil de un jugador de Chess.com
  • get_player_stats - Obtén las estadísticas de un jugador de Chess.com
  • is_player_online - Comprueba si un jugador está actualmente en línea en Chess.com
  • get_titled_players - Obtén una lista de jugadores con títulos de Chess.com

Partidas

  • get_player_current_games - Obtén las partidas en curso de un jugador en Chess.com
  • get_player_games_by_month - Obtén las partidas de un jugador para un mes específico de Chess.com
  • get_player_game_archives - Obtén una lista de archivos de partidas mensuales disponibles para un jugador en Chess.com
  • download_player_games_pgn - Descarga archivos PGN de todas las partidas de un mes específico de Chess.com

Clubes

  • get_club_profile - Obtén información sobre un club en Chess.com
  • get_club_members - Obtén los miembros de un club en Chess.com

Licencia

MIT