← All games

Poker GTO data for AI agents

A poker solver API and a hosted MCP server over the same data: GTO preflop ranges for no-limit hold'em and pot-limit Omaha, with per-hand action frequencies and EVs, plus solved postflop strategy nodes. Built so a tool call returns a number your agent can defend.

Start without a key

6-max no-limit hold'em cash preflop, the game catalog and every /config answer with no key and no sign-up — 200calls a day per IP, REST and MCP sharing the cap. Nothing to provision before your agent's first call.

# No key, no sign-up: every action at a 100bb 6-max NLHE node
curl "https://pokerdata.io/api/v1/ranges/nl/v2/node?stack=100\
&history=UTG_Fold_HJ_Fold_CO_Fold_BTN"

Poker MCP server

Hosted, stateless Streamable HTTP at POST https://pokerdata.io/api/mcp — point any MCP client at it with an optional Authorization: Bearer pdk_… header. Or run it over stdio from npm:

{
  "mcpServers": {
    "pokerdata": {
      "command": "npx",
      "args": ["-y", "pokerdata-mcp"],
      "env": { "POKERDATA_API_KEY": "pdk_YOUR_KEY" }
    }
  }
}

Preflop ranges

Keyless: 6-max NL cash (`game: "nl"`, every stack).

list_games, get_config, get_range, get_node, list_spots

Postflop solver nodes

Keyless: `list_postflop_packs` only.

list_postflop_packs, get_postflop_node, get_postflop_range

Coaching and comparison

Keyless: no.

explain_combo, get_board_report, compare_strategies

Dataset and tree docs

Keyless: yes.

list_datasets, get_tree_docs, get_range_metadata, get_exploitability

Your uploaded hands

Keyless: no — free with any key, never metered.

find_hands, get_hand_results, get_session_summary, list_my_sessions, get_tournament_results, list_my_opponents, get_opponent_notes, get_opponent_limp_range, get_upload_link, upload_hand_history

Solver queue

Keyless: no.

enqueue_solve, get_queued_solve, list_queued_solves, list_library_solutions

What agents build with it

A poker coach agent

Take a hand the user describes, resolve the action path, and read the solver's frequencies and EVs for their exact hand instead of guessing from a chart image.

Tools: get_node, explain_combo, get_range

A hand-history reviewer

Walk each decision in an uploaded hand against the solved tree and report where the line left EV on the table, in small blinds.

Tools: find_hands, get_hand_results, compare_strategies

A study or quiz tool

Generate spots from the real tree — every valid decision node at a stack depth — so the answer key is solver output, not an author's opinion.

Tools: list_spots, get_node, get_config

A postflop explainer

Walk a board street by street through solved nodes and report the reach-weighted action split and per-hand-class strategy.

Tools: list_postflop_packs, get_postflop_node, get_board_report

Versus the alternatives

OptionCostFit for an agent
Run a solver yourselfDays of CPU per spot, a licence, and an ops problemNo tool call can wait on it. Useful for custom trees, not for answering a user in-session.
Scrape range chartsFree, then wrongImages and blog tables carry no stack depth, no rake model, no EVs, and no provenance. An agent cannot tell a solved range from a guess.
Ask the model from memoryFreePlausible ranges, invented frequencies. There is no ground truth to check against and the error is silent.
This APIFree keyless for 6-max NL cash preflop (200 calls a day per IP), then a free keyOne HTTP or MCP call returns per-hand frequencies and EVs with units, the tree spec, and an explicit note when a spot is not covered.

Coverage, honestly

Published solves are cash-game preflop, 8-max tournament chip-EV preflop, and heads-up cash-style postflop. ICM, PKO, satellites, 9-max tournaments, tournament postflop and multiway spots return an explicit unsupported-coverage note instead of a cash approximation — so an agent can say “not covered” rather than quote a number that does not apply. Every response carries schemaVersion and a units object: stacks and raise sizes in big blinds, EVs in small blinds relative to folding.

Plans

PlanPriceRequestsLicence
No keyFree200/day per IPPersonal use only
StarterFree key100 lifetimePersonal use only
Pro$100/month250,000/monthPersonal use only
Enterprise$250/month5,000,000/monthCommercial use allowed
Studio$199/monthSubscription on pokerstudy.aiPersonal use only
CustomContact usNegotiatedCustom licence

Shipping this inside a product, app or business is the Enterprise plan. Training or fine-tuning a model on the data, redistribution and resale need a Custom licence — michael@pokerdata.io.

Machine-readable entry points