纸牌魔术大师

FMoBall/card-magic-mcp
Hosted
2 Stars 1.7k 次浏览 更新于 2026-08-23

一个实现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

License
PyPI
Downloads
CI
smithery badge

中文文档

一个实现了Chico & Dico纸牌魔术的模型上下文协议(MCP)服务器。

Chico & Dico的纸牌魔术:随机抽取五张扑克牌,观众只需要按照Chico安排的顺序背诵前四张牌,Dico就能知道第五张牌是什么。

你可以在Smithery Playground中体验这个魔术。

smithery_playground

🎭 表演步骤

  1. 告诉魔术师:帮我排列这些扑克牌 ♠J ♠4 ♣2 ♦3 ♦K
  2. 魔术师会将牌分成两堆:前四张牌和第五张牌
  3. 告诉另一位魔术师前四张牌是什么,他们可以告诉你第五张牌是什么:前四张扑克牌是 [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集成:stdiosse

更多示例,请参见 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
  • 格式: 每张牌应写为 {花色}{点数},多张牌之间用空格分隔

相关 MCP 服务