卡牌数据查询服务

一个为Claude Desktop提供《万智牌》卡牌数据查询的服务,支持通过自然语言搜索卡牌、获取详细信息、探索卡组及随机发现功能。

  • by JoeMoCode
  • TypeScript
  • 本地部署
  • 2 星标
  • 更新于
在 GitHub 查看 JoeMoCode/Scryfall-MCP

使用说明

Scryfall MCP 服务器

一个模型上下文协议(MCP)服务器,可将《万智牌》卡片数据直接引入Claude桌面。询问Claude任何《万智牌》卡片,它将从Scryfall的全面数据库中提供详细信息。

它能做什么?

  • 搜索卡片 - 按名称、类型、颜色、法力值消耗或任何你能想到的游戏特性来查找卡牌
  • 获取卡片详情 - 查看完整的卡片信息,包括价格、格式合法性以及高质量图片
  • 探索集合(或“集合探索”) - 了解万智牌系列、它们的发布日期以及它们所包含的卡片
  • 随机卡片 - 发现随机卡片以获取牌组灵感或只是为了好玩
  • 智能缓存 - 之前浏览过的卡片会立即从本地缓存中加载
  • 资源浏览器 - 通过Claude的资源系统访问您最近查看过的卡片

安装

先决条件

你需要 Node.js 和 npm 安装在您的计算机上。npm 是一个工具,用于帮助安装和管理此服务器运行所需的软件。

安装 Node.js 和 npm:

要验证其是否已安装,请打开终端并输入: npm --version

安装步骤

  1. 克隆或下载此仓库

  2. 安装依赖项:

    npm install
    
  3. 构建服务器:

    npm run build
    

配置

对于Claude Desktop

  1. 找到您的Claude桌面配置文件:

    • macOS(苹果电脑操作系统): ~/Library/Application\ Support/Claude/claude_desktop_config.json
    • Windows: %APPDATA%\Claude\claude_desktop_config.json
  2. 添加服务器配置:

    {
      "mcpServers": {
        "scryfall": {
          "command": "node",
          "args": ["/absolute/path/to/your/project/dist/index.js"]
        }
      }
    }
    

    替换 /absolute/path/to/your/project 加上此项目目录的实际路径。

  3. 重启Claude桌面版

如何使用

一旦你安装并配置好服务器后,你就可以用自然语言向Claude询问有关万智牌(Magic卡牌)的问题了。以下是一些示例:

寻找卡片

  • “寻找闪电”
  • “找出所有力量值为4或以上的红色生物”
  • “给我看看卡片上写着‘抽一张牌’的那些卡”
  • “寻找花费2点法力值的蓝色瞬间法术”

获取卡片信息

  • “告诉我关于黑莲花的事”
  • “Sol Ring的格式合法性是什么?”
  • “给我看看Jace,心灵雕塑师(Jace, the Mind Sculptor)的当前价格”
  • “获取关于轻巧窃贼拉加万的详细信息”

探索集合

  • “Dominaria United 扩展包里有什么?”
  • “告诉我关于设置代码MOM的事”
  • “给我看看关于最新套装的信息”

随机发现

  • “给我看一张随机的卡片”
  • “给我三个随机的生物”
  • “给我来5张随机的卡牌,让我惊喜一下”

访问最近浏览的卡片

你已经查找过的卡片会被缓存到本地,并显示在Claude的资源浏览器中,这样你就可以快速再次访问它们,无需进行额外搜索。

技术细节

可用工具

服务器提供了这些工具供Claude使用:

search_cards - 使用Scryfall的强大搜索语法来查找卡片

  • 支持按名称、类型、颜色、法力值消耗、卡牌文字、系列、稀有度等进行搜索
  • 默认返回最多10个结果(可配置)

get_card_details - 获取特定卡片的完整信息

  • 包括价格、合法性、图片以及所有卡片属性
  • 利用智能缓存技术加速重复查询

get_set_info - 获取关于魔法卡组的信息

  • 需要设置代码(例如,“dmu”代表《多明纳里亚联军》(Dominaria United),“mom”代表《机械大军的进军》(March of the Machine))

get_random_card - 获取随机卡片

  • 可以一次性请求多张随机卡片
  • 非常适合寻找卡组灵感或探索游戏

资源特性

服务器实现了MCP资源,这意味着:

  • 你查询的卡片会在本地缓存1小时
  • 最近浏览过的卡片会出现在Claude的资源浏览器中
  • 缓存卡片可即时加载,无需发起新的API请求
  • 缓存会自动清理旧条目

发展

在开发模式下运行

npm run dev

建筑

npm run build

项目结构

├── src/
│   └── index.ts          # Main server implementation
├── dist/                 # Compiled JavaScript output
├── package.json          # Node.js dependencies and scripts
├── tsconfig.json         # TypeScript configuration
└── README.md            # This file

性能与限制

智能缓存

为了提高速度并减少不必要的API调用,此服务器对卡片信息进行缓存:

  • 缓存卡片瞬间加载
  • 缓存1小时后过期
  • 内存中可同时存储多达100张卡片

Scryfall API 速率限制

这个服务器使用Scryfall的免费API,该API允许:

  • 每秒最多可处理100个请求
  • 无需API密钥

服务器能够自动优雅地处理错误和速率限制。

故障排除

服务器没有在Claude桌面显示

  1. 检查你的配置文件 - 确保路径正确且JSON语法有效

    • 在Mac上: cat ~/Library/Application\ Support/Claude/claude_desktop_config.json
    • 在Windows上:用记事本打开文件并检查其显示是否正确
  2. 验证路径是否为绝对路径 - 路径必须完整(例如 /Users/yourname/projects/ScryfallMCP/dist/index.js),不是相对的(比如 ./dist/index.js)

  3. 确保它构建成功:

    npm run build
    
  4. 完全重启Claude桌面版 - 完全退出应用程序并重新打开

克劳德说“未知工具”或者工具不起作用

  • 这通常意味着Claude Desktop没有重新加载配置
  • 尝试再次重启Claude Desktop
  • 检查一下 dist/index.js 运行后文件存在 npm run build

API或连接错误

  1. 检查你的网络连接 服务器需要连接到Scryfall的API
  2. 访问 https://scryfall.com 确保他们的服务正常运行
  3. 查看控制台输出 当跑步时 npm run dev 查看详细的错误信息

构建或安装问题

  • “npm: 命令未找到” - 您需要安装 Node.js 和 npm(参见上方的先决条件)
  • 构建失败 - 尝试删除 node_modules 文件夹和运行中 npm install 再次
  • 权限错误 - 确保你有权限读取和执行项目文件夹中的文件

做出贡献

想改进这个服务器吗?欢迎贡献您的力量!

  1. 为仓库创建分支(或“克隆仓库”)
  2. 创建一个特性分支
  3. 做出你的更改
  4. 彻底测试
  5. 提交一个带有清晰说明的拉取请求 什么 你已经添加并且 为什么

许可证

这个项目采用MIT许可证授权。

致谢