article
README
🚀 MCP 服务器——Scryfall API 接口
这是一个与 Scryfall API 对接的 MCP 服务器,可获取并展示详细的标准万智牌 (Magic: The Gathering) 卡牌数据。它支持通过卡牌名称、颜色、类型和文本内容搜索卡牌,为万智牌爱好者和开发者提供了便捷的卡牌信息查询方式。
✨ 主要特性
- 通过 Scryfall 搜索 MTG 卡牌:
- 卡牌名称:可根据具体的卡牌名称精准搜索。
- 颜色(单色或多色):支持按单色或多色组合搜索卡牌。
- 类型线:依据卡牌的类型线进行筛选。
- 牌面描述文本:通过牌面上的描述文本查找相关卡牌。
- 详细卡牌数据输出:
- 牌面描述文本、法力成本、颜色:提供卡牌的基本信息。
- 类型、力量/耐力、稀有度:展示卡牌的属性和稀有程度。
- 卡牌系列名称:明确卡牌所属的系列。
- 美元和欧元(普通和foil)价格:提供不同版本卡牌的价格信息。
📦 安装指南
该项目使用 uv 进行 Python 环境和依赖管理,所有依赖项已声明在 pyproject.toml 文件中。
先决条件
- Python 3.12+ 版本
- uv(使用
cargo install uv安装)
安装步骤
uv venv
source .venv/bin/activate # 或者在 Windows 上的 `.venv/Scripts/activate`
uv pip install -r pyproject.toml
运行项目
运行项目时使用 uv run scryfall.py "Atraxa" 应会显示 Atraxa 卡牌的 Scryfall 结果,不过此项目旨在供 MCP 主机(如 Claude Desktop)运行。
与 Claude Desktop 集成
Claude Desktop 可以运行该 MCP 服务器以与 Scryfall API 对接并使用结果。需要安装或更新到最新版本 Claude,并在其配置文件中添加以下内容(如果不存在则创建):
~/Library/Application\ Support/Claude/claude_desktop_config.json在 MacOS 上$env:AppData\Claude\claude_desktop_config.json在 Windows 上
{
"mcpServers": {
"scryfall": {
"command": "/ABSOLUTE/PATH/TO/BIN/uv",
"args": [
"--directory",
"/ABSOLUTE/PATH/TO/mcp-server",
"run",
"scryfall.py"
]
}
}
}
📚 详细文档
测试
该项目使用 pytest 进行单元测试,测试文件位于 tests/ 文件夹中。
运行测试
- 运行完整的测试套件:
pytest
- 运行特定的测试:
pytest tests/test_scryfall.py::test_get_cards_no_query
微信扫一扫