Horizontal

实测可用开发和代码数据库和数据

PokerData

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

地址https://pokerdata.io/api/mcp
Claude Codeclaude mcp add --transport http pokerdata https://pokerdata.io/api/mcp
Cursor 等客户端的配置
{
  "mcpServers": {
    "pokerdata": {
      "type": "http",
      "url": "https://pokerdata.io/api/mcp"
    }
  }
}

连接时它要:Authorization

要注意

有会改数据的工具:3 个

服务方自己把这些工具标成了会删除或改写数据(destructiveHint),让智能体调用前先问你。

测试结果
实测可用:握手成功
工具
32 个工具
握手用时
1.8 秒
传输方式
streamable-http · 2025-06-18
测试时间
2026 年 11 月 6 日
官方目录名称
io.github.hft-studio/pokerdata v1.0.4
登记于
2026 年 10 月 17 日
更新于
2026 年 10 月 17 日
网站
pokerdata.io/api
代码
github.com/hft-studio/pokerdata-mcp
也能装到本机
1 个安装包
最近 1 次测试
时间结果用时
2026-11-06 12:30 UTC握手成功1.8 秒

它列出的 32 个工具

“只读”和“会改数据”是服务方自己标的。带下划线的参数是必填的。

  1. compare_strategies只读

    Compare two strategies

    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.

    domain baseline comparison comboLimit format objective anteBb

  2. enqueue_solve会改数据

    Record a solve request

    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.

    title board pot effective_stack oop_range ip_range bet_sizes add_allin max_aggressions iterations tags

  3. explain_combo只读

    Explain a postflop combo

    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.

    pack board path combo comparisonLimit format objective anteBb

  4. find_hands只读

    Find my 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. 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.

    session_id game_type table_size filter gto_vs_3bet_bucket gto_plo5_rfi_bucket sort limit

  5. get_board_report只读

    Report on board textures

    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.

    pack path filters boardLimit representativeLimit format objective anteBb

  6. get_config只读

    Get table configuration

    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 }).

    game stack

  7. get_exploitability只读

    Get preflop 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.

    game

  8. get_hand_results只读

    Get my results curve

    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.

    session_id max_points

  9. get_node只读

    Get preflop decision 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 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.

    game stack scenario history hand minFreq full detail

  10. get_opponent_limp_range只读

    Get an opponent's 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.

    opponent_id session_id position table_size game_type limit

  11. get_opponent_notes只读

    Get opponent notes

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

    opponent_id

  12. get_postflop_node只读

    Get postflop solver 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`.

    pack board path combo limit detail

  13. get_postflop_range只读

    Get postflop action 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 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.

    pack tree board path hand minFreq

  14. get_queued_solve只读

    Get a 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.

    queue_id

  15. get_range只读

    Get preflop 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 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).

    game stack spot hand minFreq detail limit

  16. get_range_metadata只读

    Get range index 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.

    game stack path

  17. get_session_summary只读

    Summarize a session

    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 to paste histories into chat.

    session_id

  18. get_started只读

    Get started

    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.

  19. get_tournament_results只读

    Get my tournament results

    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.

    limit

  20. get_tree_docs只读

    Get tree documentation

    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.

    dataset

  21. get_upload_link只读

    Get the hand-upload link

    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.

  22. list_datasets只读

    List solved datasets

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

  23. list_games只读

    List covered games

    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), "nlh8-icm" = no-limit hold'em 8-max MTT with ICM: one stack table per scenario (near the money, 33 or 35 left of 200, 30 paid; final table, 8 left), uneven stacks, 0.125bb ante from every seat, EVs in tournament dollars; pass scenario (list_games lists them; stack alone works only where one table has that depth); get_node only, "nlhu" = no-limit hold'em heads-up for the title, chip-EV, both players at the stack (1–40bb), 0.125bb ante each, SB on the button; get_node only, "plo" = pot-limit Omaha 6-max cash (4-card), "plo5" = pot-limit Omaha 5-car

    detail

  24. list_library_solutions只读

    List my saved solutions

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

    limit

  25. list_my_opponents只读

    List my opponents

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

    limit name hero game_type min_hands sort

  26. list_my_requests只读

    List my requests

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

    limit

  27. list_my_sessions只读

    List my sessions

    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.

    limit game_type

  28. list_postflop_packs只读

    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 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 exploitability where the index publishes a number. Missing exploitability is omitted, never estimated. Pass `variant` to list only NLHE or PLO5 packs. Call this before get_postflop_node.

    variant pack detail

  29. list_queued_solves只读

    List my queued solves

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

    limit

  30. list_spots只读

    Search preflop 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; 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".

    game stack depth contains offset limit detail

  31. submit_request会改数据

    File a feature or data request

    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.

    kind summary question details

  32. upload_hand_history会改数据

    Upload a hand history

    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.

    filename text

这是你的服务?

认领后,服务坏了第一时间知道,还能改正这一页、提交你自己的用法。

测试只做握手和列出工具,没有调用任何工具。名称和说明是登记的人写的,原样展示,我们没有核实。

回到 MCP 服务实测