Chessigma
Server Details
Chess opening guides and names, FEN and PGN checks, the daily chess puzzle and Elo estimates.
- Status
- Healthy
- Last Tested
- Transport
- Streamable HTTP · MCP 2025-11-25
- URL
- Repository
- mehdi-bh/chessigma-mcp
- GitHub Stars
- 0
TDQS
Scored across 7 tools
The tools mostly target distinct tasks: analyze_game (whole game), analyze_position (single FEN), calculate_elo, get_daily_puzzle, get_opening_guide, identify_opening, and review_online_game. The one pair with slight overlap is get_opening_guide (lookup by name) vs identify_opening (identify from moves), but their descriptions clearly separate them.
Every tool follows a consistent snake_case verb_noun pattern: analyze_game, analyze_position, calculate_elo, get_daily_puzzle, get_opening_guide, identify_opening, review_online_game. No mixed conventions or vague verbs.
Seven tools is well-scoped for a chess analysis helper, covering game analysis, position facts, Elo, puzzles, openings, and online game review without redundancy.
The surface covers the main chess-analysis workflows (game, position, openings, puzzles, Elo, online review) with clean handling of unsupported cases like Chess.com daily games. Minor gaps exist—no direct engine-eval tool or PGN export—but these appear intentional, deferring evaluation to the browser.
Available Tools
7 toolsanalyze_gameAnalyze GameARead-onlyIdempotentInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| pgn | Yes | The game as PGN, or SAN movetext such as "1. e4 e5 2. Nf3". |
Output Schema
| Name | Required | Description |
|---|---|---|
| note | Yes | |
| black | Yes | |
| plies | Yes | |
| white | Yes | |
| ending | Yes | |
| result | Yes | |
| opening | Yes | |
| finalFen | Yes | |
| reviewUrl | Yes | |
| analysisUrl | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly/idempotent/non-destructive, so the safety profile is covered. The description still adds real value beyond them: 'never evaluates moves itself' (no engine analysis output) and 'stores nothing', plus a disclosure of what the two returned links do and where the Stockfish engine actually runs (user's browser).
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Front-loads the purpose, then the output links, then the limitations, so the agent gets the essential framing first. The single sentence is dense and slightly run-on (the parenthetical about Stockfish running in the browser is marginally tangential), but nothing is redundant.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return values need not be re-explained, yet the description covers input formats, behavioral limits (no self-evaluation, no storage), and the conditions under which extra review links appear. Nothing an agent needs in order to call this correctly is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Only one parameter and schema description coverage is 100%, so the schema already documents the pgn field and its format. The description echoes the accepted formats but adds no syntax, encoding, or edge-case guidance beyond the schema, so the baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb (summarize) and resource (a chess game from PGN/SAN), and enumerates exactly what is produced: players, result, plies, opening and theory length, termination, final position. This is clearly distinguishable from siblings like analyze_position (single position) and review_online_game (already-played online games).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It names the accepted input forms (PGN or plain SAN movetext) and notes that external review links appear only when the Link/Site tag points to a Chess.com live or Lichess game, which is useful context. However, it never explicitly says when to choose this tool over review_online_game or analyze_position, so routing is left to inference.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
analyze_positionAnalyze PositionARead-onlyIdempotentInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| fen | Yes | The position in FEN. The two move counters may be omitted. |
Output Schema
| Name | Required | Description |
|---|---|---|
| fen | Yes | |
| status | Yes | |
| opening | Yes | |
| material | Yes | |
| legalMoves | Yes | |
| sideToMove | Yes | |
| analysisUrl | Yes | |
| bestMoveUrl | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly/idempotent/non-destructive, and the description adds substantive context beyond them: results are computed by the rules alone, no engine evaluation happens server-side, and the Stockfish engine actually runs in the user's browser at the returned URLs. This is exactly the kind of behavioral disclosure that prevents an agent from misusing the tool as an evaluator.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Front-loads the purpose and return values, then closes with the crucial scope limitation. It is a single dense paragraph that is somewhat long, but every sentence contributes information an agent needs.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, yet the description still names the key facts returned and, more importantly, clarifies the division of labor between rule-based facts and browser-side engine analysis via the returned URLs. Nothing essential for correct invocation is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Only one parameter and schema coverage is 100%; the schema already documents that FEN is required and that move counters may be omitted. The description reinforces that the input is a FEN but adds no format or edge-case detail beyond the schema, so the baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb (read/analyze) and resource (a chess position from FEN) and enumerates the exact facts returned: side to move, status, legal moves in SAN, material count, opening name. It is clearly distinguishable from siblings like identify_opening and analyze_game, which cover narrower or different scope.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly bounds the tool with 'does not evaluate the position and does not choose a best move' and routes evaluation elsewhere via analysisUrl and bestMoveUrl. That is strong when-not guidance, though it never names the sibling tools themselves as alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
calculate_eloCalculate EloARead-onlyIdempotentInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| result | Yes | ||
| system | No | fide | |
| kFactor | No | ||
| yourRating | Yes | ||
| opponentRating | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| change | Yes | |
| result | Yes | |
| system | Yes | |
| kFactor | Yes | |
| newRating | Yes | |
| yourRating | Yes | |
| calculatorUrl | Yes | |
| expectedScore | Yes | |
| opponentRating | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly/idempotent/non-destructive, so the safety profile is covered. The description adds real value beyond them: it discloses that this is pure arithmetic (not an engine), that 'system' selects a K-factor default, and that Chess.com/Lichess use Glicko so real rating changes will differ from this estimate.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three tight sentences, front-loaded with the core action and followed immediately by the two things an agent most needs: no engine involved, and the Glicko caveat. No filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With an output schema present, return values need no explanation, and annotations cover the safety profile. The description supplies the arithmetic scope and the accuracy caveat, though it could do more on the un-annotated numeric parameters.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must compensate. It explains the non-obvious 'system' parameter's role in picking a K-factor default and acknowledges the result (win/draw/loss) context, but says nothing about yourRating, opponentRating, or the kFactor override parameter, leaving several fields undocumented.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource ('Estimate a player's new Elo rating after a single game') and explicitly rules out engine work ('Pure arithmetic, no chess engine'), which cleanly separates it from siblings like analyze_game and analyze_position. An agent can identify it without opening the schema.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage (single-game Elo estimation, not full analysis) and warns where the estimate is unreliable, but never explicitly says when to prefer this over analysis tools or what prerequisites exist. Usage is inferable rather than stated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_daily_puzzleGet Daily PuzzleARead-onlyIdempotentInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| date | No | A day from 2024-01-01 to today (UTC). Omit for today. |
Output Schema
| Name | Required | Description |
|---|---|---|
| fen | Yes | |
| date | Yes | |
| rating | Yes | |
| themes | Yes | |
| playUrl | Yes | |
| puzzleId | Yes | |
| solution | Yes | |
| sideToMove | Yes | |
| opponentLastMove | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover the safety profile (readOnly, idempotent, non-destructive, closed-world), so the bar is lower. The description still adds genuinely useful behavior not in annotations: the fallback when today's puzzle is unpublished ('the latest one is returned: check date') and the SAN move-ordering convention. No auth or rate-limit context is given, keeping it short of a 5.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Front-loads the core purpose, then constraints, then return-format notes; each sentence carries information. Slightly dense and the trailing playUrl sentence is useful but secondary, so not a flawless 5.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists so return values need not be described, yet the description still explains the returned position (fen with solver to move), the SAN solution ordering, and the fallback date behavior. For a single-optional-parameter read tool, nothing needed to invoke it correctly is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% and the schema already documents the date pattern and its valid range, so the description's restatement of the YYYY-MM-DD format and 2024-01-01-to-today range adds little. Baseline 3 is appropriate when the schema does the heavy lifting.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource ('Get Chessigma's daily chess puzzle') with explicit scope (today by default, past days via date). It is unmistakably distinct from the sibling analysis tools (analyze_game, analyze_position, etc.), which operate on user-supplied games rather than a curated daily puzzle.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Gives clear conditional usage: omit date for today, pass date for a past day, and an explicit behavioral constraint ('Do not reveal the solution unless the user asks for it'). It does not name alternative tools or when-not-to-use, so it falls short of the 5-level routing guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_opening_guideOpening GuideARead-onlyIdempotentInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| opening | Yes | Opening name or slug, e.g. "London System", "caro-kann", "Sicilian Najdorf". |
Output Schema
| Name | Required | Description |
|---|---|---|
| eco | Yes | |
| name | Yes | |
| found | Yes | |
| ideas | Yes | |
| summary | Yes | |
| mainLine | Yes | |
| strengths | Yes | |
| trainerUrl | Yes | |
| variations | Yes | |
| weaknesses | Yes | |
| analysisUrl | Yes | |
| suggestions | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint/idempotent/destructive=false, so safety is covered. The description usefully adds the degradation profile: rich content for 18 openings, name/ECO/moves only for the rest, and a found=false fallback with suggestions.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Front-loaded with the purpose and input formats, then progressively adds output content and edge-case behavior. Dense but every sentence carries information; not padded.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a single-parameter read tool with an output schema and full annotation coverage, this describes return contents, coverage limits, the no-match path, and outbound links. Nothing an agent needs to invoke it correctly is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% and the single parameter already carries examples, so the schema does the heavy lifting. The description's examples add marginal reinforcement but no new format or syntax rules beyond what the schema provides.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb (look up) and resource (a chess opening guide), and clarifies the input key (name or slug) with concrete examples. It is readily distinguishable from siblings like identify_opening and analyze_position.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explains what kinds of inputs resolve to full guides (18 popular openings) versus partial catalog entries (~3,700 names), and what happens on no match (found=false, suggestions). It does not explicitly contrast with identify_opening, which is the natural alternative when only a position is known.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
identify_openingIdentify OpeningARead-onlyIdempotentInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| moves | Yes | SAN movetext or a PGN; tags are optional. |
Output Schema
| Name | Required | Description |
|---|---|---|
| eco | Yes | |
| name | Yes | |
| found | Yes | |
| bookPlies | Yes | |
| leftBookAt | Yes | |
| trainerUrl | Yes | |
| analysisUrl | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly, idempotent, non-destructive, and closed-world behavior. The description adds useful context about the catalogue size (~3,700 lines), what the returned deviation information means, and external links, though it omits error behavior for invalid or unknown sequences.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is front-loaded with the core purpose and then lists return details in a single additional sentence. It is efficient and informative, though the return list is somewhat long given that an output schema already exists.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With annotations covering safety and an output schema present, the description supplies enough context for correct invocation: input formats are explained, catalogue scope is noted, and output content is previewed. Nothing critical is missing for an agent to call this tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the single moves parameter is already documented. The description provides an example and confirms SAN movetext/PGN support, adding only marginal meaning beyond the schema's own description.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb and resource: identify the chess opening of a move sequence. It is highly clear about scope and input formats, but does not explicitly differentiate itself from the sibling get_opening_guide, so it falls short of a 5.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is implied by the input formats (SAN movetext or full PGN), but there is no explicit guidance on when to choose this tool over analyze_game, analyze_position, or get_opening_guide. No when-not or alternative conditions are provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
review_online_gameReview Online GameARead-onlyIdempotentInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes | A Chess.com live game link or a Lichess game link. |
Output Schema
| Name | Required | Description |
|---|---|---|
| note | Yes | |
| platform | Yes | |
| reviewUrl | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Goes well beyond the annotations by disclosing that nothing is fetched at invocation time and that Chess.com/Lichess is read only when the user opens the link, plus that Stockfish runs client-side. These are non-obvious deferred-side-effect semantics the readOnlyHint/idempotentHint annotations cannot express. It omits failure behavior for invalid or non-public links.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three sentences, zero waste: the core transformation is front-loaded, then the deferred-fetch behavior, then the unsupported-case caveat. Every sentence earns its place and none repeats schema or annotation content.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a one-parameter, read-only link-generator with an output schema covering the return, the description supplies everything an agent needs: accepted inputs, unsupported inputs, when external fetching happens, and where the review is computed.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% and the single url parameter is already documented in the schema. The description's only added semantic is the daily-game exclusion and the public/live constraint, which is modest incremental value over the structured field, so the baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb+resource+output: converts a public Chess.com live or Lichess game link into a chessigma.com review link. The transformation target and the computing engine (Stockfish in the browser) are explicit, so an agent can distinguish it from PGN-based siblings like analyze_game.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Clearly scopes usage to public live/correspondence-supported game links and explicitly excludes Chess.com daily games, redirecting to 'ask for the PGN instead'. It stops short of naming the sibling tool (e.g. analyze_game) that should handle that PGN path, so the routing is implied rather than spelled out.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
7 tool updates
- First observed
analyze_game - First observed
analyze_position - First observed
calculate_elo - First observed
get_daily_puzzle - First observed
get_opening_guide - First observed
identify_opening - First observed
review_online_game
Related MCP Connectors
Pedagogical chess intelligence for AI agents: explain positions and games for a target Elo.
Lichess MCP — public read-only API for users, games, explorer, tablebase.
Stockfish chess eval: best move, score, principal variation, multipv. $0.005/call via x402.
Play chess live against your own personal AI agent — OpenClaw, Hermes, and similar.
Related MCP Servers
- AlicenseNot gradedqualityDmaintenanceHelps you analyze chess positions and get professional evaluations using Stockfish.16 npm19MIT
- AlicenseAqualityBmaintenanceMCP server for chess.ceo — 11.7M+ games, ~1.5M FIDE player profiles, per-player opening preparation, position statistics, head-to-head, live tournament broadcasts. No API key.10305 npmMIT
- AlicenseNot gradedqualityAmaintenanceEnables comprehensive chess analysis through Stockfish engine integration, positional evaluation, puzzle training, game review, and access to extensive chess databases. Provides visual board rendering, interactive game viewers, and tactical puzzle training with 3+ million problems from Lichess.31AGPL 3.0
- AlicenseNot gradedqualityBmaintenanceEnables AI assistants to perform professional-grade chess analysis using Stockfish and optionally Leela Chess Zero, including position analysis, full game review, opening lookup, and puzzle generation.19 npm2MIT
Glama MCP Gateway
Add one secure layer between your agents and this server.