# Chessagine

Analyze chess positions using powerful engines like Stockfish, Leela, and Maia. Retrieve games, puzzles, and opening statistics directly from Lichess and specialized databases. Visualize moves and ga…

## Quick Start

```bash
# Connect this server (installs CLI if needed)
npx -y @smithery/cli@latest mcp add jalpp/chessagine

# Browse available tools
npx -y @smithery/cli@latest tool list jalpp/chessagine

# Get full schema for a tool
npx -y @smithery/cli@latest tool get jalpp/chessagine get-lichess-master-games

# Call a tool
npx -y @smithery/cli@latest tool call jalpp/chessagine get-lichess-master-games '{}'
```

## Direct MCP Connection

Endpoint: `https://chessagine--jalpp.run.tools`

## Tools (37)

- `get-lichess-master-games` — Fetch master-level games and opening statistics from Lichess for a given position
- `get-lichess-games` — Fetch Lichess user games and opening statistics for a given position
- `fetch-lichess-games` — Fetch the 20 most recent games for a Lichess user. Returns game details including player information, ratings, speed fo…
- `fetch-lichess-game` — Fetch a specific Lichess game in PGN format. Accepts either a full Lichess URL or a game ID. Returns the complete PGN n…
- `fetch-chess-puzzle` — Fetch a random chess puzzle from Lichess database. Can filter by themes and rating range. Use this to start a puzzle se…
- `get-lichess-username` — Get the lichess username of current mcp user
- `fetch-lichess-studies` — Fetch all studies for a given Lichess user. Returns a list of studies with their IDs, names, and timestamps. Requires e…
- `fetch-lichess-study-pgn` — Fetch a specific Lichess study in PGN format. Returns all chapters of the study as PGN. Requires either LICHESS_STUDY_T…
- `render_chess_board` — Render an interactive chess board with the given position. Shows the board visually for a single position. Use this for…
- `render_pgn_viewer` — Render an interactive PGN game viewer that allows navigating through chess game moves. Use this for displaying complete…
- `is-legal-move` — Check if a given move is legal for the provided FEN position
- `get-boardstate-for-move` — Given a FEN and a move, returns a string describing the resulting board state after the move
- `get-boardstate-for-fen` — Given a FEN, returns a string describing the resulting board state for that FEN
- `get-chessboardmagic-repertoires` — Fetch user's chess repertoires from the Chessboard Magic Repertoire Builder
- `get-chessboardmagic-games` — Fetch user's chess games from the Chessboard Magic Repertoire Builder
- `get-chessboardmagic-game-details` — Fetch user's single game's metadata, moves, tags, variations and comment links
- `get-chessboardmagic-repertoire-details` — Fetch user's single repertoire metadata, moves, variations and comment links
- `get-chessboardmagic-tcec-stats` — Fetch TCEC (Top Chess Engine Championship) statistics for a specific chess position
- `get-chessboardmagic-tcec-games` — Fetch TCEC games that reached a specific chess position
- `get-chessboardmagic-corr-stats` — Fetch correspondence chess statistics for a specific chess position
- `get-chessboardmagic-corr-games` — Fetch correspondence chess games that reached a specific chess position
- `get-stockfish-analysis` — Analyze a chess position using Stockfish 18 Multi-threated Lite WASM engine
- `fen-openingbook-lookup` — Look up a fen in 12k positions of opening book to get name, moves information for fen
- `get-stockfish-best-move` — Find the best move in a chess position using Stockfish 18 Multi-threated Lite WASM engine
- `get-stockfish-multipv-analysis` — Analyze a chess position and get multiple best move candidates with Stockfish 18 Multi-threated Lite WASM engine
- `get-stockfish-batch-analysis` — Analyze multiple chess positions in batch using Stockfish 18 Multi-threated Lite WASM engine
- `get-chess-knowledgebase` — Returns a comprehensive chess knowledgebase including Silman Imbalances, Fine's 30 chess principles, endgame principles…
- `get-chessagine-stater-prompts` — List all available chess analysis prompt categories with their example prompts
- `get-puzzle-themes` — Get a list of all available puzzle themes that can be used to filter puzzles
- `parse-pgn-into-fens` — Collect a fen list of given game pgn
- `get-fen-map-lookup` — Lookup fens for mapped SAN move, for given game PGN
- `get-chessdb-analysis` — Fetch position analysis and candidate moves from ChessDB
- `get-chessdb-pv` — Fetch the principal variation (best line) for a position from ChessDB
- `queue-chessdb-analysis` — Queue a chess position for background analysis on ChessDB
- `get-maia2-analysis` — Analyze chess position using Maia2 neural network trained on human games at specific rating levels. Provides human-like…
- `get-leela-analysis` — Analyze chess position using Leela Chess Zero neural network. Provides strong tactical analysis with neural network eva…
- `get-elite-leela-analysis` — Analyze chess position using Elite Leela Chess Zero with enhanced evaluation. Provides top-level computer analysis with…

```bash
# Get full input/output schema for a tool
npx -y @smithery/cli@latest tool get jalpp/chessagine <tool-name>
```

## Resources

- `ui://chessagine/chess-board` — Interactive chess board visualization for single positions
- `ui://chessagine/pgn-viewer` — Interactive PGN game viewer with move navigation and analysis
