Skip to main content
Glama

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault
PORTNoHTTP listen port8000
API_KEYNoRequired for HTTP mode. Bearer token for auth.
MCP_TRANSPORTNoTransport mode: stdio or httpstdio
MAX_ROLLOUT_GAMESNoMaximum games per rollout call10000

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": true
}
prompts
{
  "listChanged": false
}
resources
{
  "subscribe": false,
  "listChanged": false
}
extensions
{
  "io.modelcontextprotocol/ui": {}
}
experimental
{}

Tools

Functions exposed to the LLM to take actions

NameDescription
board_from_position_idA

Convert a 14-character GNUBG Position ID to a board representation.

Args: position_id: A 14-character GNUBG Position ID string (e.g. "4HPwATDgc/ABMA").

Returns: Dict with the 2x25 board array and the position ID.

board_from_position_keyA

Convert a GNUBG position key string to a board representation.

Args: position_key: A GNUBG position key string.

Returns: Dict with the 2x25 board array, position ID, and key.

position_idA

Convert a board to its 14-character GNUBG Position ID.

Args: board_input: Board in any supported format (boardState dict, Position ID string, or 2x25 list). player: Who is on roll ("x" or "o"). Required if board_input is a boardState dict.

Returns: Dict with the position ID string.

key_of_boardA

Convert a board to its GNUBG position key string.

Args: board_input: Board in any supported format. player: Who is on roll ("x" or "o"). Required if board_input is a boardState dict.

Returns: Dict with the position key string.

classifyA

Classify a board position into one of GNUBG's position types.

Args: board_input: Board in any supported format. player: Who is on roll ("x" or "o"). Required if board_input is a boardState dict.

Returns: Dict with classification name and numeric code. Classifications: "over", "bearoff", "race", "crashed", "contact".

probabilitiesB

Calculate win/gammon/backgammon probabilities for a position.

Args: board_input: Board in any supported format. evaluation_mode: Evaluation strategy. One of: "prune", "race", "osr", "bearoff", "0plus1", "1sbear", "1srace". player: Who is on roll ("x" or "o"). Required if board_input is a boardState dict. nr: Number of rollouts for OSR mode (default 1296). score: Match score as [x_away, o_away]. Omit for money game. cube: Cube state as {"owner": "C"/"X"/"O", "value": 1, "centered": true}. seed: RNG seed for reproducibility.

Returns: Dict with win, win_gammon, win_backgammon, lose_gammon, lose_backgammon probabilities.

pub_eval_scoreA

Compute a fast heuristic evaluation score using GNUBG's public (non-neural) model.

Args: board_input: Board in any supported format. player: Who is on roll ("x" or "o"). Required if board_input is a boardState dict.

Returns: Dict with the evaluation score. Positive favors the mover, negative favors opponent.

best_moveA

Find the best move for a position and dice roll using neural network evaluation.

Args: board_input: Board in any supported format. dice: Dice roll as [die1, die2], each 1-6. player: Who is on roll ("x" or "o"). Default "x". ply: Evaluation depth (0, 1, or 2). Higher is stronger but slower. score: Match score as [x_away, o_away]. Omit for money game. cube: Cube state as {"owner": "C"/"X"/"O", "value": 1, "centered": true}. seed: RNG seed for reproducibility.

Returns: Dict with best_move notation, alternatives with probabilities, and board after move.

pub_best_moveA

Find the best move using GNUBG's public (non-neural, fast) evaluation.

Args: board_input: Board in any supported format. dice: Dice roll as [die1, die2], each 1-6. player: Who is on roll ("x" or "o"). Default "x".

Returns: Dict with move as from/to pairs and notation.

movesA

Generate all legal moves for a board and dice roll.

Args: board_input: Board in any supported format. dice: Dice roll as [die1, die2], each 1-6. player: Who is on roll ("x" or "o"). Default "x".

Returns: Dict with list of legal moves, each with notation, steps, and position key.

rolloutA

Perform a cubeless Monte Carlo rollout of a position.

Args: board_input: Board in any supported format. player: Who is on roll ("x" or "o"). Default "x". ngames: Number of games to simulate (default 1296, max configurable). ply: Evaluation depth per move (0, 1, or 2). rollout_type: Rollout mode: "auto", "race", "bearoff", "over". score: Match score as [x_away, o_away]. Omit for money game. cube: Cube state dict. seed: RNG seed for reproducibility.

Returns: Dict with win probabilities and standard deviations.

cubeful_rolloutA

Perform a cubeful rollout with doubling cube handling.

Args: board_input: Board in any supported format. player: Who is on roll ("x" or "o"). Default "x". ngames: Number of games to simulate (default 576, max configurable). ply: Evaluation depth (0, 1, or 2). score: Match score as [x_away, o_away]. Omit for money game. cube: Cube state dict. seed: RNG seed for reproducibility.

Returns: Dict with detailed rollout statistics including cubeful equity.

bearoff_id_2_posC

Convert a bearoff ID to a 6-point position tuple.

Args: bearoff_id: Either an integer bearoff ID or a 6-element list.

Returns: Dict with the 6-point position (checkers on points 1-6).

bearoff_probabilitiesC

Get the probability distribution of bearing off in N moves.

Args: bearoff_id: Either an integer bearoff ID or a 6-element list.

Returns: Dict with probability distribution of bearing off in 1, 2, ..., N moves.

one_checker_raceA

Estimate win probability for a one-checker bearoff race.

Args: pips: Number of pips remaining to bear off a single checker.

Returns: Dict with equity and standard deviation, or null if unsupported.

rollA

Simulate a roll of two six-sided dice.

Returns: Dict with die1 and die2 values (1-6 each).

equities_valueA

Look up match equity for a given match score.

Args: x_away: Points player X needs to win the match (0-25). o_away: Points player O needs to win the match (0-25).

Returns: Dict with match winning chance (MWC) for player X.

get_constantsA

Get all GNUBG constant values used by other tools.

Returns: Dict with position_classes, evaluation_modes, and rollout_types. Use these string names as parameter values in other tools.

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/hbomze/bb-gnubg-api-mcp'

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