Texas Holdem MCP Server
The Texas Holdem MCP Server enables MCP client agents to play Texas Holdem poker games by:
Login and list available poker tables
Join a specific table using player_id and table_id
Get current table status and details
Leave a table
Execute poker actions (check, fold, bet, raise, call) during gameplay
Implemented with Node.js for running a Texas Holdem poker game server that allows AI agents to participate in poker games against humans or other agents.
Built with TypeScript to provide a strongly-typed implementation of a Texas Holdem poker game that AI agents can join and play through the MCP protocol.
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@Texas Holdem MCP Serverjoin a Texas Hold'em game as 'PokerPro' and play a hand"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
Texas Holdem MCP Server
This is an Model Context Protocol server that allows an MCP client agents to play a game of Texas Holdem poker game. It is implemented with Node.js and TypeScript, including game server, game client, and a MCP Server.
Most Code in this project is generated by AI(Claude-3.7-Sonnet), and it tooks about 5 hours to improve and debug. Its Amazing!
Online Demo



Related MCP server: Pokemon MCP Server
Getting started
Build :
npm install
npm run buildRun Poker Server:
npm run devOpen Poker Client: Open your browser visit http://localhost:3000/
Configure your MCP client to add the tool. For example, here is how to add the tool to Cline, assuming you cloned the repo at
/path/to/poker-mcp-server:
{
"mcpServers": {
"poker-mcp-server": {
"command": "node",
"args": ["/path/to/poker-mcp-server/dist/mcpServer.js"],
"env": {
"DEBUG": "*"
}
}
}
}Cline:

Example prompt
You are a Texas Hold'em poker expert. Please use the name "Super Awesome Pro" to join a Texas Hold'em poker game and win more chips. You can only use the functions provided by the poker-mcp-server MCP server. After joining the game, you must wait for your turn to act before proceeding to the next move.Enjoy Playing Poker With LLM!
Available Tools
9 toolsaction_betD
do action bet
| Name | Required | Description | Default |
|---|---|---|---|
| amount | Yes | ||
| player_id | Yes | ||
| table_id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden of behavioral disclosure. 'do action bet' reveals nothing about whether this is a read or write operation, what permissions are required, whether it's idempotent, what happens on success/failure, or any side effects. It provides zero behavioral context beyond the basic action name.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
While technically concise with just three words, this is under-specification rather than effective conciseness. The description doesn't front-load important information and fails to provide the minimal context needed for understanding. Every word should earn its place, but here the words don't provide enough value.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool with 3 parameters, 0% schema coverage, no annotations, no output schema, and multiple similar sibling tools, the description is completely inadequate. It provides no information about what the tool does, when to use it, what the parameters mean, or what behavior to expect. This leaves the agent with insufficient context to use the tool correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
With 0% schema description coverage and 3 undocumented parameters (amount, player_id, table_id), the description adds no semantic information about what these parameters mean, their expected formats, units for 'amount', or relationships between them. The description doesn't mention parameters at all, leaving them completely unexplained.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description 'do action bet' is essentially a tautology that restates the tool name 'action_bet' with minimal elaboration. It doesn't specify what resource is being acted upon or what the bet action actually accomplishes. While it implies a betting action, it lacks the specificity needed to distinguish it from sibling tools like action_raise or action_call.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives. There are multiple action-related sibling tools (action_call, action_check, action_fold, action_raise), but the description doesn't explain what distinguishes 'bet' from these other actions or when it would be appropriate to use this specific tool.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
action_callD
do action call
| Name | Required | Description | Default |
|---|---|---|---|
| player_id | Yes | ||
| table_id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure but offers nothing. 'do action call' doesn't indicate whether this is a read or write operation, what permissions might be required, whether it's destructive, what side effects occur, or what the expected behavior is. The description provides zero behavioral context for a tool that clearly performs some action in a gaming/poker context.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
While technically concise with just three words, this is under-specification rather than effective conciseness. The description doesn't contain enough information to be useful, and what little it does provide is poorly structured - it doesn't follow the verb+resource pattern that would help the agent understand the tool's function. The brevity comes at the cost of complete inadequacy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the complexity implied by the sibling tools (poker/gaming actions), two required parameters, no annotations, and no output schema, the description is completely inadequate. It provides no information about what the tool does, when to use it, what parameters mean, what behavior to expect, or what results are returned. This is a 3-parameter-equivalent tool (including the implied 'action' parameter) with essentially zero documentation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
With 0% schema description coverage and two required parameters (player_id, table_id), the description provides absolutely no information about what these parameters mean, their format, or how they should be used. 'do action call' doesn't mention parameters at all, leaving the agent with no semantic understanding of what player_id and table_id represent in the context of this action.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description 'do action call' is essentially a tautology that restates the tool name with minimal additional meaning. It doesn't specify what resource is being acted upon, what type of action is performed, or how this differs from sibling tools like action_bet, action_check, or action_fold. The description fails to provide any meaningful purpose clarification beyond the tool name itself.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides absolutely no guidance about when to use this tool versus the many alternatives available (action_bet, action_check, action_fold, action_raise, join_table, etc.). There's no indication of appropriate context, prerequisites, or distinctions from sibling tools. The agent would have no basis for selecting this tool over alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
action_checkD
do action check
| Name | Required | Description | Default |
|---|---|---|---|
| player_id | Yes | ||
| table_id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure but fails completely. 'do action check' doesn't reveal whether this is a read or write operation, what permissions are required, what side effects occur, or what the tool returns. For a tool with 2 required parameters and no annotation coverage, this is a critical deficiency.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
While technically concise with just three words, this is a case of under-specification rather than effective conciseness. The description fails to communicate essential information, making it inefficient rather than efficient. It doesn't follow the principle of front-loading key information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool has 2 required parameters, no annotations, no output schema, and 0% schema description coverage, the description is completely inadequate. It provides no meaningful information about what the tool does, when to use it, what parameters mean, or what behavior to expect. This is insufficient for any practical use.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema description coverage is 0%, meaning neither parameter (player_id, table_id) has any documentation in the schema. The description 'do action check' provides zero information about what these parameters mean, what format they should be in, or how they relate to the tool's function. This leaves both required parameters completely undocumented.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description 'do action check' is a tautology that merely restates the tool name 'action_check' without adding any meaningful information about what the tool actually does. It doesn't specify what resource is being acted upon or what 'check' means in this context, making it completely unhelpful for understanding the tool's purpose.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides absolutely no guidance about when to use this tool versus the 7 sibling tools (action_bet, action_call, action_fold, action_raise, get_table_status, join_table, leave_table, login). There's no indication of what context triggers this tool, what prerequisites exist, or how it differs from other action-related tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
action_foldD
do action fold
| Name | Required | Description | Default |
|---|---|---|---|
| player_id | Yes | ||
| table_id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries full burden for behavioral disclosure. 'do action fold' reveals nothing about whether this is a read or write operation, what permissions are required, whether it's destructive, what side effects occur, or what the response looks like. This is completely inadequate for a tool that appears to modify game state.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
While technically concise with three words, this is under-specification rather than effective brevity. The description fails to convey essential information that would help an agent use the tool correctly. Every word should earn its place, but here the words don't provide meaningful guidance.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the complexity implied by the tool name (game action), zero annotations, undocumented parameters, no output schema, and multiple similar sibling tools, this description is completely inadequate. It provides none of the contextual information needed to understand when and how to use this tool effectively.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
With 0% schema description coverage for both parameters (player_id and table_id), the description provides zero information about what these parameters mean, their format, or their purpose. 'do action fold' doesn't mention parameters at all, leaving the agent with completely undocumented inputs.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description 'do action fold' is a tautology that essentially restates the tool name with minimal added meaning. While it implies this tool performs a 'fold' action in some context (likely poker/gaming), it lacks specificity about what resource or system it operates on and doesn't distinguish it from sibling tools like action_bet or action_call.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides absolutely no guidance about when to use this tool versus alternatives. With multiple action_* siblings (bet, call, check, raise) and other table management tools, there's no indication of appropriate contexts, prerequisites, or exclusions for using action_fold.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
action_raiseD
do action raise
| Name | Required | Description | Default |
|---|---|---|---|
| amount | Yes | ||
| player_id | Yes | ||
| table_id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure but offers none. It doesn't indicate whether this is a read or write operation, what permissions might be required, what side effects occur, or what the expected outcome is. For a tool with three required parameters and no annotation coverage, this represents a complete failure to describe behavioral traits.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
While technically concise with just three words, this represents under-specification rather than effective brevity. The description doesn't contain enough information to be useful, making its conciseness detrimental rather than beneficial. It lacks any structure or logical organization of information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the complexity (three required parameters, no annotations, no output schema, and multiple sibling tools in what appears to be a poker/gaming context), the description is completely inadequate. It provides no context about the domain, no explanation of what 'raise' means in this system, and no information about expected outcomes or error conditions. The description fails to provide the minimal necessary context for effective tool use.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
With 0% schema description coverage and three undocumented parameters (amount, player_id, table_id), the description provides absolutely no information about parameter meanings, formats, or constraints. It doesn't explain what 'amount' represents, how player_id and table_id should be formatted, or any relationships between parameters. The description fails to compensate for the complete lack of schema documentation.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description 'do action raise' is a tautology that merely restates the tool name without adding any meaningful clarification. It doesn't specify what resource is being acted upon, what 'raise' means in this context, or how this differs from sibling tools like action_bet or action_call. The description fails to communicate the tool's purpose beyond its name.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance about when to use this tool versus alternatives. There's no mention of appropriate contexts, prerequisites, or distinctions from sibling tools like action_bet, action_call, or action_check. The agent receives zero guidance about when this specific 'raise' action should be selected over other available actions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_table_statusC
Get the current status of a poker table
| Name | Required | Description | Default |
|---|---|---|---|
| player_id | Yes | ||
| table_id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries full burden but provides minimal behavioral insight. It implies a read-only operation but doesn't disclose whether it requires authentication, affects game state, has rate limits, or what the output format might be. This is inadequate for a tool with potential side effects.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, clear sentence with no wasted words. It's front-loaded with the core action and resource, making it efficient and easy to parse.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no annotations, 0% schema coverage, and no output schema, the description is insufficient. It doesn't cover authentication needs, error conditions, return values, or how it fits with sibling tools like 'login' or 'join_table', leaving critical gaps for agent understanding.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must compensate but adds no parameter information. It doesn't explain what 'player_id' and 'table_id' represent, their formats, or how they relate to getting table status, leaving parameters entirely undocumented.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb ('Get') and resource ('current status of a poker table'), making the purpose immediately understandable. It doesn't explicitly distinguish from siblings like 'join_table' or 'leave_table', but the action is specific enough to infer differentiation.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus alternatives. It doesn't mention prerequisites (e.g., needing to be logged in or at a table) or contrast with other status-checking tools, leaving the agent to infer usage from context alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
join_tableC
Join a poker table
| Name | Required | Description | Default |
|---|---|---|---|
| player_id | Yes | ||
| table_id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure. It states the action but doesn't reveal any behavioral traits—such as whether joining requires specific permissions, if it's idempotent, what happens on success/failure, or any rate limits. This leaves critical operational details unspecified.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely concise—just three words—and front-loaded with the core action. There's no wasted text, making it easy to parse quickly. However, this brevity comes at the cost of completeness, but for conciseness alone, it's optimal.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's complexity (a mutating action with 2 parameters), lack of annotations, no output schema, and 0% schema description coverage, the description is incomplete. It doesn't cover parameter meanings, behavioral outcomes, or usage context, leaving significant gaps for an agent to operate effectively.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has 2 parameters with 0% description coverage, so the schema provides no semantic context. The description adds no meaning beyond the tool name—it doesn't explain what 'player_id' and 'table_id' represent, their formats, or how they relate to the join operation. This fails to compensate for the low schema coverage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description 'Join a poker table' clearly states the action (join) and resource (poker table), but it's somewhat vague about what 'join' entails—does it mean entering a game, sitting at a seat, or something else? It distinguishes from siblings like 'leave_table' but not from other table-related tools like 'get_table_status', leaving room for improvement in specificity.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives. For example, it doesn't mention prerequisites (e.g., needing to be logged in via 'login' first) or when to choose this over other actions like 'action_bet'. This lack of context makes it harder for an agent to decide appropriately.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
leave_tableC
Leave a poker table
| Name | Required | Description | Default |
|---|---|---|---|
| player_id | Yes | ||
| table_id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries full burden for behavioral disclosure. 'Leave a poker table' implies a mutation (player exiting), but it doesn't describe effects (e.g., forfeits chips, ends participation), permissions, or error conditions. This is a significant gap for a mutation tool with zero annotation coverage.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, efficient sentence with zero waste. It is appropriately sized and front-loaded, making it easy to parse quickly without unnecessary elaboration.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given a mutation tool with 2 parameters, 0% schema coverage, no annotations, and no output schema, the description is incomplete. It lacks details on behavior, parameters, and outcomes, failing to provide enough context for reliable tool invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must compensate for undocumented parameters. It adds no meaning beyond the schema, failing to explain what 'player_id' and 'table_id' represent or their format (e.g., UUIDs, names). This leaves parameters semantically unclear.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description 'Leave a poker table' clearly states the action (leave) and target resource (poker table), providing basic purpose. However, it doesn't differentiate from sibling tools like 'join_table' or specify what 'leave' entails beyond the verb itself, making it somewhat vague.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus alternatives. It doesn't mention prerequisites (e.g., must be at a table), exclusions (e.g., cannot leave during active hand), or relationships with siblings like 'join_table' or action tools, leaving the agent with no usage context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
loginC
login and list all tables in the poker game
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure. It mentions 'login' (suggesting authentication) and 'list all tables', but doesn't clarify if this is a read-only operation, what authentication is required, whether it creates a session, or what happens on failure. This leaves significant gaps for a tool with authentication implications.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, efficient sentence that front-loads the core actions. However, its dual-purpose nature ('login and list') slightly reduces clarity, but it avoids unnecessary verbosity.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no annotations, no output schema, and low schema coverage, the description is incomplete. It doesn't explain the authentication process, return values (e.g., table list format, session tokens), or error handling, which are critical for a tool involving login functionality.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema has 1 parameter with 0% description coverage, so the description must compensate. It doesn't mention the 'name' parameter at all, leaving its purpose (e.g., username, player name, session identifier) completely undocumented. This fails to add meaning beyond the bare schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states the tool performs two actions: 'login' and 'list all tables in the poker game'. While it specifies the resource (poker game tables), the dual-purpose nature makes it somewhat vague compared to a single, specific verb+resource combination. It doesn't clearly distinguish from siblings like 'get_table_status' or 'join_table'.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No explicit guidance is provided on when to use this tool versus alternatives. The description implies it might be for initial setup or authentication, but there's no mention of prerequisites, when-not-to-use scenarios, or how it relates to siblings like 'join_table' or 'get_table_status'.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
TDQS
Every tool has a clearly distinct purpose with no ambiguity. The five action_* tools each represent a specific poker move (bet, call, check, fold, raise), while the other four tools handle table management and login functions. There is no overlap in functionality between these categories.
The naming is mostly consistent with a clear verb_noun pattern, but there is one minor deviation. The action_* tools follow a consistent 'action_verb' format, and get_table_status, join_table, and leave_table follow a 'verb_noun' pattern. However, 'login' breaks this pattern by being a single verb without a noun, though it's still readable.
With 9 tools, this server is well-scoped for a Texas Hold'em poker domain. It covers essential actions (bet, call, check, fold, raise), table management (join, leave, get status), and authentication (login), with each tool earning its place without being excessive or insufficient.
The tool surface is largely complete for basic poker gameplay, covering key actions and table lifecycle. However, there are minor gaps, such as no tools for creating or listing tables, which might be inferred from 'login' but aren't explicitly provided, potentially requiring workarounds for full table management.
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Connectors
Live Texas Hold'em for AI agents. The tools teach the rules; the bluffing is up to your model.
MCP server for building and testing AI agents with multi-model experimentation and insights.
A comprehensive Model Context Protocol (MCP) server that enables AI assistants to interact with yo…
MCP server for AI dialogue using various LLM models via AceDataCloud
Related MCP Servers
- AlicenseNot gradedqualityDmaintenanceA Model Context Protocol (MCP) server implementation that exposes Pearl's AI and Expert services through a standardized interface8Apache 2.0
- FlicenseNot gradedqualityDmaintenanceAn MCP server that enables AI agents to play Pokémon games by providing a functional interface for game interaction. It allows for seamless integration with AI clients to execute gameplay tasks and manage game states.3
- FlicenseNot gradedqualityDmaintenanceAn MCP server that enables AI agents to interact with the Test MCP Mar19 USDC API through standardized tools. It supports seamless integration via the Model Context Protocol and features Docker-ready deployment.

multivon-mcpofficial
AlicenseAqualityAmaintenanceMCP server that gives AI coding agents direct access to evaluation tools.22Apache 2.0
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/freshlife001/mcp_poker'
If you have feedback or need assistance with the MCP directory API, please join our Discord server