Skip to content
Agentmart
Submit a tool

PokerData

GTO poker solver data: NLHE/PLO preflop ranges, postflop strategy, EV.

Connector by hft-studio · GitHub account verified by the MCP Registry

IndexedMITLocal (stdio)Remote (HTTP)
Write a review

Install

Works with Claude Code, VS Code, Codex, Cursor, Windsurf, Claude Desktop. Read the repository before you give any tool access to your data.

npx agentmarket install connector/hft-studio-pokerdata

Asks which of your tools to add it to (Claude Code, Codex, Cursor, VS Code, Windsurf, Gemini CLI, Claude Desktop) and shows the change first. See https://agentmart.dev/cli.

Remote endpoint

  • https://pokerdata.io/api/mcp Remote (HTTP)

Get the weekly diff

The weekly diff: one email a week with new agent tools, notable updates and grade changes, plus security alerts for tools you follow. Double opt-in, one-click unsubscribe.

We use your email only for this newsletter. Privacy

About

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

No reviews yet. Installed it? Reviews come from verified installers only. How reviews work

Permissions

What this server can do and what it asks for, from its tool list and install config. Checked Oct 25, 2026.

Tools
29 read · 0 write · 3 delete
Secrets
2 (API keys, tokens or passwords)
Install scripts
Not scanned yet
Runs as
Node.js package

Tools by what they do 32

From the running server's own tool list (tools/list) on Oct 25, 2026.

Read 29 · Look things up without changing anything.

  • compare_strategies
  • explain_combo
  • find_hands
  • get_board_report
  • get_config
  • get_exploitability
  • get_hand_results
  • get_node
  • get_opponent_limp_range
  • get_opponent_notes
  • get_postflop_node
  • get_postflop_range
Show 17 more tools
  • get_queued_solve
  • get_range
  • get_range_metadata
  • get_session_summary
  • get_started
  • get_tournament_results
  • get_tree_docs
  • get_upload_link
  • list_datasets
  • list_games
  • list_library_solutions
  • list_my_opponents
  • list_my_requests
  • list_my_sessions
  • list_postflop_packs
  • list_queued_solves
  • list_spots

Delete 3 · Delete, drop, revoke or wipe things.

  • enqueue_solve
  • submit_request
  • upload_hand_history

Secrets and settings it asks for

Secrets: values you paste in that let it act as you.

  • Authorization
  • POKERDATA_API_KEY

Network hosts it talks to 1

  • pokerdata.io · found in remote endpoint, install command

Files it touches

  • Any path the agent passes to its tools

Tools (32)

As the server listed them on Oct 25, 2026. Descriptions are the server’s own words; hidden characters are shown as [U+…].

  • compare_strategiesCompare two strategiesread-only

    Preferred tool for differences between two preflop or postflop contexts. The server fetches both strategies and returns action-frequency/EV deltas plus the largest postflop combo changes, avoiding two large node payloads.

  • enqueue_solveRecord a solve requestcan change or delete data

    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.

  • explain_comboExplain a postflop comboread-only

    Preferred tool for exact NLHE postflop hand questions. Returns a canonical context, exact action mix, action EV/loss when available, made-hand and draw classification, blocker facts, and same-rank-class suit comparisons. The server computes evidence; the agent should phrase causality as interpretation.

  • find_handsFind my handsread-only

    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. If this account has no hands, offer the hosted upload page from get_upload_link (https://pokerdata.io/upload) instead of asking the user to paste histories into chat.

  • get_board_reportReport on board texturesread-only

    Preferred tool for board-texture heuristics. 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.

  • get_configGet table configurationread-only

    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 the 1bb BB ante is posted from it. openSizes at 40bb is open 2.2x (listing 2.2bb; node decodes code 40034 to 2.19bb) and SB 2.8x (2.8bb). 10bb is all-in/fold versus 50bb stacks, so stacks is null there. evs on nodes are small blinds relative to fold. Example: get_config({ game: "nlmtt8", stack: 40 }).

  • get_exploitabilityGet preflop exploitabilityread-only

    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_hand_resultsGet my results curveread-only

    Per-hand cumulative results for a winnings curve. `points` is [{ hand, bb }], oldest to newest, downsampled. Pass session_id for one session. If this account has no hands, offer the hosted upload page from get_upload_link (https://pokerdata.io/upload) instead of asking the user to paste histories into chat.

  • get_nodeGet preflop decision noderead-only

    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 are small blinds relative to fold. Compact mode returns action totals; add `hand` for its exact mixed strategy. full=true is full=1: all 169 hold'em hands with explicit 0, and no invented EVs.

  • get_opponent_limp_rangeGet an opponent's limp rangeread-only

    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.

  • get_opponent_notesGet opponent notesread-only

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

  • get_postflop_nodeGet postflop solver noderead-only

    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`.

  • get_postflop_rangeGet postflop action rangeread-only

    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 the check-call range. Bet-size tree. "33" = 33% pot on the flop, then 75% pot on the turn and river, plus all-in. "75" = 75% pot on every street, plus all-in. Compact and full detail apply to the other range tools; this returns the action range itself.

  • get_queued_solveGet a queued solveread-only

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

  • get_rangeGet preflop rangeread-only

    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 representative pure/mixed hands unless a hand is specified; plo5 returns the top hands by EV that take the action (limit up to 500 compact, 2000 full).

Show 17 more tools
  • get_range_metadataGet range index metadataread-only

    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_session_summarySummarize a sessionread-only

    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. Use it after list_my_sessions to report how a session went; use get_hand_results for its winnings curve and find_hands for individual hands. Returns an error for an unknown session id. Any key works, free trial included, and it never counts against the allowance. If this account has no hands, offer the hosted upload page from get_upload_link (https://pokerdata.io/upload) instead of asking the user…

  • get_startedGet startedread-only

    Start here with a new user. Returns the short set of questions to ask them (game, format, stakes, goal), a menu of what PokerData can do with the tools for each, what is free without a key, and how to file a feature or data request. Free, no key needed.

  • get_tournament_resultsGet my tournament resultsread-only

    MTT results imported from tournament summary files. Money is in cents. Hand histories are not a source of buy-ins or prizes. If this account has no hands, offer the hosted upload page from get_upload_link (https://pokerdata.io/upload) instead of asking the user to paste histories into chat.

  • get_tree_docsGet tree documentationread-only

    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_upload_linkGet the hand-upload linkread-only

    Primary hand-upload path. Returns https://pokerdata.io/upload on this origin, with a short-lived signed token for the caller's account when signing is configured. Hand the URL to the user. Pasting histories into chat is the fallback.

  • list_datasetsList solved datasetsread-only

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

  • list_gamesList covered gamesread-only

    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" = …

  • list_library_solutionsList my saved solutionsread-only

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

  • list_my_opponentsList my opponentsread-only

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

  • list_my_requestsList my requestsread-only

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

  • list_my_sessionsList my sessionsread-only

    Recent uploaded sessions, newest first: id, hero, game type, dates, hands, and net result. game_type matches hole-card count. If this account has no hands, offer the hosted upload page from get_upload_link (https://pokerdata.io/upload) instead of asking the user to paste histories into chat.

  • list_postflop_packsList postflop packsread-only

    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 the flop, then 75%, under the `<pack>-flop33` id); every postflop tool accepts either tree's packId. PLO5 packs (ids starting plo5-) solve one 33% flop tree, flop decisions only. Compact output lists board names per pack. Pass `pack` (the 75% id or the -flop33 id) for that tree's per-board detail and per-flop exploitab…

  • list_queued_solvesList my queued solvesread-only

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

  • list_spotsSearch preflop spotsread-only

    Search valid decision nodes for a stack depth, tagged by depth (1 = RFI, 2 = vs open, 3 = 3-bet pots, …). Compact mode is paginated; use depth, contains, and offset to narrow results without loading thousands of paths. plo9 has no spot index: walk it with get_node from history "UTG".

  • submit_requestFile a feature or data requestcan change or delete data

    File a feature request or data request for the user, after telling them their question isn't covered and they agree. 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 team reads every one.

  • upload_hand_historyUpload a hand historycan change or delete data

    Secondary upload path for a small paste. Prefer get_upload_link and the hosted /upload page. Runs the same ingestion pipeline and returns hands parsed, tournaments parsed, and errors. Does not grade solver frequencies.

Signals

Stars
0
Forks
0
Open issues
5
Last commit
Oct 17, 2026 (13 days ago)
Last release
Oct 17, 2026 (13 days ago)

From GitHub (fetched Oct 24, 2026).

Details

Registry name
io.github.hft-studio/pokerdata
Version
1.0.4
Auth
Bearer token, API key
Packages
npm pokerdata-mcp
License
MIT
First seen
Oct 24, 2026
Last checked
Oct 24, 2026
Cite this page

PokerData MCP server. Agent Mart. https://agentmart.dev/connectors/hft-studio-pokerdata (last updated 2026-10-24)