I built Chess Rocket, a chess tutoring system that works by exposing a full chess toolkit to Claude through MCP. Instead of hard-coding coaching logic, Claude reasons about positions using real tools. Here’s what the MCP server exposes:
new_gameandmake_movefor game stateanalyze_positioncalling Stockfish for centipawn evaluationget_opening_infopulling from 3,627 Lichess openingsget_puzzlesfor tactical trainingreview_mistakesusing SM-2 spaced repetitionset_difficultywith a custom Elo blend from 100 to 3500 During a session, Claude callsanalyze_position, reads the eval, checks which opening you’re in, looks at your mistake history, and coaches based on all of that. It’s not chatting about chess in the abstract. It has the actual position data. The Elo difficulty was the hardest part. Below 1320, Stockfish’s native skill levels aren’t granular enough, so I built a linear blend that mixes full-depth Stockfish with random legal moves. Elo 100 is nearly random. Elo 1320 is pure Stockfish Skill 0. Above that, native UCI settings take over up to 3500. The prompt gives Claude three coaching lenses: strategy (GM-level position reading), pacing (session load, when to stop pushing), and motivation (keeping frustration in check). They’re not separate agents, just structured perspectives within the same conversation. Stack: Python 3.10+, FastMCP, Stockfish, SQLite, uv. Web dashboard at localhost:8088 with an interactive board. GitHub: https://github.com/suvojit-0x55aa/chess_rocket Anyone else done chess stuff with MCP? I feel like there’s a lot of unexplored territory here. submitted by /u/shinx32
Originally posted by u/shinx32 on r/ClaudeCode
You must log in or # to comment.
