Skip to main content
Glama
cheungbrenden

croissant-mcp

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault

No arguments

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
list_databasesA

List the En Croissant game databases installed on this machine.

Reports each database's title, game count, size, and whether it has a .pgn sidecar. Read-only, and safe to call while En Croissant is running.

list_repertoiresA

List the En Croissant repertoire files and which colour each trains.

read_repertoireA

Read one repertoire's tree: its main line, orientation, and size.

At every position, the FIRST variation listed is the move En Croissant drills; later variations are recorded alternatives.

add_line_to_repertoireA

Merge a line of SAN moves (from the starting position) into a repertoire.

Joins branches that already exist instead of duplicating them, and never reorders existing variations — the first variation at a position is the answer the user gets drilled on, so reordering would change what they're tested on. New positions are scheduled automatically when the file is next opened; existing cards and review history are untouched.

En Croissant must be closed: it holds repertoire files open and would silently overwrite this change. The previous contents are backed up first.

get_training_statusA

Read the FSRS training state for a repertoire: what's due, what's never been seen, and what the file would schedule that isn't in the deck yet.

Read-only — never modifies training state. Safe while En Croissant runs, though a session in progress there may not have flushed to disk yet.

search_gamesA

Search the user's own rated Lichess games (blitz by default).

Filters are from the USER's side: colour is the colour they played, result is their result ('win', 'loss', 'draw'). Dates are 'YYYY.MM.DD'. Fetches live from the Lichess API, falling back to the local export.

my_results_from_positionA

The user's W/D/L record from a position, across their rated blitz games.

Position matching ignores move counters and non-capturable en-passant squares, so transpositions count. Sample sizes here are small — report them, and never rank or conclude from the percentage alone.

opponents_playA

What gets played from a position: by players at the user's own rating and speed (source='lichess', the default) or by masters (source='masters').

Defaults come from config so the pool matches the user's actual games — blitz around their rating band, not the site-wide average. Cached locally; a repeated query makes no network call.

Prompts

Interactive templates invoked by user choice

NameDescription

No prompts

Resources

Contextual data attached and managed by the client

NameDescription

No resources

TDQS

A4.3/5.0

Scored across 8 tools

Disambiguation5/5

Each tool targets a distinct resource or action: databases vs. repertoires vs. training state vs. game queries. Even the three position-related tools differ clearly: one searches games, one reports user results, one reports opponent moves.

Naming Consistency4/5

Most tools follow a verb_noun pattern (list_databases, read_repertoire, add_line_to_repertoire, get_training_status, search_games). Two tools break the pattern with possessive noun phrases (my_results_from_position, opponents_play), which is a minor inconsistency.

Tool Count5/5

Eight tools is well within the ideal 3–15 range for a focused chess training server. Each tool addresses a distinct part of the workflow without unnecessary bloat.

Completeness4/5

The set covers listing, reading, and adding repertoire lines, plus training status and position analysis—solid coverage for the core domain. Missing explicit update/delete operations for repertoire lines are workable gaps but not fatal for typical use.

Maintenance

ActivitySlowing
ResponsivenessNo issues