Magic卡片搜索服务

一个基于Scryfall API的Magic: The Gathering卡片搜索和检索服务,支持多种查询方式和输出格式。

  • by andreapede
  • JavaScript
  • 本地部署
  • 更新于
在 GitHub 查看 andreapede/MCP_scryfall

使用说明

Scryfall MCP服务器

一个模型上下文协议 (MCP) 服务器,用于通过 Scryfall API 搜索和检索 Magic: The Gathering 地图信息。

🎯 特征

  • 地图搜索使用Scryfall搜索语法搜索地图
  • 特定卡片恢复按名称获取特定卡片的详细信息
  • 自动补全基于部分查询的卡片名称建议
  • 字段预设: 用于常见用例的默认字段集
  • 多种格式支持JSON,CSV和表格格式的输出
  • 速率限制自动自动管理 Scryfall API 分期限制

📋 先决条件

  • Node.js(版本 18 或更高版本)
  • npm o纱线

🚀 安装

  1. 克隆或下载此仓库
  2. 安装依赖关系:
npm install

⚙️ 配置

在 Claude Desktop 中配置

将以下配置添加到 Claude Desktop 配置文件:

视窗: %APPDATA%\Claude\claude_desktop_config.json macOS: ~/Library/Application Support/Claude/claude_desktop_config.json

{
  "mcpServers": {
    "scryfall": {
      "command": "node",
      "args": ["C:\\path_to\\MCP_scryfall\\index.js"]
    }
  }
}

重要: 替换 C:\\path_to\\MCP_scryfall\\ 您克隆此存储库的绝对路径。

🔧 可用工具

1.搜索卡

使用Scryfall搜索语法搜索Magic: The Gathering卡片。

参数 :

  • query (必填):Scryfall搜索查询(例如,“c:red t:legendary”,“set:dom”,“o:flying cmc<=3”)
  • fields (可选):列出要包含在结果中的字段
  • preset (可选):使用预设字段(“basic”,“creatures”,“prices”,“commander”,“collection”,“comprehensive”)
  • order (可选):结果排序(“name”、“set”、“released”、“rarity”、“color”、“usd”等)
  • unique (可选):省略相似卡片的策略(“cards”,“art”,“prints”)
  • format (可选): 输出格式(“json”,“csv”,“table”)
  • limit (可选): 返还卡的最大数量

例如:

Cerca tutte le creature leggendarie rosse ordinate per nome

2.获取卡片

获取具体名称的特定卡片,可选来自特定集合。

参数 :

  • name (必填): 卡片的确切名称
  • set (可选):集合代码(例如“dom”,“war”)
  • fields (可选): 要包含的字段列表
  • preset (可选): 使用预设字段
  • format (可选): 输出格式(“json”,“table”)

例如:

Mostrami i dettagli di "Lightning Bolt"

3.自动补全

获取卡片名称的自动填写提示。

参数 :

  • query (必填): 卡片的部分名称

例如:

Suggerisci nomi di carte che iniziano con "Black Lot"

4.获取字段设置

显示有关可用字段预设的信息。

例如:

Quali preset di campi sono disponibili?

📊 字段预设

基本的

name, set, rarity, type_line, mana_cost

生物

name, set, type_line, mana_cost, power, toughness, rarity

价格

name, set, rarity, prices.usd, prices.usd_foil, prices.eur, prices.tix

指挥官

name, type_line, color_identity, cmc, rarity, edhrec_rank, prices.usd

收集

name, set_name, set, collector_number, rarity, artist, released_at

全面的

name, mana_cost, cmc, type_line, oracle_text, power, toughness, colors, color_identity, set, set_name, rarity, artist, prices.usd, legalities.standard, legalities.commander, scryfall_uri

🔍 Scryfall搜索语法

按颜色

  • c:red -罗斯地图
  • c:wr - 白卡和红卡
  • c>=bug - 至少蓝色,黑色和绿色
  • c:c -无色卡

按类型

  • t:creature -生物
  • t:instant -伊斯坦塔尼
  • t:legendary - 传奇地图
  • t:"legendary creature" - 传奇生物

每套

  • set:dom - Dominaria(使用集合代码)
  • set:war -星火之战

为稀有

  • r:mythic 罕见的神话
  • r:rare -奇怪的
  • r:uncommon - 不常见
  • r:common -司令部

按文本

  • o:"draw a card" 包含“draw a card”的卡片
  • o:flying 飞行卡

以法力成本

  • cmc=3 - 完全转换的法力成本 3
  • cmc<=2 CMC 2 或更低
  • mv>=5 法力值 5 或更高

力量/宪法

  • pow>=5 力量5或更大
  • tou<=2 宪法2或以下
  • pow=tou 权力等于宪法

按格式

  • f:standard -在标准中合法
  • f:commander -指挥官合法
  • f:modern 法律在现代

组合

c:blue t:creature cmc<=2 f:standard

“标准中合法的CMC 2或更低的蓝色生物”

💡 使用范例

示例1:寻找传说中的红色生物

Cerca carte con query "c:red t:legendary t:creature" usando il preset creatures in formato tabella

示例 2:获取一组卡的价格

Cerca carte del set "mom" usando il preset prices in formato CSV

示例 3:在 Standard 中查找反法术

Cerca "o:counter o:target o:spell f:standard" con campi personalizzati: name, set, mana_cost, oracle_text, rarity, prices.usd

示例 4:特定卡片信息

Mostrami "Black Lotus" con il preset comprehensive

🛠️ 发展

要在开发模式下运行服务器:

npm start

📚 资源

📄 许可证

麻省理工学院

⚠️ 备注

此服务器使用Scryfall的API,该API免费提供用于非商业用途。请查看 Scryfall的意大利歌剧院 在商业上使用此服务器之前。

服务器会自动实现速率限制(请求之间为 100ms),以遵守 Scryfall API 指南。