Skip to content
Agentmart
Submit a tool

Chess Esca

Read chess positions by the rules: legality with its evidence, draws, facts, openings, PGN

Connector by AnglerfishChess · GitHub account verified by the MCP Registry

IndexedMITLocal (stdio)
Write a review

Install

Works with Claude Code, Codex, VS Code, Cursor, Windsurf, Claude Desktop. Read the repository before you give any tool access to your data.

npx agentmarket install connector/anglerfishchess-chess-esca-mcp

Asks which of your tools to add it to (Claude Code, Codex, Cursor, VS Code, Windsurf, Gemini CLI, Claude Desktop) and shows the change first. See https://agentmart.dev/cli.

Get the weekly diff

The weekly diff: one email a week with new agent tools, notable updates and grade changes, plus security alerts for tools you follow. Double opt-in, one-click unsubscribe.

We use your email only for this newsletter. Privacy

About

Read chess positions by the rules: legality with its evidence, draws, facts, openings, PGN

No reviews yet. Installed it? Reviews come from verified installers only. How reviews work

Permissions

What this server can do and what it asks for, from its tool list and install config. Checked Oct 25, 2026.

Tools
1 read · 2 write · 0 delete · 6 not yet classified
Secrets
None asked for
Install scripts
Not scanned yet
Runs as
Python package

Tools by what they do 9

Read from the source code; the running server may list different tools.

Read 1 · Look things up without changing anything.

  • explain_move

Write 2 · Create, change, send or run things.

  • book_moves
  • legal_moves

Not yet classified 6 · We could not tell from the name and description.

  • ending
  • facts
  • opening
  • pgn
  • position
  • to_pgn

Tools (9)

Read from the source code; the running server may differ. Descriptions are the server’s own words; hidden characters are shown as [U+…].

  • book_moves

    The moves a Polyglot opening book holds for a position. Polyglot is the opening-book format whose 16-byte entries are keyed by a hash of the position, so a book written by any program that speaks it can be read here. No book is bundled: `book` names one of your own. Args: book: path to a `.bin` Polyglot book. fen: the position as FEN or EPD; the start position when omitted. moves: moves played from it, SAN or UCI. pgn: a whole game instead of `fen` and `moves`. variant: 'classic' or 'chess960'. limit: how many entries to return, heaviest first. Returns: dict: `bo…

  • ending

    The ending the material makes, what theory says it is, and how it is won. An ending is a position where neither side holds more than two pieces, a piece being anything that is neither a king nor a pawn; above that the class is `not_an_ending` and the signature still says what is on the board. The signature writes the stronger side first — `KRPvKR` — the class names the material alone, and the verdict names the colour it favours. The technique is the named method the ending is played by: the box method, the Lucena position, the opposition, the wrong bishop. The `evidence` holds the position-sp…

  • explain_move

    Whether one move is legal, and what it does or what forbids it. An illegal move answers with every reason that applies at once — no castling right, a rook that is not there, a king in check, an attacked or a blocked path, a pinned unit, an occupied destination, a promotion left unnamed — each carrying the squares it was read off. A legal move answers with what it changes: the capture, the check, the castling or en passant, the promotion, the position after it, and the draws either side could claim once it is played. Args: move: the move, SAN or UCI. fen: the position as FEN or EPD; t…

  • facts

    The named facts esca reads off a position, group by group. Every fact is labelled by its own name, and a value that differs between the two sides is written `{"white": …, "black": …}`, so nothing has to be read against whose turn it is. A set of squares is the list of its square names in board order, a set of files the list of its letters, and a value that may be absent is `null`. Where a value is a run of eight or three, `field_notes` says once which end is which. The groups are `state`, `history`, `material`, `pawns`, `pieces`, `king`, `mobility`, `attacks`, `exchange`, `threats`, `tactics`…

  • legal_moves

    Every legal move of a position, in SAN and in UCI. Each move carries what it does — the role that moves, whether it captures and what, whether it gives check, what it promotes to, and the static exchange it starts. With `categories`, the same moves are also grouped as captures, checks, castling, promotions, en passant and quiet. Args: fen: the position as FEN or EPD; the start position when omitted. moves: moves played from it, SAN or UCI. pgn: a whole game instead of `fen` and `moves`. variant: 'classic' or 'chess960'. categories: group the moves as well as listing them.…

  • opening

    The ECO code and name of a position, and of the line that reached it. ECO is the Encyclopaedia of Chess Openings, whose volume letter and index name a known opening. The catalogue is keyed by position, so a line that transposes into a named position is named, and a line that has left the book keeps the last name it reached, which is what `reached` reports. Args: fen: the position as FEN or EPD; the start position when omitted. moves: moves played from it, SAN or UCI. `reached` needs them. pgn: a whole game instead of `fen` and `moves`. variant: 'classic' or 'chess960'. Retur…

  • pgn

    A PGN game read into its headers, its moves and where it ended up. PGN is Portable Game Notation, the text a game is saved and shared in. Comments, numeric glyphs and variation counts are kept where the source has them; the moves reported are the mainline. Args: text: the PGN source; it may hold more than one game. index: which game to read, counting from 0. Returns: dict: `games_in_source`, `index`, `headers`, `comment`, `result`, `variant`, `start_fen`, `moves` — each `san`, `uci`, `nags`, `comment_before`, `comment_after`, `variations` — `ply`, `final_fen`, `openi…

  • position

    The whole state of a chess position, read by the rules. Answers in one call: whose turn it is, whether that side is in check and from where, whether the game is over and how, which draws are claimable and on what evidence, how many legal moves there are, the opening name if the position has one, the material on each side, both castlings of both colours with every obstacle at once, the en-passant capture on offer, the pins and skewers on the board, and the ending it is where the material makes one. `prose` gathers every sentence the answer carries. Args: fen: the position as FEN or EPD; t…

  • to_pgn

    A list of moves written out as a PGN game. Args: moves: the moves, SAN or UCI. fen: the start position; the variant's own when omitted. variant: 'classic' or 'chess960'. headers: tag pairs to set on the game. result: the termination marker; read from the final position when omitted. Returns: dict: `pgn`, `final_fen`, `ply`, `result`, `opening` — or `error` when a move is not legal where it stands.

Signals

Stars
0
Forks
0
Open issues
0
Weekly downloads
31
Last commit (this folder)
Sep 11, 2026 (1 month ago)
Last release
Sep 11, 2026 (1 month ago)
Last package publish
Sep 11, 2026 (1 month ago)

From GitHub (fetched Oct 24, 2026) and the package registry.

Details

Registry name
io.github.AnglerfishChess/chess-esca-mcp
Version
0.4.0
Auth
No auth
Packages
pypi chess-esca-mcp
License
MIT
First seen
Oct 24, 2026
Last checked
Oct 25, 2026

More from AnglerfishChess

Cite this page

Chess Esca MCP server. Agent Mart. https://agentmart.dev/connectors/anglerfishchess-chess-esca-mcp (last updated 2026-10-25)