Token导航 LogoToken导航TokenDH.com
Lorcana MCP logo
AI代理stdio官方级别未说明来源级核验

Lorcana MCP

MCP Server

一个用于搜索和聚合迪士尼Lorcana卡牌的MCP服务器,提供快速过滤、统计和组卡功能。

工具数

10

提示词数

0

GitHub Stars

1

资源数

0
PythonClaudeAI代理Claude

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

作者 / 组织

danielenricocahall

提供方

danielenricocahall

最后核验

2026/5/17 20:19

运行时

Docker

快速接入

先看主来源和安装命令,再打开仓库或文档;下面只保留这个条目的关键接入事实。

命令预览

docker run --rm -i ghcr.io/danielenricocahall/lorcana-mcp:latest

详细介绍

Lorcana MCP服务器

](https://lobehub.com/mcp/danielenricocahall-lorcana-mcp)

用于搜索和聚合迪士尼Lorcana卡的MCP服务器。

启动行为

启动时,服务器从以下位置获取JSON卡列表 https://danielenricocahall.github.io/lorcana-mcp/allCards.json。快照每天由刷新 data_pipeline/fetch_cards.py,它从 洛卡斯特API,将每张卡规范化为我们的内部模式,并将列表发布到 gh-pages 支。中间层将正在运行的容器与Lorcast的可用性和速率限制隔离开来——运行时从不直接调用Lorcast。

卡片以Python列表的形式保存在内存中,用于快速过滤。大约有2270张唯一的卡片(每张卡片都有一个 printings 数组的备用集/稀有集)这是轻量级的,不需要外部数据库。本地JSON文件缓存(LORCANA_CACHE_PATH,默认值 cards.json)让服务器在后续启动时跳过网络获取。

启动数据加载由以下方式控制:

  • LORCANA_REFRESH_ON_STARTUP:

- true:始终从API获取并重新填充存储 - false:使用现有缓存(如果可用)

  • LORCANA_SKIP_IF_DB_EXISTS:

- true (默认):如果缓存文件已包含卡片,则跳过API获取 - false:获取并重新填充

快速启动(无需克隆)

docker pull ghcr.io/danielenricocahall/lorcana-mcp:latest

docker run --rm -i ghcr.io/danielenricocahall/lorcana-mcp:latest

要在容器重新启动时持久化卡缓存,请装载一个卷:

docker run --rm -i \
  -e LORCANA_CACHE_PATH=/data/cards.json \
  -e LORCANA_SKIP_IF_DB_EXISTS=true \
  -v lorcana_mcp_data:/data \
  ghcr.io/danielenricocahall/lorcana-mcp:latest

在本地运行(stdio MCP)

uv run python main.py

码头工人

塑造形象

docker build -t lorcana-mcp:latest .

作为stdio MCP服务器运行

docker run --rm -i lorcana-mcp:latest

Docker Compose

从作曲开始

docker compose build
docker compose run --rm -T lorcana-mcp

笔记:

  • 无外露端口;MCP通信通过stdio。
  • 使用卷在重新启动时持久化JSON缓存。

配置

  • LORCANA_API (默认值: https://danielenricocahall.github.io/lorcana-mcp/allCards.json)
  • LORCANA_CACHE_PATH (默认值: cards.json)--用于缓存取出的卡的本地文件
  • LORCANA_HTTP_TIMEOUT_SECONDS (默认值: 60)
  • LORCANA_REFRESH_ON_STARTUP (false 默认)
  • LORCANA_SKIP_IF_DB_EXISTS (true 默认)

MCP客户端设置示例

本地进程(克劳德桌面风格)

{
  "mcpServers": {
    "lorcana": {
      "command": "uv",
      "args": ["run", "python", "/absolute/path/to/lorcana-mcp/main.py"]
    }
  }
}

已发布图像——GHCR(克劳德桌面风格,无需克隆)

{
  "mcpServers": {
    "lorcana": {
      "command": "docker",
      "args": [
        "run",
        "--rm",
        "-i",
        "ghcr.io/danielenricocahall/lorcana-mcp:latest"
      ]
    }
  }
}

Docker进程(克劳德桌面风格,本地构建)

{
  "mcpServers": {
    "lorcana": {
      "command": "docker",
      "args": [
        "run",
        "--rm",
        "-i",
        "lorcana-mcp:latest"
      ]
    }
  }
}

Docker编写过程(克劳德桌面风格)

{
  "mcpServers": {
    "lorcana": {
      "command": "docker",
      "args": ["compose", "run", "--rm", "-T", "lorcana-mcp"]
    }
  }
}

通过Claude CLI发布映像(全局,无需克隆)

claude mcp add --scope user \
  -- lorcana docker run --rm -i \
  ghcr.io/danielenricocahall/lorcana-mcp:latest

通过Claude CLI——本地构建

claude mcp add --scope user \
  -- lorcana docker run --rm -i lorcana-mcp:latest

示例问题

连接到MCP客户端后,您可以问自然语言问题,如:

卡片查询

  • “给我看所有名为Moana的卡片”
  • “《毛伊岛英雄》这张卡有什么作用?”
  • “查找所有传奇琥珀卡”

甲板建筑

  • “至少有3种强度的最便宜的红宝石字符是什么?”
  • “给我看看4美元或更低的可墨水蓝宝石卡”
  • “找到有5个或更多意志力的钢铁字符”
  • “祖母绿中存在哪些3孔字符?”

关键字和能力搜索

  • “有多少张歌手卡5美元?”
  • “第一组中有多少个逃避角色?”
  • “有多少红宝石卡有鲁莽?”
  • “查找文本中包含Ward的所有卡片”
  • “给我看看紫水晶的移位卡”

统计和聚合

  • “每组有多少张牌?”
  • “所有卡片的颜色分布是什么?”
  • “最常见的特征是什么?”
  • “给我看看墨水曲线——每种成本有多少张卡?”
  • “有多少张传奇牌是可以印的?”

交叉筛选查询

  • “有多少琥珀字符有3个或更多的传说?”
  • “在钢中找到具有高强度(4+)的廉价(成本2-3)字符”
  • “第1组中有多少张牌具有规避性且价格低于4?”
注: 对于普通关键字查询(Evasive、Bodyguard、Shift等),请使用 keyword 参数——它根据结构化能力列表进行过滤,比子字符串搜索更可靠。对于特定值的查询,如 Singer 5Resist +2,使用 body_text (关键字值存在于卡片的全文中,而不是能力列表中)。

MCP工具

  • search_cards --过滤和检索卡对象(支持 response_format="toon" 减少约10%的代币)
  • count_cards --计数与过滤器匹配的卡片,但不返回完整对象
  • aggregate_cards --卡片计数按以下方式分组 cost (墨水曲线), rarity, color, set_code,或 type
  • resolve_card --将非正式/部分/拼写错误的卡名与最近的卡进行模糊匹配(返回完整的卡数据)
  • top_traits --所有卡片上最常见的特征
  • export_deck --将套牌渲染为Dreamborn/Pixelborn兼容的文本套牌列表
  • import_deck --解析Dreamborn/Pixelborn风格的牌组列表,返回已解析的牌以及任何带有模糊候选的未解析行
  • validate_deck --对照格式规则检查一副牌(≥60张牌,最多4份,≤2支墨水);回报 {legal, total_cards, inks, violations}
  • deck_stats --计算套色的墨水曲线、颜色分割、可墨数和类型细分
  • server_status --启动元数据(卡数、配置)

MCP提示

  • build_deck(colors, playstyle="balanced") --引导模型按照要求的颜色和游戏风格组装一副合法的Lorcana牌组(最少60张牌,≤2支墨水,最多4张任何一张牌)(aggressive / control / lore-race / balanced).使用上述搜索/聚合工具以及服务器指令中嵌入的规则。

TOON响应格式

search_cards 接受a response_format 论点:

  • "json" (默认)--卡片对象列表,与之前的版本保持不变。

示例(search_cards(name="elsa", limit=2, response_format="toon")):

cards[2]:
  - id: crd_01c4835a62df4960bb973aeff81f2bb2
    name: Elsa
    version: Ice Maker
    full_name: Elsa - Ice Maker
    cost: 7
    ...
    printings[3]{set_code,set_name,number,rarity}:
      "7",Archazia's Island,69,Super Rare
      C2,Lorcana Challenge Year 3,2,Promo
      C2,Lorcana Challenge Year 3,6,Promo
  - id: crd_04bca46a8e2d4e9ba0fbdbfc6c99e51e
    name: Elsa
    ...

外表 cards[2]: 回到每卡块的YAML风格(而不是一个表格),因为卡的形状各不相同——例如,动作和项目没有力量/意志力/知识。内部 printings[N]{...}: 由于每次打印都有相同的四个字段,因此块是完全表格化的。

基准

用以下方式测量 benchmarks/bench_toon.py 针对实时~2270卡数据集(合并后),使用tiktoken进行标记 cl100k_base (用作Claude标记器的代理):

查询JSON标记TOON标记Δ
color="amber", limit=20020043,67239,282−10.1%
color="ruby", limit=505010,4469,464−9.4%
card_type="action", limit=50 (稀疏列)50101509265−8.7%
body_text="when", limit=50 (长全文)501157410380−10.3%
name="elsa", limit=20143,4562,925−15.4%
总计79,29871,316−10.1%

注意:TOON在这里的相对节省比印刷整合之前要小(在PR-29之前,相同的查询显示减少了约50%)。这种差距是嵌套结构的 printings array——TOON的列式编码在顶级字段上获胜,但在每次打印条目内回落到JSON风格的编码,因此数组稀释了相对收益。与合并前的等效行数相比,绝对令牌计数仍然有意义地下降,因为每张唯一的卡现在都用一个小的打印列表表示一次,而不是作为1-3个单独的完整行。

复制 PYTHONPATH=. uv run python benchmarks/bench_toon.py (需要填充 cards.json 缓存)。

免责声明

这是一个私人的、非官方的粉丝和工程项目。它不隶属于迪士尼、Ravensburger或迪士尼Lorcana TCG团队,也不受其认可、赞助或审查。我只使用公开/社区数据源。所有迪士尼Lorcana TCG的名称、卡片文字、商标和相关知识产权均归迪士尼和Ravensburger所有。这个项目是非商业性的,只反映了我的个人观点,而不是我的雇主的观点。

目录标签

目录标签

PythonClaudeAI代理卡牌游戏本地部署数据聚合游戏辅助工具MCP协议卡牌数据库

支持客户端

Claude

接入字段

传输方式(transport,传输协议)

stdio

鉴权方式(authType,认证方式)

none

运行时(runtime,运行环境)

Docker

工具数量(toolCount,工具数)

10

资源数量(resourceCount,资源数)

0

提示词数量(promptCount,提示词数)

0

权限和风险

stdionone部署方式未说明

接入前请确认传输方式、认证方式和部署位置,并根据实际工具能力限制访问范围。

安装前确认

不要直接授予不必要的文件、网络或账号权限;先核对安装命令和配置内容。

来源信息

继续浏览同类 MCP