ai-chess
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@ai-chessstart a new chess game at 1600 elo and show me the board"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
♟️ AI Chess — MCP Ready
Juega al ajedrez contra Stockfish 16 desde terminal o desde cualquier agente compatible con MCP.
¿Eres un agente? Lee
docs/AGENTS.md: conexión en Claude Desktop, receta de entrenamiento y catálogo esencial para modelos pequeños.
En 30 segundos
> e4
🎓 ✅ bien (12cp): Buena jugada e4.
> hint
💡 Nivel 1: Controla el centro y coordina tus piezas antes de atacar.Demo completa con imágenes: docs/DEMO.md. Ficha para
directorios: docs/SHOWCASE.md.
![]()
Splash de carga:
assets/splash.png(originales en raíz:aichess.png,aichesssplashscreen.png). Nota: los PNG son JPEG renombrados (1024x1024 icono, 1024x572 splash). Para GUI futura renombrar a.jpgo reconvertir.
Related MCP server: Chess MCP Server
Requisitos
Python 3.10+ (probado en 3.13.3)
Stockfish 12+ (
sudo apt install stockfish;UCI_Elorequiere 12+. Si está en otra ruta o con otro gestor, defineSTOCKFISH_PATH=/ruta/a/stockfish— imprescindible con clientes MCP de PATH reducido como Claude Desktop)Para PNG:
libcairo2a nivel de sistema (sudo apt install libcairo2)venv + pip
Instalación
git clone https://github.com/kayab999/AIChess && cd AIChess
python3 -m venv .venv
.venv/bin/pip install -r requirements.txt
# suite de regresión (37+ tests):
.venv/bin/pip install -r requirements-dev.txt && .venv/bin/python -m pytest tests/ -qTest rápido (sin MCP)
.venv/bin/python cli_test.pyComandos: e4, Nf3, e2e4, O-O | hint [1|2|3] | explain | coach on/off | pgn | save [ruta] | load <ruta> | games | status | moves | analyze | undo | resign | quit
Uso como servidor MCP (stdio, SDK 2.x)
.venv/bin/python chess_mcp_server.pyRegistro en cliente MCP (Claude Desktop / genérico):
{
"mcpServers": {
"ai-chess": {
"command": "/ruta/a/AIChess/.venv/bin/python",
"args": ["/ruta/a/AIChess/chess_mcp_server.py"],
"env": { "STOCKFISH_PATH": "/usr/games/stockfish" }
}
}
}Herramientas
Herramienta | Descripción |
| Nueva partida (1320-3190) |
| Nueva partida contra una personalidad (fija su ELO) |
| Juega en SAN o UCI, el bot responde |
| Tablero Unicode; |
| Turno, jaque, resultado, historial |
| Legales en SAN |
| Deshace la última ronda (reabre tras mate/abandono) |
| Abandona (0-1) |
| Reclama tablas (triple repetición / 50 jugadas) |
| Evaluación + mejor jugada |
| Pista 1=idea, 2=zona, 3=exacta (auto-escala) |
| Veredicto + pérdida + consejo última jugada |
| Contexto + prompt para que tu LLM redacte el consejo (no llama a ningún LLM) |
| Colgadas, desarrollo, seguridad rey |
| Activa/desactiva feedback automático |
| Partida actual en PGN estándar |
| Guarda en |
| Carga PGN de |
| Lista partidas en |
| Tablero 2D SVG en |
| Guarda SVG en ruta dada o auto-nombre |
| Tablero PNG en |
| Guarda PNG en ruta dada o auto-nombre |
| Visor HTML (splash + tablero + coach) en |
| 15 personalidades: arquetipos + leyendas |
| Cambia de rival e inicia partida |
| Qué jugaron Fischer/Tal en la posición actual |
| Nombre ECO + líneas de las leyendas |
| Busca clásicas por jugador |
| 4 estilos 3D disponibles |
| Visor 3D animado en |
El usuario juega blancas, el bot negras. ELO default 1600. Coach activo por defecto.
El ELO es real: escala el muestreo con estilo (temperature/blunder), porque
Stockfish ignora UCI_Elo en análisis MultiPV. Invariante de estado: result
solo existe en partida terminada; undo/load/claim la reconcilian siempre.
Modo entrenador 🎓
Tras cada make_move: ✅ bien / ⚠️ imprecisión (<70cp) / ❌ error (<180cp) / 💥 blunder / 💀 grave + motivo (colgada, sin desarrollar, rey expuesto). Latencia extra ~0.6s (2x análisis acotado time=0.3 depth=10).
Estructura
coach.py # Detección + clasificación + hints (sin motor)
personalities.py # 15 perfiles estilo The King + muestreo con estilo
eco.py # Tabla ECO manual (~30 aperturas)
history.py # Índice de 162 clásicas CC0 (Fischer 60 + Tal 102)
fetch_classics.py # Descarga data/classics/ (reproducible)
viewer3d.py # Genera el visor 3D con la partida embebida
assets3d/ # three.js vendorizado + pieces.js + board3d.js + plantilla
chess_engine.py # Núcleo python-chess + Stockfish (sin MCP)
chess_mcp_server.py # MCPServer 2.x, 29 tools, stdio (claim_draw incluido)
tournament.py # Round-robin entre personalidades
cli_test.py # CLI con banner + referencia a splash/icono
games/ # Partidas PGN guardadas
boards/ # Tableros SVG generadosTablero ANSI 🎨
CLI a color por defecto (solo si la terminal lo soporta). Última jugada en amarillo, rey en jaque en rojo. Comandos color on/off. MCP devuelve plano por defecto para no romper agentes; pide get_board(color=true) para ANSI. Respeta NO_COLOR=1.
Tablero 2D 🖼️
SVG vectorial sin dependencias nuevas (chess.svg). Última jugada en amarillo, jaque resaltado, orientación blancas/negras. CLI: svg [blancas|negras]. MCP devuelve la ruta en boards/. Nombres con microsegundos (sin colisiones).
Tablero PNG 🖼️
Raster vía cairosvg (requiere pip install -r requirements.txt) desde el mismo SVG: cero divergencia visual. 960px por defecto (256-2048). CLI: png [blancas|negras] [tamaño]. MCP devuelve la ruta en boards/.
Visor HTML 🌐
Monofichero boards/viewer.html (~500 KB, autocontenido: splash + icono en base64, SVG inline). Splash a pantalla completa 1.5s, favicon del proyecto, panel con turno/estado/ELO/jugadas/coach. Auto-refresh 5s (configurable, 0 = off). CLI: viewer [refresh]. Flujo en vivo: abre el HTML y regenera tras cada jugada.
Personalidades 🎭
Fiel a The King (Chessmaster): King Safety, Mobility, Randomness y valores de piezas, más repertorios de apertura. 7 arquetipos (club default ELO 1600, novato, stanley homenaje al chimpancé aleatorio de CM9000, vikingo, muro, profesor, maestro) + 8 leyendas (alekhine, fischer, botvinnik — el trío canónico del match CM9000 vs Christiansen 2002 — más karpov, kasparov, capablanca, tal, carlsen).
CLI: personalities (lista) · personality <key> (cambia de rival). Torneo:
.venv/bin/python tournament.py --players vikingo,muro,profesor --games 2 --time 0.2Visor 3D 🧊
Three.js r128 vendorizado en assets3d/ (offline, file://). Piezas paramétricas FIDE (torno LatheGeometry + remates) en 4 estilos: clasico (Staunton madera), antiguo (Lewis marfil/rojo, peones losa), cyberpunk (neón translúcido + grid), wizard (piedra rúnica, chispas, balanceo). Replay animado de la partida al cargar (arco, capturas, coronación), jaque pulsante, órbita con zoom. CLI: 3d [clasico|antiguo|cyberpunk|wizard].
Base histórica 📜
162 clásicas CC0 commiteadas en data/ (Fischer 60 + Tal 102; .venv/bin/python fetch_classics.py para re-descargar). history.py indexa todas las posiciones; el coach cita automáticamente ("Fischer jugó e4 aquí, Mar del Plata 1959"). CLI: history (citas) · opening (ECO + líneas legendarias).
Roadmap
MVP jugable + MCP stdio
Modo entrenador (feedback + hints 3 niveles)
Colores ANSI
PGN (exportar/guardar/cargar/listar)
Tablero gráfico 2D (SVG)
PNG raster (cairosvg, 960px default)
Visor HTML con splash (auto-refresh)
Personalidades Chessmaster + torneo
Base PGN histórica (Fischer + Tal, citas + ECO)
Piezas 3D (4 estilos, Three.js animado)
This server cannot be deployed
Maintenance
Related MCP Connectors
Persistent memory, knowledge graph, task management and more for AI agents via MCP.
Provide detailed Pokémon data and information through a standardized MCP interface. Enable LLMs an…
MCP server exposing the Backtest360 engine API as tools for AI agents.
Hosted MCP for e-commerce: live product catalog, stock, and pricing for AI agents.
Related MCP Servers
- FlicenseAqualityDmaintenanceEnables chess gameplay and interaction through MCP protocol. Allows users to play chess games, make moves, and manage chess sessions through natural language commands.2-
- AlicenseNot gradedqualityDmaintenanceEnables playing chess games with legal move validation and AI opponent moves powered by the Stockfish engine. Supports multiple concurrent games and provides moves in UCI format.MIT
- FlicenseBqualityDmaintenanceEnables AI assistants to play, analyze, and track chess games with full rule validation and support for standard algebraic notation. It provides tools for position evaluation and game state persistence during user sessions.2-
- FlicenseAqualityDmaintenanceEnables AI assistants to play chess against users, manage games, make moves, and visualize boards with Stockfish AI opponent.81-