Skip to main content
Glama
danilop

chess-support-mcp

by danilop

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault

No arguments

Capabilities

Features and capabilities supported by this server

CapabilityDetails
tools
{
  "listChanged": false
}
prompts
{
  "listChanged": false
}
resources
{
  "subscribe": false,
  "listChanged": false
}
experimental
{}

Tools

Functions exposed to the LLM to take actions

NameDescription
create_or_reset_gameA

Create a new game or reset the current one to the initial position.

Returns (in result):

  • ok: boolean

  • status: object with the current position metadata:

    • fen: string (Forsyth–Edwards Notation)

    • side_to_move: "white" | "black"

    • fullmove_number: int

    • halfmove_clock: int

    • ply_count: int (number of half-moves made)

    • castling_rights: string like "KQkq" or "-"

    • en_passant_square: algebraic square like "e3" or "-"

    • last_move_uci: string | null

    • last_move_san: string | null

    • who_moved_last: "white" | "black" | null

    • is_check: boolean

    • is_game_over: boolean

    • result: string like "1-0", "0-1", "1/2-1/2" or null

    • pieces: object mapping squares to piece symbols, e.g. {"e4":"P", "e5":"p"}

  • moves: array of UCI strings for all moves played so far (empty after reset)

  • moves_detailed: array of { ply:int, side:"white"|"black", uci:string, san:string }

Notes:

  • This tool does not suggest moves; it only manages state.

get_statusA

Get current position metadata for model-friendly planning.

Returns (in result):

  • fen, side_to_move, fullmove_number, halfmove_clock, ply_count

  • castling_rights, en_passant_square

  • last_move_uci, last_move_san, who_moved_last

  • is_check, is_game_over, result

  • pieces: square-to-piece map (e.g., {"a2":"P", "e1":"K"})

add_moveA

Apply a move in UCI format if legal.

Parameters:

  • uci: string like "e2e4", "g1f3", promotions like "e7e8q".

Returns (in result):

  • On success: { accepted:true, status: Status, moves:[...], moves_detailed:[...] } where Status is the same shape returned by get_status(), including last_move_{uci,san}.

  • On failure: { accepted:false, reason:"illegal", expected_turn:"white"|"black", status: Status }

Notes:

  • This tool validates legality only; it does not suggest or score moves.

is_legalA

Check if a UCI move is legal in the current position.

Returns (in result):

  • { legal:boolean }.

  • If the UCI string cannot be parsed, { parse_error:string, legal:false }.

list_movesA

Return all moves played so far in UCI, ordered from the start of the game.

list_moves_detailedA

Return detailed move history.

Each item: { ply:int, side:"white"|"black", uci:string, san:string }

last_movesA

Return the last N moves in UCI (default 1).

Parameters:

  • n: integer >= 1. If n <= 0, returns an empty list.

last_moves_detailedA

Return the last N moves with details (default 1).

Each item: { ply:int, side:"white"|"black", uci:string, san:string }. Parameters:

  • n: integer >= 1. If n <= 0, returns an empty list.

board_asciiA

Return an ASCII representation of the board from White's perspective.

Notes:

  • This is a human-oriented view, suitable for displaying the board to users in UIs, logs, or chat.

  • For model reasoning, prefer the JSON map in get_status().pieces.

Prompts

Interactive templates invoked by user choice

NameDescription

No prompts

Resources

Contextual data attached and managed by the client

NameDescription

No resources

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/danilop/chess-support-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server