Card Magic MCP
Click on "Deploy 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., "@Card Magic MCPHelp me arrange these playing cards: ♠J ♠4 ♣2 ♦3 ♦K"
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.
card-magic-mcp
A Model Context Protocol (MCP) server that implements the Chico & Dico card magic trick.
Chico & Dico's Card Magic: Randomly draw five playing cards, and the audience only needs to recite the first four cards in the order arranged by Chico, and Dico can know what the fifth card is.
You can experience this magic trick in the Smithery Playground.
🎭 Performance Steps
Tell the magician:
Help me arrange these playing cards ♠J ♠4 ♣2 ♦3 ♦KThis magician will separate the cards into two piles: the first four cards and the fifth card
Tell the other magician what the first four cards are, and they can tell you what the fifth card is:
The first four playing cards are [card1 card2 card3 card4], what is the fifth card?
Trust me, it's not through memory that it knows what the fifth card is, but through pure magic. To prevent the current dialog from remembering the fifth card, you can open a new Playground page. Tell it what the first four cards are and see if it can still guess correctly.
Related MCP server: CyberChef MCP Server
📦 Installation
Manual Installation
pip install card-magic-mcpInstalling via Smithery
To install Card Magic MCP Server for Claude Desktop automatically via Smithery:
npx -y @smithery/cli@latest install @luochang212/card-magic-mcp --client claude🚀 Usage
This MCP server can be integrated with Qwen Agent using two connection methods: stdio and sse.
For more examples, see examples/usage_remote.py
stdio: Local Call
Add the following configuration to the function_list parameter:
{
"mcpServers": {
"card_magic": {
"type": "stdio",
"command": "uvx",
"args": [
"--from",
"card-magic-mcp",
"card_magic_stdio"
]
}
}
}sse: Remote Call
Before calling, run the following code in the command line to start the MCP service:
HOST=0.0.0.0 PORT=8385 uvx --from card-magic-mcp card_magic_sseAdd the following configuration to function_list:
{
"mcpServers": {
"card_magic_sse": {
"url": "http://0.0.0.0:8385/sse"
}
}
}🔧 Available Tools
The MCP Server provides two tools for card magic:
encode_cards: Encode 5 cards to hide the 5th card's information in the arrangement of the first 4 cardsdecode_cards: Decode the hidden 5th card from the arrangement information of the first 4 visible cards
🃏 Card Format
Suits:
♠(Spades),♥(Hearts),♦(Diamonds),♣(Clubs)Ranks:
A,2,3,4,5,6,7,8,9,10,J,Q,KFormat: Each card should be written as
{suit}{rank}with spaces separating multiple cards
Available Tools
2 toolsdecode_cards_toolC
本函数实现魔术师 Dico 的操作:根据前四张牌猜第五张牌
| Name | Required | Description | Default |
|---|---|---|---|
| cards | Yes | 该参数接受 4 张牌,形如 ♠A ♥3 ♣10 ♦K 每张牌由【花色】和【数字】组成: - 可选的花色: - ♠ (黑桃, Spades) - ♥ (红心, Hearts) - ♦ (方块/方片, Diamonds) - ♣ (梅花, Clubs) - 可选的数字: A 2 3 4 5 6 7 8 9 10 J Q K 注意:请将花色和数字标准化后再作为参数传入 |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, and the description only states the magic trick operation. It does not disclose any behavioral traits, such as whether it is deterministic, error handling, or if it modifies 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?
Single sentence capturing the essence. No wasted words, though it is in Chinese. It could be slightly more informative but maintains conciseness.
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?
The tool has an output schema but the description never mentions what the function returns. For a guessing tool, the output is implicit but not stated. Given the simplicity, it is still incomplete.
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 100% coverage with a detailed description of the 'cards' parameter format. The description itself adds no extra meaning beyond the schema, so baseline score of 3 is appropriate.
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 it implements a magician's trick to guess the fifth card from four given cards. It uses specific verb and resource, though it doesn't distinguish from sibling tool encode_cards_tool (likely the reverse operation).
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 the sibling tool. It lacks any context about appropriate usage scenarios or prerequisites.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
encode_cards_toolB
本函数实现魔术师 Chico 的操作:将五张牌重新排序, 并在排序过程中将第五张牌的信息编码在前四张的排序信息中
| Name | Required | Description | Default |
|---|---|---|---|
| cards | Yes | 该参数接受 5 张牌,形如 ♥K ♣3 ♠7 ♦5 ♠A 每张牌由【花色】和【数字】组成: - 可选的花色: - ♠ (黑桃, Spades) - ♥ (红心, Hearts) - ♦ (方块/方片, Diamonds) - ♣ (梅花, Clubs) - 可选的数字: A 2 3 4 5 6 7 8 9 10 J Q K 注意:请将花色和数字标准化后再作为参数传入 |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description explains the core encoding algorithm, which adds transparency. However, it does not disclose side effects, permissions, or error conditions. Without annotations, the description carries the burden, and while it explains what the tool does, it omits details like return value or idempotency.
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 sentence that efficiently conveys the tool's purpose without unnecessary words. It is front-loaded with the key concept (magician Chico's operation) and is structurally sound, though the sentence is somewhat long.
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 specific card trick), the description partially explains the logic but assumes knowledge of 'magician Chico'. The output schema is present but not described. The sibling tool 'decode_cards_tool' is listed, providing some context, but the description itself is not fully self-contained.
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 already provides a detailed description of the 'cards' parameter including format, suit, and rank options. The tool description adds no additional semantic information beyond the schema. Since schema coverage is 100%, a baseline score of 3 is appropriate.
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 tool's function: reordering five cards and encoding the fifth card's information into the order of the first four. It uses a specific verb ('implements', 'reorder', 'encode') and identifies the resource (cards). It also distinguishes from its sibling tool 'decode_cards_tool' by context.
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 does not provide any guidance on when to use this tool versus alternatives (e.g., when to encode vs. decode). No prerequisites or prohibitions are mentioned, leaving the agent to infer usage solely from the tool name and sibling.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
2 tool updates
v1.0.9- First observed
decode_cards_tool - First observed
encode_cards_tool
TDQS
Scored across 2 tools
The two tools have clearly distinct purposes: one encodes information into a card ordering, the other decodes it. There is no overlap or ambiguity.
Both tools follow the same verb_noun_tool pattern consistently (decode_cards_tool and encode_cards_tool).
Two tools is slightly below the typical 3-15 range for a well-scoped server, but for a very focused domain (a specific card trick), it is still reasonable and each tool earns its place.
The tool set covers the complete workflow for the card trick: encoding (arranging five cards to hide the fifth) and decoding (recovering the fifth card from the arrangement). There are no missing operations.
Maintenance
Related MCP Connectors
Deck of Cards MCP — wraps deckofcardsapi.com (free, no auth)
Tarot card meanings, spreads and seeded reproducible readings for AI agents, one API key.
500+ deterministic tools for AI agents: math, conversion, validation, hashing, encoding, date/time.
15 tools for chess variant analysis, hex map generation, and board game utilities
Related MCP Servers
- FlicenseNot gradedqualityDmaintenanceEnables Magic: The Gathering players to manage decks and access card information through Claude, supporting gameplay actions like drawing cards and mulligans while providing Scryfall API integration for card lookups.15-
- FlicenseNot gradedqualityDmaintenanceEnables AI agents to discover, execute, and validate CyberChef operations for data encoding, decoding, encryption, and transformation tasks. Provides structured access to CyberChef's extensive catalog of data manipulation tools through natural language interactions.-
- AlicenseNot gradedqualityCmaintenanceProvides tools to interact with the Deck of Cards API (deckofcardsapi.com) for card operations such as drawing, shuffling, and managing decks through natural language.6 npmMIT
- FlicenseNot gradedqualityBmaintenanceProvides access to Magic: The Gathering card data via Scryfall API, including search, rulings, sets, and local deck management with multi-owner support.-