使用说明
Scryfall MCP服务器
一个模型上下文协议(MCP)服务器,用于显示 API公司 魔术:收集卡片数据。部署在Cloudflare Workers上。
快速开始
配置您的AI客户端以连接到已部署的服务器实例,或下载此仓库并在本地运行。
克劳德桌面
要将此MCP服务器与Claude Desktop一起使用,您需要 mcp遥控器 代理。
-
打开克劳德桌面设置: 设置>开发人员>编辑配置
-
添加此配置:
{ "mcpServers": { "scryfall": { "command": "npx", "args": [ "mcp-remote", "https://scryfall-mcp-server.colin-hauch.workers.dev/sse" ] } } } -
重新启动克劳德桌面
地方发展
{
"mcpServers": {
"scryfall": {
"command": "npx",
"args": ["mcp-remote", "http://localhost:8787/sse"]
}
}
}
Cloudflare AI游乐场
- 首选 https://playground.ai.cloudflare.com/
- 选择一个模型(
mistral-small-3.1-24b-instruct此处默认选中) - 输入您的MCP服务器URL:
https://scryfall-mcp-server.colin-hauch.workers.dev - 开始使用Scryfall工具!
其他MCP客户端
任何兼容MCP的客户端都可以通过以下方式连接到服务器:
- SSE端点:
/sse(推荐给大多数客户) - MCP端点:
/mcp(适用于支持直接MCP协议的客户端)
特性
- 搜索卡片:使用Scryfall强大的搜索语法查找魔术卡
- 获取卡详细信息:通过模糊匹配按名称检索特定卡片
- 随机卡片:获取具有可选过滤功能的随机卡片
- 字段选择:精确控制返回哪些卡数据以优化上下文使用
可用的MCP工具
search_cards
使用Scryfall的搜索语法搜索魔术卡。返回当前页面的所有结果(最多175张卡)。
参数:
query(字符串,必填):使用Scryfall语法搜索查询- 示例:
"lightning bolt","type:creature color:red","f:commander pow>=5"
- 示例:
unique(字符串,可选):省略类似卡片的策略- 选项:
"cards","art","prints"
- 选项:
order(字符串,可选):排序顺序- 选项:
"name","set","released","rarity","color","usd","cmc","power","toughness","edhrec"
- 选项:
dir(字符串,可选):排序方向- 选项:
"auto","asc","desc"
- 选项:
page(数字,可选):分页页码(从1开始)。用于访问前175个以外的结果。fields(数组或字符串,可选):控制返回哪个卡数据(默认为"minimal")- 预定义组:
"minimal","gameplay","pricing","imagery","full" - 自定义数组:
["name", "mana_cost", "prices.usd"] - 详见下文“字段选择”章节
- 预定义组:
例子:
{
"query": "type:creature power>=5",
"order": "power",
"fields": "gameplay"
}
分页示例:
{
"query": "type:creature",
"page": 2
}
get_card_details
按确切名称获取一张或多张卡的详细信息。使用Scryfall的收集端点进行高效的批量查找(使用单个API调用,每个请求最多75张卡)。
参数:
names(字符串数组,必填):要搜索的确切卡名(可以是单个或多个,最多75个)set(字符串,可选):按设置代码过滤所有卡(例如。,"mkm","one")fields(数组或字符串,可选):控制返回哪个卡数据(默认为"gameplay")- 预定义组:
"minimal","gameplay","pricing","imagery","full" - 自定义数组:
["name", "mana_cost", "prices.usd"] - 详见下文“字段选择”章节
- 预定义组:
注: 此工具使用精确名称匹配。卡名必须完全匹配(不区分大小写)。
示例:
单卡:
{
"names": ["Black Lotus"],
"fields": ["name", "mana_cost", "prices", "legalities"]
}
多张卡:
{
"names": ["Black Lotus", "Mox Ruby", "Ancestral Recall"],
"fields": "gameplay"
}
get_random_card
随机获得一张魔法卡。
参数:
query(字符串,可选):使用Scryfall搜索语法过滤随机选择(例如。,"type:creature")fields(数组或字符串,可选):控制返回哪个卡数据- 预定义组:
"minimal","gameplay","pricing","imagery","full" - 自定义数组:
["name", "mana_cost", "prices.usd"] - 详见下文“字段选择”章节
- 预定义组:
例子:
{
"query": "type:legendary",
"fields": "minimal"
}
字段选择
所有与卡相关的工具都支持可选字段选择,以控制返回哪些数据,帮助您优化AI工作流程中的上下文使用。
预定义字段组
在常见用例中使用这些方便的预设:
"minimal"-基本卡信息:名称、mana_cost、type_line、oracle_text"gameplay"-游戏相关数据:最小+颜色、颜色标识、cmc、力量、韧性、忠诚度、稀有性"pricing"-价格信息:名称、价格"imagery"-图像数据:姓名、艺术家、Image_uris、插图_id"full"-所有可用字段(默认情况下fields未指定)
自定义字段数组
准确指定您需要的字段:
{
"name": "Lightning Bolt",
"fields": ["name", "mana_cost", "oracle_text", "prices.usd"]
}
嵌套字段
使用点符号访问嵌套对象属性:
{
"query": "format:vintage",
"fields": ["name", "prices.usd", "prices.eur", "image_uris.normal"]
}
可用字段参考
MCP服务器在以下位置提供资源 scryfall://fields/reference 所有可用字段的完整列表。通过您的MCP客户端访问此页面以查看所有选项。
例子
用于快速查找的最小上下文:
{
"query": "lightning bolt",
"fields": "minimal"
}
价格检查:
{
"names": ["Mox Ruby"],
"fields": ["name", "set", "prices.usd", "prices.usd_foil"]
}
游戏分析:
{
"query": "type:creature cmc<=2",
"fields": "gameplay"
}
MCP资源
服务器为增强功能提供了额外的资源:
scryfall://search-syntax/full
完整的Scryfall搜索语法参考指南,包括所有关键字、运算符和高级过滤器。
scryfall://fields/reference
用于自定义字段选择的可用字段的完整列表,包括示例和使用指南。
速率限制和性能
服务器实施全面的速率限制 Scryfall API指南:
- 主动限速:请求之间延迟100ms
- 自动重试:HTTP 429错误的指数回退(1s→ 2s → 4s)
- 错误处理:带有详细消息的结构化错误响应
许可证
本项目按原样提供,用于投资组合和教育目的。