MCP Hub
Back to servers

MCP Poker

An MCP server that provides poker play recommendations by combining real-time Monte Carlo equity calculations with historical player tracking and exploit-based advice. It enables users to import PokerNow hand histories to analyze player tendencies and receive data-driven coaching for various game situations.

Updated
Feb 11, 2026

MCP Poker

An MCP server for poker play recommendations — real equity calculations, player tracking, and exploit-based recommendations.

How It Works

  • Equity engine: Monte Carlo simulation using phevaluator (a fast C-based poker hand evaluator). Suits, flushes, and all hand types are fully accounted for. No hardcoded hand rankings — everything is computed.
  • Player tracking: Imports PokerNow hand histories, stores all hands/actions in SQLite, and computes detailed player statistics (VPIP, PFR, 3-bet, c-bet, aggression, WTSD, etc.)
  • Exploit engine: Detects player leaks from historical data and adjusts GTO recommendations to exploit specific tendencies.
  • Multi-way aware: Advice adjusts based on number of players in the hand — bluffing less in multi-way, tightening value ranges, accounting for equity dilution.

Architecture

src/                          # TypeScript source (MCP server)
├── index.ts                  # Entry point — wires tools to MCP server
├── tools/
│   ├── import.ts             # import_pokernow_log, set_hero, set_player_alias, add_player_note
│   ├── player.ts             # get_player_stats, get_player_tendencies, get_player_profile, list_players
│   ├── recommend.ts          # recommend_action (main coaching tool)
│   ├── history.ts            # search_hands, analyze_hand, get_session_summary, list_sessions
│   └── guide.ts              # get_tool_guide (LLM documentation)
├── gto/
│   ├── preflop-ranges.ts     # Equity-driven preflop advice (no hardcoded ranges)
│   ├── postflop.ts           # MC equity calculator bridge + postflop advice engine
│   └── exploit.ts            # Player leak detection + exploit adjustments
├── db/
│   ├── schema.ts             # SQLite schema + auto-migration
│   └── queries.ts            # All DB queries + stat calculations + player profiles
└── types.ts                  # Shared TypeScript types

python/                       # Python (equity calculations, CSV parsing)
├── equity_calculator.py      # Monte Carlo equity calculator using phevaluator
├── parse_pokernow.py         # PokerNow CSV log parser
└── requirements.txt

data/                         # SQLite database (created at runtime, gitignored)
  • src/ = TypeScript source code
  • dist/ = Compiled JavaScript output (gitignored, built by npm run build)
  • python/ = Python scripts called by the TS server
  • .venv/ = Python virtual environment with phevaluator

Setup

Prerequisites

  • Node.js >= 18
  • Python 3.8+

Install

npm install
npm run build
python3 -m venv .venv
.venv/bin/pip install phevaluator

Add to Cursor

The .cursor/mcp.json is already configured. After opening this project in Cursor, the server should be available. If not, add to your MCP config:

{
  "mcpServers": {
    "poker": {
      "command": "node",
      "args": ["/path/to/mcp-poker/dist/index.js"]
    }
  }
}

Tools (14 total)

ToolDescription
import_pokernow_logImport a PokerNow CSV hand history file
set_heroSet which player is you
set_player_aliasLink two PokerNow IDs as the same person
add_player_noteSave a note about a player
get_player_statsFull stat sheet (VPIP, PFR, 3-bet, c-bet, AF, WTSD, etc.)
get_player_tendenciesNatural language leak analysis + exploit recommendations
get_player_profileComprehensive behavioral dossier (positional, multi-way, trends, showdowns)
list_playersList all tracked players
recommend_actionReal-time coaching with Monte Carlo equity + exploit adjustments
search_handsQuery hand history with filters
analyze_handDeep replay of a specific hand
get_session_summarySession results + biggest pots
list_sessionsList all imported sessions
get_tool_guideReturns full documentation on all tools for the LLM

For detailed input/output specs for every tool, call get_tool_guide from the LLM or see src/tools/guide.ts.

Data Storage

All data is stored locally in data/poker.db (SQLite). Nothing leaves your machine.

Reviews

No reviews yet

Sign in to write a review