使用说明
MTG-CLI
Magic的强大命令行界面:具有AI集成功能的采集卡数据。
概述
MTG CLI是一个全面的命令行工具,通过多个API提供对Magic:The Gathering卡数据的访问。它采用Rust构建,以提高性能和可靠性,通过模型上下文协议(MCP)提供传统的CLI功能和现代AI集成。
特性
核心功能
- 多个搜索引擎:支持MTG API、Wizards的Gatherer和Scryfall API
- 高级卡片搜索:使用过滤器搜索名称、颜色、类型、稀有度、设置、法力消耗等
- 设置浏览:探索魔术集并生成虚拟增强包
- 类型信息:访问综合卡类型、子类型、超类型和游戏格式
- 壳牌完井:对Bash、Zsh、Fish、PowerShell和Elvish的自动补全支持
- 高性能:具有内置缓存和超时控制的异步操作
- MTG竞技场伴侣 (仅限macOS/Windows):实时日志监控和游戏状态跟踪
人工智能集成(MCP)
- MCP服务器:用于无缝集成AI助手的模型上下文协议服务器
- 丰富的数据访问:20000多张包含完整细节和元数据的魔术卡
- 交互式工具:8个用于卡片查找、搜索和卡片组分析的综合工具
- 预构建提示:常见Magic相关AI任务的模板
- 多个传输:STDIO和SSE支持不同的集成需求
输出和可用性
- 格式化表格:输出清晰易读,对齐得当
- 分页:高效处理大型结果集
- 环境变量:常见选项的可配置默认值
- 详细模式:详细的日志记录和调试信息
安装
预构建二进制文件
从以下网址下载适用于您的操作系统的预构建二进制文件 GitHub发布。二进制文件可用于:
- Linux(x86_64,ARM64)
- macOS(英特尔、苹果硅)
- Windows(x86_64)
从源代码构建
先决条件:
- 锈蚀(1.70或更高版本)- 安装Rust
- Git
步骤:
-
克隆和构建:
git clone https://github.com/cloudbridgeuy/mtg.git cd mtg cargo build --bin mtg --release -
全局安装(可选):
cargo install --bin mtg --path crates/mtg -
验证安装:
./target/release/mtg --version # or if installed globally: mtg --version
快速开始
命令概述
CLI提供对三个主要API的访问:
api-用于基本卡、集合和类型查询的MTG APIscryfall-Scryfall API,用于灵活语法的高级搜索gatherer-Wizards官方卡数据收集器数据库
基本用法
# MTG API - Basic card search
mtg api cards search "Lightning Bolt"
mtg api sets list --page-size 10
mtg api types list
# Scryfall API - Advanced search
mtg scryfall search "c:blue t:instant mv<=3" --pretty
mtg scryfall named "Lightning Bolt" --pretty
mtg scryfall collector ktk 96 --pretty
# Gatherer API - Official Wizards data
mtg gatherer search --name "Lightning Bolt" --rarity "Common"
mtg gatherer search --colors "Red" --type "Instant"
# Generate booster pack
mtg api sets booster "KTK"
设置壳牌完井
# Bash
mtg completions generate bash > ~/.local/share/bash-completion/completions/mtg
# Zsh
mtg completions generate zsh > ~/.zsh/completions/_mtg
# Fish
mtg completions generate fish > ~/.config/fish/completions/mtg.fish
# PowerShell
mtg completions generate powershell >> $PROFILE
用于AI集成的MCP服务器
# Start MCP server (STDIO transport)
mtg mcp
# Start with SSE transport for web applications
mtg mcp sse --host 127.0.0.1 --port 3000
# With custom configuration
mtg --api-base-url https://api.magicthegathering.io/v1 --timeout 60 mcp
使用指南
全局选项
所有命令都支持这些全局选项:
--api-base-url <URL>-覆盖默认MTG API URL--timeout <SECONDS>-设置请求超时(默认值:30)--verbose-启用详细输出--help-显示帮助信息--version-显示版本信息
环境变量
使用环境变量配置默认值:
export MTG_API_BASE_URL="https://api.magicthegathering.io/v1"
export MTG_TIMEOUT=60
export MTG_VERBOSE=1
卡命令
# Basic search
mtg api cards search "Lightning"
# Exact name matching
mtg api cards search "Lightning Bolt" --exact
# Advanced filtering
mtg api cards list --colors "Red,Blue" --type "Creature" --cmc 4
# Get specific card by ID
mtg api cards get 409574
# Search with pagination
mtg api cards search "Dragon" --page 2 --page-size 20
设置命令
# List all sets
mtg api sets list
# Search sets by name
mtg api sets search "Zendikar"
# Get specific set information
mtg api sets get "KTK"
# Generate booster pack
mtg api sets booster "ISD"
键入命令
# List all card types
mtg api types list
# Get subtypes
mtg api types subtypes
# Get supertypes
mtg api types supertypes
# Get game formats
mtg api types formats
完成命令
# Generate completions for your shell
mtg completions generate bash
mtg completions generate zsh
mtg completions generate fish
mtg completions generate powershell
mtg completions generate elvish
用于AI集成的MCP服务器
MTG CLI包括一个强大的模型上下文协议(MCP)服务器,使AI助手能够无缝访问Magic:The Gathering数据。
主要特点
- 丰富的数据访问:20000多张包含完整细节和元数据的魔术卡
- 交互式工具:8个用于卡片查找、搜索和卡片组分析的综合工具
- 多个API:通过统一接口访问MTG API、Scryfall和Gatherer
- 高级搜索:具有15个以上排序选项和筛选的复杂查询
- 甲板分析:综合统计,包括法力曲线和格式合法性
- 多个传输:STDIO(默认)和SSE支持不同的集成需求
Claude桌面集成
添加到您的Claude Desktop配置中:
{
"mcpServers": {
"mtg": {
"command": "/path/to/mtg",
"args": ["mcp"],
"env": {
"MTG_TIMEOUT": "60"
}
}
}
}
可用的MCP组件
- 资源:访问完整的卡片、集合和类型数据库
- 工具:用于搜索、分析和助推器生成的交互式功能
- 提示:用于卡片分析、卡片组构建和比较的预构建模板
例子
高级卡片搜索
# Find expensive red creatures
mtg api cards list --colors "Red" --type "Creature" --cmc 6 --rarity "Mythic Rare"
# Search for artifacts from specific set
mtg api cards list --type "Artifact" --set "KTK" --page-size 50
# Find cards legal in Modern format
mtg api cards list --format "Modern" --rarity "Rare"
集合分析
# Research Khans of Tarkir
mtg api sets get "KTK"
# Generate multiple booster packs
for i in {1..3}; do
echo "=== Booster Pack $i ==="
mtg api sets booster "KTK"
echo
done
甲板建筑研究
# Find all Dragons
mtg api cards list --subtype "Dragon" --page-size 100
# Research tribal strategies
mtg api types subtypes | grep -i "warrior\|wizard\|goblin"
# Check format legality
mtg api types formats
发展
建筑
# Development build
cargo build
# Release build with optimizations
cargo build --release
# Run tests
cargo test
# Run with logging
RUST_LOG=debug cargo run -- api cards search "Lightning Bolt"
项目结构
mtg/
├── crates/
│ └── mtg/ # Main CLI application
├── docs/ # Comprehensive documentation
├── xtask/ # Build automation
├── Cargo.toml # Workspace configuration
└── README.md # This file
依赖项
关键依赖关系包括:
clap-命令行参数解析clap_complete-壳体完井生成tokio-异步运行时reqwest-API调用的HTTP客户端serde-JSON序列化/反序列化prettytable-格式化表格输出rmcp-模型上下文协议服务器color-eyre-增强的错误报告
文档
综合文档可在 docs/ 目录:
CLI使用情况
- 入门指南 -安装和基本使用
- 卡命令 -MTG API卡搜索技术
- 设置命令 -设置浏览和助推器生成
- 键入命令 -类型系统和格式查询
- Gatherer命令 -官方向导搜索功能
- Scryfall命令 -强大的Scryfall搜索引擎
- 壳牌完井 -所有外壳的完成设置
MCP集成
故障排除
常见问题
网络超时:
# Increase timeout
mtg --timeout 120 api cards search "Complex Query"
API速率限制:
- 使用较小的页面大小
- 增加请求之间的延迟
- CLI包括内置的速率限制
连接问题:
# Test API connectivity
curl -s "https://api.magicthegathering.io/v1/cards?pageSize=1"
# Check with verbose output
mtg --verbose api cards search "test"
壳牌完井不起作用:
# Verify completion file exists
ls -la ~/.local/share/bash-completion/completions/mtg
# Reload shell configuration
source ~/.bashrc # or ~/.zshrc
调试模式
启用详细调试:
export RUST_LOG=debug
export RUST_BACKTRACE=1
mtg --verbose api cards search "Lightning Bolt"
贡献
欢迎投稿!无论您是在修复错误、添加功能、改进文档还是增强AI集成功能。
入门指南
- 分叉存储库
- 创建要素分支:
git checkout -b feature/amazing-feature - 进行更改
- 如果适用,添加测试
- 运行测试套件:
cargo test - 提交您的更改:
git commit -m 'Add amazing feature' - 推到分支:
git push origin feature/amazing-feature - 打开拉取请求
开发指南
- 遵循Rust的最佳实践和习惯用法
- 添加新功能的测试
- 更新面向用户的更改文档
- 确保shell完成与新命令一起工作
- 如果修改服务器功能,则测试MCP集成
许可证
此项目根据MIT许可证获得许可-请参阅 许可证 文件以获取详细信息。
致谢
链接
- 文档: docs/
- 安装件API: https://magicthegathering.io/
- MCP规范: https://spec.modelcontextprotocol.io/
- 问题: https://github.com/cloudbridgeuy/mtg/issues
内置于❤️ Rust for the Magic:the Gathering社区