NestDaddy

PokerData

io.github.hft-studio/pokerdata · v1.0.4

GTO poker solver data: NLHE/PLO preflop ranges, postflop strategy, EV. 6-max NL preflop free.

Connect Remote server

Terminal
claude mcp add --transport http pokerdata https://pokerdata.io/api/mcp --header "Authorization: Bearer <YOUR_API_KEY>"
~/.cursor/mcp.json
{
  "mcpServers": {
    "pokerdata": {
      "url": "https://pokerdata.io/api/mcp",
      "headers": {
        "Authorization": "Bearer <YOUR_API_KEY>"
      }
    }
  }
}
.vscode/mcp.json
{
  "servers": {
    "pokerdata": {
      "type": "http",
      "url": "https://pokerdata.io/api/mcp",
      "headers": {
        "Authorization": "Bearer <YOUR_API_KEY>"
      }
    }
  }
}
Claude Desktop
Settings > Connectors > Add custom connector
URL: https://pokerdata.io/api/mcp

Replace the values in angle brackets with your own. Keys stay on your machine; we never see them.

Tools 33 found in our last check

  • get_started

    Onboarding overview of PokerData: the short set of questions that identify a new user's needs (game, format, stakes, goal), a menu of what PokerData can do for each, what is free without a key, and how feature or data requests work. Free, no key needed. Docs: https://docs.pokerd…

  • submit_request

    Files a feature request or data request on the user's behalf with the PokerData team. kind "data" is missing coverage (a game, format, stack depth, spot, or solve); kind "feature" is a missing capability (a tool, filter, export, or endpoint). Free with any key; the PokerData tea…

  • list_my_requests

    List the feature and data requests this account has filed, newest first, with their status. Free with any key.

  • list_games

    Lists the covered preflop games with their stack depths and positions. "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/O…

  • get_range

    The GTO range for one spot. `spot` is an action path of POSITION_ACTION pairs ending in the action whose range you want, e.g. NLHE cash "UTG_60%_HJ_Call", nlmtt8 "UTG_Open", or PLO "UTG_Open_HJ_3B". Add `hand` for one exact frequency and EV. Compact mode is default; PLO returns…

  • get_node

    Actions available at a decision node. `history` is an action path ending in the position about to act, e.g. "UTG_60%_HJ". sizeBb is the raise-to in big blinds and sizePctPot is the percent of the pot after calling (nlmtt8 40bb Open 40034 is 2.19bb; the pack label is 2.2x). evs a…

  • get_config

    Table for one preflop game and stack, in big blinds: seats, stacks, blinds (sb 0.5, bb 1), ante, antePostedBy, stackIncludesAnte, openSizes (first-in raise-to), evUnit, evBaseline. Convergence is not published. stackIncludesAnte is true: the named depth is the starting stack and…

  • list_spots

    Search valid decision nodes for a stack depth, tagged by depth (1 = RFI, 2 = vs open, 3 = 3-bet pots, …). Compact mode is paginated; depth, contains, and offset narrow the results. plo9 has no spot index; its decision nodes start from history "UTG".

  • list_postflop_packs

    Every solved postflop pack: preflop line, positions (OOP vs IP), stack, pot, the bet-size trees it is solved under, and the solved boards. Boards use the spaced form ("3h 3d 2s"). NLHE packs list `sizingTrees`: "75" (75% pot every street, the pack id itself) and "33" (33% pot on…

  • get_postflop_node

    One postflop solver node: the acting player's strategy for every hand class, the legal next segments, board, reach and the reach-weighted action split. Walk deeper by appending a returned childSegment (an action like "Bet 5.5" or a runout like "deal:7c") to `path`.

  • explain_combo

    Explains one exact NLHE postflop combo at a solved node. Returns a canonical context, the exact action mix, action EV/loss when available, made-hand and draw classification, blocker facts, and same-rank-class suit comparisons. The output is computed evidence; it does not state w…

  • get_board_report

    Board-texture report. Aggregates action frequencies and range/action composition across solved boards in one postflop pack. Results explicitly report sample breadth and use equal weight per board.

  • compare_strategies

    Compares two preflop or postflop contexts. Fetches both strategies server-side and returns action-frequency/EV deltas plus the largest postflop combo changes in one compact payload.

  • list_datasets

    List preflop datasets in the shipped tree documentation (stacks, positions, whether each bundle was analyzed). Preflop exploitability is not available.

  • get_tree_docs

    Tree documentation for one dataset: coverage note from the shipped README and per-stack bundle or node counts from the shipped index. Does not read or modify range bytes.

  • get_range_metadata

    Index metadata for one preflop game, stack, and path: bundle stats for hold'em/PLO bundles, or the matching node row for plo5 and plo6hu. Does not return a strategy and does not invent exploitability.

  • get_exploitability

    Preflop exploitability for a game. No preflop dataset publishes exploitability, convergence, or iteration counts. The answer is not available; this tool never fills in a number.

  • get_postflop_range

    The range a player takes one flop action with, from a solved pack: hand-class weights ("AA:1,AKs:0.42,...", same format as the preflop ranges) after every earlier flop action on the path. `path` ends in the action whose range you want, e.g. ["Check", "Bet 1.8", "Call 1.8"] for t…

  • find_hands

    Find hands the account has uploaded. Returns hand_id, session_id, handAt, position, cards, game, board, potType, street lines, and netBb. Solver grade buckets are not filled. Reads only hands this account uploaded. Docs: https://docs.pokerdata.io/llm-tools#hosted-mcp

  • get_hand_results

    Per-hand cumulative results for a winnings curve. `points` is [{ hand, bb }], oldest to newest, downsampled. Pass session_id for one session. Reads only hands this account uploaded. Docs: https://docs.pokerdata.io/llm-tools#hosted-mcp

  • get_session_summary

    One uploaded session's headline numbers: hero, game type, start and end times, hands played, net result in big blinds, and HUD rates (VPIP, PFR, 3-bet, open limp) as percentages with the sample size. Returns an error for an unknown session id. Any key works, free trial included,…

  • list_my_sessions

    Recent uploaded sessions, newest first: id, hero, game type, dates, hands, and net result. game_type matches hole-card count. Reads only hands this account uploaded. Docs: https://docs.pokerdata.io/llm-tools#hosted-mcp

  • get_tournament_results

    MTT results imported from tournament summary files. Money is in cents. Hand histories are not a source of buy-ins or prizes. Reads only hands this account uploaded. Docs: https://docs.pokerdata.io/llm-tools#hosted-mcp

  • list_my_opponents

    Tracked opponents from uploaded hands. Each row has handCount, handsVsHero, and heroBb100Vs. Pass name to find one villain.

  • get_opponent_notes

    Leak notes computed from uploaded hands for one opponent, with the sample size on each line.

  • get_opponent_limp_range

    Shown-hand first-in limp range: 169-class counts of hole cards villains showed after an open limp. Pass position for one seat. Sample is showdown-only. This is not a solver range.

  • enqueue_solve

    Record a heads-up postflop solve request. Required: title, board, pot (bb), effective_stack (bb). The job stays pending: solver dispatch and billing are not configured, so this does not start a solve.

  • get_queued_solve

    Look up one queued solve for this account. status is pending, running, done, or failed. solution_id is null until a worker exists.

  • list_queued_solves

    List this account's solver-queue jobs, newest first. Jobs are not dispatched.

  • list_library_solutions

    Finished postflop solutions saved for this account. None are marked done while dispatch is disabled.

  • get_upload_link

    Returns the hosted hand-upload page, https://pokerdata.io/upload?utm_source=mcp_other&utm_medium=mcp on this origin, with a short-lived signed token for the caller's account when signing is configured. A person opens the URL and drops hand-history files there; it is the primary…

  • upload_hand_history

    Uploads a small pasted hand history or tournament summary (the hosted /upload page handles files). Runs the same ingestion pipeline and returns hands parsed, tournaments parsed, and errors. Does not grade solver frequencies.

  • get_pricing

    Get the price and buy link for each PokerData game bundle: one-time USD price, the pack-by-pack price for comparison, what is in the bundle (stack depths, postflop archives) and the page where it is bought. Pass `game` for one bundle, or omit it for all of them. Read-only; nothi…

Headers

NameDescription
Authorization
Optional, secret
Bearer pdk_… API key from https://pokerdata.io/app/api. Optional: without it the tool list and 6-max NL cash preflop tools still work.

Details

Endpointhttps://pokerdata.io/api/mcp (Streamable HTTP)
Package[email protected] (NPM, stdio)
First published17 Oct 2026
Last updated17 Oct 2026
Registry nameio.github.hft-studio/pokerdata

More developer tools servers See all

Listing data from the official MCP registry. Status and tools from NestDaddy's daily check. Browse all MCP servers.