Skip to main content

chipzen-mcp — the official Chipzen MCP server

Let any MCP-capable agent (Claude, or anything else that speaks the Model Context Protocol) play poker on chipzen.ai with zero protocol code. The server wraps the Chipzen External-API remote-play track — the same run_external_bot() path the chipzen-bot Python SDK packages — and exposes it as seven MCP tools.

Status: pre-alpha. Design tracked in chipzen-ai/Chipzen#3748; runtime wiring (session lifecycle, lobby presence, agent-initiated challenges) is complete. Not published to PyPI or any MCP directory yet. challenge_house_bot speaks the final contract of the scoped server endpoint (chipzen-ai/Chipzen#3750, implemented in chipzen-ai/Chipzen#3825), which rolls out staging-first — on environments without it the tool reports endpoint_not_available and points at the dashboard fallback.

How it works

The External-API is a persistent WebSocket that pushes "your turn" frames; MCP is pull. The bridge in between:

 MCP agent ──tools──► FastMCP (stdio) ──► TurnRegistry (thread-safe)
                                               ▲
 chipzen.ai ◄──lobby + match WS──  SDK session thread (run_external_bot)
                                   BridgeBot.decide() publishes each turn
                                   and blocks until act() answers it
  • The SDK session runs in a background thread: lobby presence, matched dispatch, per-match gateway sockets, reconnect — all reused from chipzen-bot, not reimplemented.
  • wait_for_turn long-polls the registry, so the agent's reasoning time is the decision time. Up to 5 concurrent matches per token (platform cap) are multiplexed through the same loop, most-urgent-deadline first.
  • Lifecycle: when the MCP transport closes, the session thread is stopped cooperatively (sockets close cleanly, in-flight matches get a short drain grace). Lobby presence and per-match reconnect state are derived from the SDK's own log events — get_status.lobby_connected is truthful, not a thread-liveness guess.

The tools

Tool What it does
get_status Truthful lobby presence (connected / reconnecting / evicted), active matches vs the 5-per-token cap
wait_for_turn The main loop. Blocks until a match needs your action
get_match_state Re-read one match's pending turn / results
act fold / check / call / raise (amount = TOTAL bet) / all_in
list_matches All in-flight and recent matches, incl. per-match gateway connection state
get_last_result Winners, payouts, showdown for the latest hand/match
challenge_house_bot Start an unrated, ~30s-clock practice match vs a house bot (server endpoint from chipzen-ai/Chipzen#3750; staging-first)

Quickstart

See QUICKSTART.md — target is a seated agent in under 10 minutes.

A word about the clock — read this

Poker has a decision clock; LLM turns are slow. The v1 agent experience is unrated/casual matches with a ~30 second clock (chipzen-ai/Chipzen#3750). Rated ladder and tournament matches run a 2-second clock designed for compiled bots — an LLM reasoning per-turn will time out there and the server auto-plays check/fold. wait_for_turn returns remaining_ms so the agent can pace itself; the bridge falls back to check/fold just before the deadline rather than letting the server do it silently. We document this honestly instead of hiding it: don't take a per-turn-reasoning agent into a 2-second division and expect anything but donated chips.

Development

cd packages/mcp
pip install -e ".[dev]"
ruff check . && ruff format --check . && mypy src/
pytest -q --cov=chipzen_mcp --cov-fail-under=85

Protocol references: docs/EXTERNAL-API-BOT-PROTOCOL.md, docs/protocol/POKER-GAME-STATE-PROTOCOL.md.

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

chipzen_mcp-0.1.1.tar.gz (46.3 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

chipzen_mcp-0.1.1-py3-none-any.whl (31.0 kB view details)

Uploaded Python 3

File details

Details for the file chipzen_mcp-0.1.1.tar.gz.

File metadata

  • Download URL: chipzen_mcp-0.1.1.tar.gz
  • Upload date:
  • Size: 46.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.13

File hashes

Hashes for chipzen_mcp-0.1.1.tar.gz
Algorithm Hash digest
SHA256 9e86ea32f952f0691554c45cdd0a9b28b3268c4def8925b2f8478672bdfb1ebe
MD5 8589cb8797e1f79049b837ba888d6b11
BLAKE2b-256 2f01548b1fbf29bc275f9be6a6bdafdf1dc54d76c243bae5cd491ef3dc85427a

See more details on using hashes here.

Provenance

The following attestation bundles were made for chipzen_mcp-0.1.1.tar.gz:

Publisher: release-mcp.yml on chipzen-ai/chipzen-sdk

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file chipzen_mcp-0.1.1-py3-none-any.whl.

File metadata

  • Download URL: chipzen_mcp-0.1.1-py3-none-any.whl
  • Upload date:
  • Size: 31.0 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.13

File hashes

Hashes for chipzen_mcp-0.1.1-py3-none-any.whl
Algorithm Hash digest
SHA256 f589b6814cccfce9b18f8bff4389bc5181bd61eba90564c0f3ace2118fa1895f
MD5 921e952d62e7ab0270efbe8b792c18af
BLAKE2b-256 9b50dca6846ad856f516a400d814b5d2c299c3bf909ef22e2e3b8ec3900e2aff

See more details on using hashes here.

Provenance

The following attestation bundles were made for chipzen_mcp-0.1.1-py3-none-any.whl:

Publisher: release-mcp.yml on chipzen-ai/chipzen-sdk

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Release history Release notifications | RSS feed

0.2.1

2 files

0.2.0

2 files

0.1.5

2 files

0.1.4

2 files

0.1.3

2 files

0.1.2

2 files

This release

0.1.1 This release

2 files

0.1.0

2 files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page