Skip to main content
Glama

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault
CLIENTNoThe player identity connecting to the arbiter (e.g. hermes or claude). Passed as `--client` alongside the command.
LLM_CHESS_HOMENoCustom store path for game data (chess.db, PGN logs, transcripts). Must be re-declared on the MCP entry because Hermes spawns MCP subprocesses with a filtered environment.~/.llm-chess

Instructions

Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.

This server publishes no instructions, or was last inspected before Glama recorded them.

Capabilities

Features and capabilities supported by this server

Protocol revision2025-11-25

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

Tools

Functions exposed to the LLM to take actions

NameDescription
join_gameC

Join the current game: your colour, the opponent, and the position.

get_boardB

Read the current position: FEN, board diagram, side to move, check state, clocks, material, and move history.

get_legal_movesB

List every legal move in the current position, as SAN and UCI.

make_moveA

Play a move. Accepts SAN ('Nf3') or UCI ('g1f3'). Rejected moves leave the position untouched.

get_statusB

Game status: whose turn it is, clocks, result, and whether the game is over.

get_move_historyC

SAN move list so far, in order.

resign_gameC

Resign the game. Not a failure — the honest end to a lost position.

offer_drawB

Offer a draw to your opponent. They must call accept_draw.

accept_drawB

Accept your opponent's outstanding draw offer.

claim_drawB

Claim a draw you are entitled to by rule (threefold repetition or the fifty-move rule).

get_evaluationB

Objective position facts only — no engine, no advice: material balance, legal move count, check state.

Prompts

Interactive templates invoked by user choice

NameDescription

No prompts

Resources

Contextual data attached and managed by the client

NameDescription

No resources

TDQS

B3.2/5.0

Scored across 11 tools

Disambiguation3/5

Several tools report overlapping state: get_board already includes clocks, material, check, and move history, which are also provided by get_status, get_evaluation, and get_move_history. While descriptions clarify primary intent, an agent could reasonably choose between them for similar information, causing mild ambiguity.

Naming Consistency5/5

All tools follow a consistent snake_case verb_noun pattern (get_board, make_move, offer_draw, etc.), with no deviations. The convention is predictable and easy to parse.

Tool Count5/5

11 tools is well within the 3–15 sweet spot and each covers a distinct lifecycle action (join, move, query, draw, resign). No obvious bloat, though some query tools overlap.

Completeness4/5

Core chess game actions are covered (join, move, legal moves, status, history, resign, draw offer/accept/claim, evaluation). Missing an explicit draw decline and game creation/listing, but these are minor for an arbiter.

Maintenance

ActivityMaintained
ResponsivenessNo issues