纸牌魔术大师
一个实现Chico & Dico卡片魔术的模型上下文协议(MCP)服务器,能够在被告知前四张牌的特定顺序后猜出第五张牌。
MCP 服务配置
复制以下 JSON 到 OPClaw 或其他 MCP 客户端的配置文件中即可使用
{
"mcpServers": {
"card_magic": {
"args": [
"--from",
"card-magic-mcp",
"card_magic_stdio"
],
"command": "uvx",
"type": "stdio"
},
"card_magic_sse": {
"url": "http://0.0.0.0:8385/sse"
}
}
}
可用工具 (2 个)
该服务在 MCP 协议中暴露的工具,AI 可按需调用
encode_cards_tool 1 个参数 需填 1 项
本函数实现魔术师 Chico 的操作:将五张牌重新排序, 并在排序过程中将第五张牌的信息编码在前四张的排序信息中 :param cards: 该参数接受 5 张牌,形如 ♥K ♣3 ♠7 ♦5 ♠A 每张牌由【花色】和【数字】组成: - 可选的花色: - ♠ (黑桃, Spades) - ♥ (红心, Hearts) - ♦ (方块/方片, Diamonds) - ♣ (梅花, Clubs) - 可选的数字: A 2 3 4 5 6 7 8 9 10 J Q K 注意:请将花色和数字标准化后再作为参数传入 :return: 本函数返回前四张牌和第五张牌的值
必填参数:cards
decode_cards_tool 1 个参数 需填 1 项
本函数实现魔术师 Dico 的操作:根据前四张牌猜第五张牌 :param cards: 该参数接受 4 张牌,形如 ♠A ♥3 ♣10 ♦K 每张牌由【花色】和【数字】组成: - 可选的花色: - ♠ (黑桃, Spades) - ♥ (红心, Hearts) - ♦ (方块/方片, Diamonds) - ♣ (梅花, Clubs) - 可选的数字: A 2 3 4 5 6 7 8 9 10 J Q K 注意:请将花色和数字标准化后再作为参数传入 :return: 本函数返回第五张牌的值
必填参数:cards
服务介绍
card-magic-mcp
一个实现了Chico & Dico纸牌魔术的模型上下文协议(MCP)服务器。
Chico & Dico的纸牌魔术:随机抽取五张扑克牌,观众只需要按照Chico安排的顺序背诵前四张牌,Dico就能知道第五张牌是什么。
你可以在Smithery Playground中体验这个魔术。

🎭 表演步骤
- 告诉魔术师:
帮我排列这些扑克牌 ♠J ♠4 ♣2 ♦3 ♦K - 魔术师会将牌分成两堆:前四张牌和第五张牌
- 告诉另一位魔术师前四张牌是什么,他们可以告诉你第五张牌是什么:
前四张扑克牌是 [card1 card2 card3 card4],第五张牌是什么?
[!NOTE]
请相信我,它不是通过记忆来知道第五张牌是什么,而是通过纯粹的魔法。为了防止当前对话记住第五张牌,你可以打开一个新的Playground页面。告诉它前四张牌是什么,看看它是否还能正确猜出。
📦 安装
手动安装
bash
pip install card-magic-mcp
通过Smithery安装
要通过Smithery自动为Claude Desktop安装Card Magic MCP Server:
bash
npx -y @smithery/cli@latest install @luochang212/card-magic-mcp --client claude
🚀 使用方法
此MCP服务器可以通过两种连接方式与Qwen Agent集成:stdio 和 sse。
更多示例,请参见 examples/usage_remote.py
stdio: 本地调用
在function_list参数中添加以下配置:
json
{
"mcpServers": {
"card_magic": {
"type": "stdio",
"command": "uvx",
"args": [
"--from",
"card-magic-mcp",
"card_magic_stdio"
]
}
}
}
sse: 远程调用
在调用之前,在命令行中运行以下代码以启动MCP服务:
bash
HOST=0.0.0.0 PORT=8385 uvx --from card-magic-mcp card_magic_sse
在function_list中添加以下配置:
json
{
"mcpServers": {
"card_magic_sse": {
"url": "http://0.0.0.0:8385/sse"
}
}
}
🔧 可用工具
MCP服务器提供了两个用于纸牌魔术的工具:
encode_cards: 将5张牌编码,隐藏第五张牌的信息在前四张牌的排列中decode_cards: 从前四张可见牌的排列信息中解码隐藏的第五张牌
🃏 牌面格式
- 花色:
♠(黑桃),♥(红心),♦(方片),♣(梅花) - 点数:
A, 2, 3, 4, 5, 6, 7, 8, 9, 10, J, Q, K - 格式: 每张牌应写为
{花色}{点数},多张牌之间用空格分隔