Skip to main content
Glama

List covered games

list_games
Read-onlyIdempotent

Discover covered stack depths and positions. Call this before low-level preflop queries. "nl" = no-limit hold'em 6-max cash (169-grid hands, per-hand EV in small blinds), "nl9" = no-limit hold'em 9-max cash, "nlmtt8" = no-limit hold'em 8-max MTT chip-EV (10–300bb, 1bb BB-ante; Fold/Call/Limp/AI/Open/3B tokens), "nlh8-hydra" = no-limit hold'em 8-max MTT chip-EV with a classic 0.1bb ante from every seat (10, 20, 30, 60bb; same tokens as nlmtt8), "plo" = pot-limit Omaha 6-max cash (4-card), "plo5" = pot-limit Omaha 5-card 6-max (100bb, 1.2bb ante), "plo9" = pot-limit Omaha 9-max cash, "plo6hu" = 6-card Omaha heads-up (BTN vs BB, 100bb). Cash trees are not tournament, ICM, PKO, or satellite solves. nlmtt8 is chip-EV only.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
detailNoResponse detail. "compact" is the default and removes bulk maps; use "full" only when exact complete data is required.

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
_coverageNoFormats and objectives this server does and does not answer.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed1 schema field changed
    • changedOutput schema / (root)
      Previous value: -nullNew value: +{
      +  "additionalProperties": {
      +    "description": "One game id to its covered stacks and positions. Full detail adds the bundle manifest fields.",
      +    "properties": {
      +      "bundleCount": {
      +        "description": "Bundles in the dataset.",
      +        "type": "integer"
      +      },
      +      "error": {
      +        "description": "Upstream status code when a game did not answer.",
      +        "type": "number"
      +      },
      +      "game": {
      +        "description": "Game id.",
      +        "type": "string"
      +      },
      +      "generatedAt": {
      +        "description": "When the dataset was generated.",
      +        "type": "string"
      +      },
      +      "positions": {
      +        "description": "Covered positions.",
      +        "items": {
      +          "description": "Seat label.",
      +          "type": "string"
      +        },
      +        "type": "array"
      +      },
      +      "stacks": {
      +        "description": "Covered stack depths.",
      +        "items": {
      +          "description": "Stack depth in big blinds.",
      +          "type": "number"
      +        },
      +        "type": "array"
      +      },
      +      "version": {
      +        "description": "Dataset version.",
      +        "type": "number"
      +      }
      +    },
      +    "type": "object"
      +  },
      +  "description": "Coverage for every preflop game, plus what this server does not solve.",
      +  "properties": {
      +    "_coverage": {
      +      "description": "Formats and objectives this server does and does not answer.",
      +      "properties": {
      +        "format": {
      +          "description": "Supported formats: cash and mtt_chip_ev.",
      +          "items": {
      +            "description": "A supported format.",
      +            "type": "string"
      +          },
      +          "type": "array"
      +        },
      +        "supportedObjectives": {
      +          "description": "Objectives that return data.",
      +          "items": {
      +            "description": "A supported objective.",
      +            "type": "string"
      +          },
      +          "type": "array"
      +        },
      +        "supportedTournament": {
      +          "description": "The one certified tournament tree.",
      +          "properties": {
      +            "anteBb": {
      +              "description": "BB ante in big blinds, 1.",
      +              "type": "number"
      +            },
      +            "format": {
      +              "description": "Always \"mtt\".",
      +              "type": "string"
      +            },
      +            "game": {
      +              "description": "Game id, \"nlmtt8\".",
      +              "type": "string"
      +            },
      +            "objective": {
      +              "description": "Always \"chip_ev\".",
      +              "type": "string"
      +            },
      +            "tableSize": {
      +              "description": "Seats, 8.",
      +              "type": "integer"
      +            }
      +          },
      +          "type": "object"
      +        },
      +        "unsupported": {
      +          "description": "ICM, PKO, satellites, 9-max MTT, tournament and multiway postflop.",
      +          "items": {
      +            "description": "A request type with no published data.",
      +            "type": "string"
      +          },
      +          "type": "array"
      +        }
      +      },
      +      "type": "object"
      +    }
      +  },
      +  "type": "object"
      +}
  2. First observed

TDQS

A3.9/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already cover the safety profile (readOnly, idempotent, non-destructive, closed-world), so the bar is lower. The description still adds real behavioral context beyond them: which solves are out of scope ('Cash trees are not tournament, ICM, PKO, or satellite solves') and what each code actually returns (169-grid hands, per-hand EV in small blinds, chip-EV vs. classic-ante variants).

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The purpose and the preflop-query directive are front-loaded before the reference block. The long code enumeration is dense but each entry carries distinct information an agent cannot get elsewhere; the only blemish is the stray escaped newline ("\n" = ...) that breaks the 'nl' entry's formatting.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

An output schema exists, so return-value explanation is not required, and the description fully documents the game-code domain plus scope caveats a caller needs. It is essentially complete for a zero-required-parameter discovery tool, missing only a note on how the detail flag changes the payload (already handled by the schema).

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100% and the single 'detail' parameter has its enum values documented in the schema, so the schema carries the parameter burden. The description says nothing about the 'detail' option, so baseline 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific verb and resource ('Discover covered stack depths and positions') and then enumerates the exact game identifiers it returns, so an agent knows precisely what this produces. It does not explicitly differentiate itself from near-siblings like list_datasets or list_spots, but the enumerated domain makes the distinction inferable.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

It gives an explicit usage directive: 'Call this before low-level preflop queries,' which tells the agent when to reach for it and its ordering relative to other tools. It stops short of naming the alternative tools to use once the code is known, so it is clear context rather than full when/when-not routing.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources