MCP 服务器

Chessigma

com.chessigma/chessigma
教育 游戏 公开且可连接 MCP 2025-11-25

此 MCP 可以做什么

Provides chess opening guides, position and PGN checks, daily puzzles, Elo estimates and links to browser-based game analysis.

analyze_game
Analyze Game
Summarize a chess game given as a PGN or as plain SAN movetext: players, result, number of plies, the opening and how long it followed theory, how the game ended (checkmate, stalemate, draw by rule, or unfinished or resigned) and the final position. Returns a link that opens the whole game on the chessigma.com analysis board, where the Stockfish engine runs in the user's browser, and, when the PGN's Link or Site tag is a Chess.com live game or a Lichess game, a link to that game's move-by-move review. It never evaluates moves itself and stores nothing.
只读 幂等
输入模式
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['pgn'], 'properties': {'pgn': {'type': 'string', 'maxLength': 20000, 'minLength': 1, 'description': 'The game as PGN, or SAN movetext such as "1. e4 e5 2. Nf3".'}}, 'additionalProperties': False}
输出模式
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['white', 'black', 'result', 'plies', 'opening', 'ending', 'finalFen', 'analysisUrl', 'reviewUrl', 'note'], 'properties': {'note': {'type': 'string'}, 'black': {'type': ['string', 'null']}, 'plies': {'type': 'integer'}, 'white': {'type': ['string', 'null']}, 'ending': {'enum': ['checkmate', 'stalemate', 'draw_by_rule', 'unfinished_or_resigned'], 'type': 'string'}, 'result': {'type': 'string'}, 'opening': {'anyOf': [{'type': 'object', 'required': ['eco', 'name', 'bookPlies'], 'properties': {'eco': {'type': 'string'}, 'name': {'type': 'string'}, 'bookPlies': {'type': 'integer'}}, 'additionalProperties': False}, {'type': 'null'}]}, 'finalFen': {'type': 'string'}, 'reviewUrl': {'type': ['string', 'null']}, 'analysisUrl': {'type': ['string', 'null']}}, 'additionalProperties': False}
analyze_position
Analyze Position
Read a chess position from a FEN and return facts computed by the rules alone: side to move, status (normal, check, checkmate, stalemate or insufficient material), every legal move in SAN, the material count (pawn 1, knight 3, bishop 3, rook 5, queen 9) and the opening name when the position is a catalogued opening. This tool does not evaluate the position and does not choose a best move: the Stockfish engine runs in the user's browser at the returned analysisUrl (full analysis board) and bestMoveUrl (best move finder) on chessigma.com.
只读 幂等
输入模式
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['fen'], 'properties': {'fen': {'type': 'string', 'maxLength': 100, 'minLength': 10, 'description': 'The position in FEN. The two move counters may be omitted.'}}, 'additionalProperties': False}
输出模式
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['fen', 'sideToMove', 'status', 'legalMoves', 'material', 'opening', 'analysisUrl', 'bestMoveUrl'], 'properties': {'fen': {'type': 'string'}, 'status': {'enum': ['normal', 'check', 'checkmate', 'stalemate', 'insufficient_material'], 'type': 'string'}, 'opening': {'anyOf': [{'type': 'object', 'required': ['eco', 'name'], 'properties': {'eco': {'type': 'string'}, 'name': {'type': 'string'}}, 'additionalProperties': False}, {'type': 'null'}]}, 'material': {'type': 'object', 'required': ['white', 'black', 'balance'], 'properties': {'black': {'type': 'number'}, 'white': {'type': 'number'}, 'balance': {'type': 'number'}}, 'additionalProperties': False}, 'legalMoves': {'type': 'array', 'items': {'type': 'string'}}, 'sideToMove': {'enum': ['white', 'black'], 'type': 'string'}, 'analysisUrl': {'type': 'string'}, 'bestMoveUrl': {'type': 'string'}}, 'additionalProperties': False}
calculate_elo
Calculate Elo
Estimate a player's new Elo rating after a single game with the Elo formula. Pure arithmetic, no chess engine. The system field picks a K-factor default for FIDE, Chess.com or Lichess, but the result is an Elo estimate: Chess.com and Lichess use Glicko ratings, so their real rating changes differ.
只读 幂等
输入模式
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['yourRating', 'opponentRating', 'result'], 'properties': {'result': {'enum': ['win', 'draw', 'loss'], 'type': 'string'}, 'system': {'enum': ['fide', 'chesscom', 'lichess'], 'type': 'string', 'default': 'fide'}, 'kFactor': {'type': 'integer', 'maximum': 100, 'minimum': 1}, 'yourRating': {'type': 'integer', 'maximum': 4000, 'minimum': 100}, 'opponentRating': {'type': 'integer', 'maximum': 4000, 'minimum': 100}}, 'additionalProperties': False}
输出模式
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['yourRating', 'opponentRating', 'result', 'system', 'kFactor', 'expectedScore', 'newRating', 'change', 'calculatorUrl'], 'properties': {'change': {'type': 'number'}, 'result': {'enum': ['win', 'draw', 'loss'], 'type': 'string'}, 'system': {'enum': ['fide', 'chesscom', 'lichess'], 'type': 'string'}, 'kFactor': {'type': 'number'}, 'newRating': {'type': 'number'}, 'yourRating': {'type': 'number'}, 'calculatorUrl': {'type': 'string'}, 'expectedScore': {'type': 'number'}, 'opponentRating': {'type': 'number'}}, 'additionalProperties': False}
get_daily_puzzle
Get Daily Puzzle
Get Chessigma's daily chess puzzle: today's by default, or a past day's via date (YYYY-MM-DD, from 2024-01-01 to today in UTC). The position (fen) is given with the solver to move, after the opponent's last move. The solution is in SAN, with the solver's moves at even indexes and the opponent's replies at odd ones. Do not reveal the solution unless the user asks for it. If today's puzzle is not out yet, the latest one is returned: check date. playUrl opens the puzzle on chessigma.com.
只读 幂等
输入模式
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {'date': {'type': 'string', 'pattern': '^\\d{4}-\\d{2}-\\d{2}$', 'description': 'A day from 2024-01-01 to today (UTC). Omit for today.'}}, 'additionalProperties': False}
输出模式
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['date', 'puzzleId', 'fen', 'sideToMove', 'opponentLastMove', 'rating', 'themes', 'solution', 'playUrl'], 'properties': {'fen': {'type': 'string'}, 'date': {'type': 'string'}, 'rating': {'type': 'number'}, 'themes': {'type': 'array', 'items': {'type': 'string'}}, 'playUrl': {'type': 'string'}, 'puzzleId': {'type': 'string'}, 'solution': {'type': 'array', 'items': {'type': 'string'}}, 'sideToMove': {'enum': ['white', 'black'], 'type': 'string'}, 'opponentLastMove': {'type': 'string'}}, 'additionalProperties': False}
get_opening_guide
Opening Guide
Look up a chess opening by name or slug (for example "London System", "Caro-Kann" or "sicilian-defense") and return Chessigma's guide to it: the main line in SAN, a short summary, up to four key variations with the idea behind each, the strategy for each side, strengths and weaknesses. Full guides exist for 18 popular openings; any of about 3,700 catalogued opening names returns its name, ECO code and moves. When nothing matches, found is false and suggestions lists close names. Links open the opening's trainer and the analysis board on chessigma.com.
只读 幂等
输入模式
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['opening'], 'properties': {'opening': {'type': 'string', 'maxLength': 80, 'minLength': 2, 'description': 'Opening name or slug, e.g. "London System", "caro-kann", "Sicilian Najdorf".'}}, 'additionalProperties': False}
输出模式
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['found', 'name', 'eco', 'mainLine', 'summary', 'variations', 'ideas', 'strengths', 'weaknesses', 'trainerUrl', 'analysisUrl', 'suggestions'], 'properties': {'eco': {'type': ['string', 'null']}, 'name': {'type': ['string', 'null']}, 'found': {'type': 'boolean'}, 'ideas': {'anyOf': [{'type': 'object', 'required': ['white', 'black'], 'properties': {'black': {'type': 'string'}, 'white': {'type': 'string'}}, 'additionalProperties': False}, {'type': 'null'}]}, 'summary': {'type': ['string', 'null']}, 'mainLine': {'type': ['string', 'null']}, 'strengths': {'type': 'array', 'items': {'type': 'string'}}, 'trainerUrl': {'type': ['string', 'null']}, 'variations': {'type': 'array', 'items': {'type': 'object', 'required': ['name', 'moves', 'idea'], 'properties': {'idea': {'type': 'string'}, 'name': {'type': 'string'}, 'moves': {'type': 'string'}}, 'additionalProperties': False}}, 'weaknesses': {'type': 'array', 'items': {'type': 'string'}}, 'analysisUrl': {'type': ['string', 'null']}, 'suggestions': {'type': 'array', 'items': {'type': 'string'}}}, 'additionalProperties': False}
identify_opening
Identify Opening
Identify the chess opening of a move sequence, given as SAN movetext ("1. e4 c5 2. Nf3 d6") or a full PGN. Returns the ECO code and name from a catalogue of about 3,700 named lines, how many half-moves (plies) followed known theory from move one, the first move that left it, a link to Chessigma's trainer when the opening has one, and a link that opens the moves on the chessigma.com analysis board.
只读 幂等
输入模式
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['moves'], 'properties': {'moves': {'type': 'string', 'maxLength': 20000, 'minLength': 1, 'description': 'SAN movetext or a PGN; tags are optional.'}}, 'additionalProperties': False}
输出模式
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['found', 'eco', 'name', 'bookPlies', 'leftBookAt', 'trainerUrl', 'analysisUrl'], 'properties': {'eco': {'type': ['string', 'null']}, 'name': {'type': ['string', 'null']}, 'found': {'type': 'boolean'}, 'bookPlies': {'type': 'integer'}, 'leftBookAt': {'type': ['string', 'null']}, 'trainerUrl': {'type': ['string', 'null']}, 'analysisUrl': {'type': ['string', 'null']}}, 'additionalProperties': False}
review_online_game
Review Online Game
Turn the link of a public Chess.com live game or a Lichess game into a chessigma.com link that imports the game and opens a move-by-move review, computed by Stockfish in the user's browser. Nothing is fetched when this tool runs: the game is read from Chess.com or Lichess only when the user opens the link. Chess.com daily (correspondence) games are not supported; ask for the PGN instead.
只读 可访问外部资源 幂等
输入模式
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['url'], 'properties': {'url': {'type': 'string', 'maxLength': 300, 'minLength': 10, 'description': 'A Chess.com live game link or a Lichess game link.'}}, 'additionalProperties': False}
输出模式
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['platform', 'reviewUrl', 'note'], 'properties': {'note': {'type': 'string'}, 'platform': {'enum': ['chesscom', 'lichess'], 'type': 'string'}, 'reviewUrl': {'type': 'string'}}, 'additionalProperties': False}
已添加
calculate_elo
2026年10月4日 02:40
已添加
get_daily_puzzle
2026年10月4日 02:40
已添加
review_online_game
2026年10月4日 02:40
已添加
analyze_game
2026年10月4日 02:40
已添加
analyze_position
2026年10月4日 02:40
已添加
identify_opening
2026年10月4日 02:40
已添加
get_opening_guide
2026年10月4日 02:40