Scryfall MCP Server
Scryfall MCP 服务器
基于 Scryfall 的 MCP 服务器,用于万智牌的搜索、规则查询、定价、系列发现和套牌构建工作流。
该项目目前支持:
stdio作为本地 MCP 客户端的主要传输方式通过
src/http.ts实现本地优先的可流式 HTTP14 个 MCP 工具、2 个资源和 2 个提示词
它提供了什么
工具
search_cards:运行 Scryfall 卡牌搜索,支持分页、排序和可选的价格过滤。get_card:通过名称、系列/收藏编号或 Scryfall ID 获取单张卡牌。get_card_prices:返回价格数据,支持可选的格式上下文和替代方案。random_card:获取一张随机卡牌,支持可选过滤器。search_sets:搜索并过滤万智牌系列。query_rules:在本地综合规则文件中进行上下文搜索。build_scryfall_query:将自然语言转换为可解释的 Scryfall 查询。search_format_staples:查找特定赛制的必备卡牌和常用卡牌。search_alternatives:查找更便宜、升级版或类似的卡牌。find_synergistic_cards:为卡牌、主题或原型查找协同组件。batch_card_analysis:分析多张卡牌的合法性、价格、协同效应或构成。validate_brawl_commander:检查 Brawl 和标准 Brawl 指挥官的合法性。analyze_deck_composition:评估套牌列表的法术力曲线、颜色和结构问题。suggest_mana_base:根据颜色需求推荐地牌数量和法术力调色方案。
资源
card-database://bulk:缓存的 Oracle 批量快照。set-database://all:缓存的系列列表快照。
提示词
analyze_cardbuild_deck
Related MCP server: MTG-MCP
传输方式
STDIO
推荐用于 Claude Desktop、Codex、MCP Inspector 和大多数本地 MCP 客户端。
npm run devnpm start可流式 HTTP
作为单独的入口点提供,适用于本地或受控环境。
npm run dev:httpnpm run start:http用于本地 MCP 测试:
npm run dev:http:local
npm run smoke:http冒烟测试会检查 /health,执行 MCP initialize,发送 notifications/initialized,并验证 tools/list。
它还会进行具有代表性的 validate_brawl_commander 和 search_cards 工具调用,以便在发现机制之外检查本地 HTTP 端点。
当前的 HTTP 行为:
默认绑定到
127.0.0.1在
/mcp上提供POST|GET|DELETE服务提供
GET /health服务默认拒绝非回环
Origin标头,除非设置了HTTP_ALLOWED_ORIGINS
HTTP 入口点目前很有用,但文档描述较为保守。此处并未将其作为公共托管方案展示。
设置
先决条件
Node.js 18+
npm
安装
git clone https://github.com/bmurdock/scryfall-mcp.git
cd scryfall-mcp
npm install
cp .env.example .env验证
npm run lint
npm run type-check
npm test构建
npm run build常用命令
npm run dev
npm run dev:http
npm start
npm run start:http
npm test
npm run test:watch
npm run test:ui
npm run lint
npm run type-check
npm run inspector配置
请参阅 .env.example 获取规范值。当前使用的主要变量包括:
SCRYFALL_USER_AGENTRATE_LIMIT_MSRATE_LIMIT_QUEUE_MAXSCRYFALL_TIMEOUT_MSCACHE_MAX_SIZECACHE_MAX_MEMORY_MBLOG_LEVELNODE_ENVHEALTHCHECK_DEEPHTTP_HOSTHTTP_PORTHTTP_MCP_PATHHTTP_HEALTH_PATHHTTP_ALLOWED_ORIGINS
操作说明:
Scryfall API 调用由共享速率限制器全局序列化。批量工具可能会调度多个本地查找,但上游 Scryfall 请求的完成设计为一次一个。
HTTP 429 响应不会自动重试。服务器会记录 Scryfall 的限流窗口并延迟下一个请求的开始,以便调用者决定是否重试。
CACHE_MAX_MEMORY_MB控制是否可以保留大型内存快照(包括card-database://bulk)。超大的批量快照仍可返回以供当前读取,但元数据将报告它们未被缓存。套牌列表分析首先精确解析卡牌名称,如果未找到则回退到模糊查找,并在响应中报告任何模糊解析结果。
当 Scryfall 对底层卡牌查找进行限流时,套牌规模的工具可能会返回部分分析结果或明确的重试建议。
本地 HTTP 启动示例:
HTTP_HOST=127.0.0.1 HTTP_PORT=3000 npm run start:http工具调用示例
build_scryfall_query
{
"natural_query": "blue counterspells under $20 for modern",
"optimize_for": "precision"
}search_cards
{
"query": "c:r t:instant mv=1",
"limit": 10,
"order": "name"
}search_sets
{
"type": "expansion",
"released_after": "2020-01-01"
}find_synergistic_cards
{
"focus_card": "Obeka, Splitter of Seconds",
"synergy_type": "theme",
"format": "commander",
"color_identity": "UBR",
"limit": 12
}对于指挥官类工作流,当重点是主题而非可解析的卡牌时,请传递 color_identity。当重点解析为一张卡牌时,工具会推断该卡牌的颜色标识,并根据请求的合法性、Arena 可用性和颜色标识过滤最终结果。
analyze_deck_composition
{
"deck_list": "4 Lightning Bolt\n4 Monastery Swiftspear\n20 Mountain",
"format": "modern",
"strategy": "aggro"
}Claude Desktop 集成
将构建好的 stdio 入口点添加到您的 Claude Desktop 配置中。
macOS 路径:~/Library/Application Support/Claude/claude_desktop_config.json
Windows 路径:%APPDATA%/Claude/claude_desktop_config.json
{
"mcpServers": {
"scryfall": {
"command": "node",
"args": ["/absolute/path/to/scryfall-mcp/dist/index.js"]
}
}
}操作说明
速率限制在进程内强制执行,Scryfall 请求之间的默认最小间隔为 100 毫秒。
搜索响应、卡牌详情、价格、系列和批量快照均在内存限制内进行缓存。
批量卡牌资源存储预序列化的快照,以降低重复读取的成本。
系列过滤源自一个规范的缓存
/sets数据集,以避免错误地重用过滤后的缓存。健康检查可通过
ScryfallMCPServer.healthCheck()和 HTTP/health端点进行。如果 MCP 连接器报告 JSON-RPC/SSE 反序列化错误,请将其与原始 HTTP 冒烟路径进行比较:
npm run dev:http:local
npm run smoke:http如果冒烟测试命令成功,请同时捕获连接器错误文本和冒烟测试输出;这将有助于区分本地端点框架与连接器特定的解析问题。
文档地图
当前的权威文档:
许可证
MIT
Available Tools
14 toolsanalyze_deck_compositionC
Analyze deck composition, mana curve, card types, and provide balance recommendations
| Name | Required | Description | Default |
|---|---|---|---|
| commander | No | Commander card name (for Commander/Brawl formats) | |
| deck_list | Yes | List of card names in the deck, one per line or comma-separated | |
| format | No | Format to analyze for (affects recommendations) | |
| strategy | No | Deck strategy archetype | unknown |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries full burden. It mentions analysis and recommendations but doesn't disclose behavioral traits like whether this is a read-only operation, computational requirements, rate limits, or what the output format looks like. For a tool with 4 parameters and no annotations, this is a significant gap in transparency.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, efficient sentence that front-loads the core functionality. Every phrase ('analyze deck composition, mana curve, card types, and provide balance recommendations') earns its place by specifying what the tool does without unnecessary elaboration.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no annotations, no output schema, and 4 parameters, the description is incomplete. It doesn't explain what the analysis output includes, how recommendations are structured, or any behavioral constraints. For a complex analysis tool with multiple inputs, this leaves significant gaps for an AI agent to understand tool behavior.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already documents all parameters thoroughly. The description adds marginal value by implying that 'format' affects recommendations and 'strategy' relates to archetype, but doesn't provide additional semantics beyond what's in the schema descriptions. Baseline 3 is appropriate when schema does the heavy lifting.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool analyzes deck composition, mana curve, card types, and provides balance recommendations, which is a specific verb+resource combination. However, it doesn't explicitly distinguish this from sibling tools like 'validate_brawl_commander' or 'suggest_mana_base' that might overlap in deck analysis functions.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus alternatives like 'batch_card_analysis' or 'search_format_staples'. The description implies usage for deck analysis but doesn't specify prerequisites, exclusions, or comparative contexts with sibling tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
batch_card_analysisC
Analyze multiple cards for legality, prices, synergies, or deck composition
| Name | Required | Description | Default |
|---|---|---|---|
| analysis_type | Yes | Type of analysis to perform | |
| card_list | Yes | List of card names to analyze | |
| currency | No | Currency for price analysis | usd |
| format | No | Format for legality analysis | |
| group_by | No | How to group analysis results | |
| include_suggestions | No | Include improvement suggestions |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure. It mentions analysis types but lacks details on permissions, rate limits, response format, or whether it's read-only or mutative. This is inadequate for a tool with 6 parameters and no output schema.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, efficient sentence that front-loads the core purpose without unnecessary words. Every part contributes directly to understanding the tool's function, making it appropriately sized and well-structured.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's complexity (6 parameters, no annotations, no output schema), the description is insufficient. It doesn't cover behavioral traits, output expectations, or usage context, leaving significant gaps for an AI agent to invoke it correctly without additional information.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already documents all parameters. The description adds minimal value by listing analysis types (e.g., 'legality, prices') but doesn't provide additional semantics beyond what the schema's enum values and descriptions offer.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose: analyzing multiple cards for specific aspects (legality, prices, synergies, deck composition). It specifies the verb 'analyze' and resource 'multiple cards,' but doesn't explicitly differentiate from sibling tools like 'analyze_deck_composition' or 'get_card_prices,' which reduces clarity.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No explicit guidance on when to use this tool versus alternatives is provided. The description lists analysis types but doesn't indicate scenarios for choosing this over siblings like 'analyze_deck_composition' or 'get_card_prices,' leaving usage context implied rather than stated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
build_scryfall_queryB
Convert natural language requests into optimized Scryfall search queries with explanations and alternatives
| Name | Required | Description | Default |
|---|---|---|---|
| explain_mapping | No | Whether to include detailed explanation of natural language to Scryfall mapping | |
| format | No | Magic format to restrict search to (optional) | |
| include_alternatives | No | Whether to include alternative query suggestions | |
| max_results | No | Target number of results for optimization | |
| natural_query | Yes | Natural language description of what you want to find (e.g., "red creatures under $5 for aggressive decks", "blue counterspells in modern") | |
| optimize_for | No | Search optimization strategy: precision (fewer, more relevant results), recall (broader search), discovery (interesting cards), budget (cost-effective) | precision |
| price_budget | No | Price constraints for the search | |
| test_query | No | Whether to test the generated query and optimize based on results |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries full burden for behavioral disclosure. While it mentions the tool generates 'optimized Scryfall search queries with explanations and alternatives,' it doesn't describe what 'optimized' means operationally, whether it makes external API calls to Scryfall, what rate limits might apply, or what the output format looks like. For a complex 8-parameter tool with no annotation coverage, this is insufficient.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, efficient sentence that clearly states the tool's purpose and key features. Every word earns its place - 'convert,' 'natural language requests,' 'optimized Scryfall search queries,' 'explanations,' and 'alternatives' all contribute essential information without redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a complex tool with 8 parameters, no annotations, and no output schema, the description is inadequate. It doesn't explain what the tool actually returns (just that it generates queries 'with explanations and alternatives'), doesn't address behavioral aspects like whether it makes live API calls, and provides no guidance on error conditions or limitations. The 100% schema coverage helps with parameters but doesn't compensate for missing behavioral and output context.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already documents all 8 parameters thoroughly. The description adds no specific parameter information beyond what's in the schema. The baseline score of 3 is appropriate when the schema does all the parameter documentation work.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the specific action ('convert natural language requests into optimized Scryfall search queries') and the resource involved (Scryfall queries). It distinguishes from siblings by focusing on query generation rather than direct card searching (like search_cards) or analysis (like analyze_deck_composition). The inclusion of 'with explanations and alternatives' adds valuable differentiation.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage context (natural language to query conversion) but doesn't explicitly state when to use this tool versus alternatives like search_cards or search_alternatives. It suggests this is for users who want to translate human descriptions into formal queries, but lacks explicit guidance on when this approach is preferred over direct querying.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
find_synergistic_cardsC
Find cards that synergize with a specific card, theme, or archetype
| Name | Required | Description | Default |
|---|---|---|---|
| arena_only | No | Only return cards available in Arena | |
| exclude_colors | No | Colors to exclude from results (e.g., "rb" to exclude red and black) | |
| focus_card | Yes | Card name or theme to build around | |
| format | No | Format legality requirement | |
| include_lands | No | Include synergistic lands | |
| limit | No | Number of synergistic cards to return | |
| max_cmc | No | Maximum mana value | |
| synergy_type | No | Type of synergy to discover |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden of behavioral disclosure. It states the tool finds synergistic cards but doesn't describe how synergy is determined, what the output format looks like, whether it's a read-only operation, or any limitations like rate limits or permissions. This leaves significant gaps in understanding the tool's behavior for an AI agent.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, clear sentence that efficiently conveys the core purpose without any wasted words. It is appropriately sized and front-loaded, making it easy for an AI agent to quickly grasp the tool's intent.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's complexity (8 parameters, no annotations, no output schema), the description is incomplete. It doesn't address behavioral aspects like how synergy is calculated, output format, or usage context. While the schema covers parameters well, the lack of annotations and output schema means the description should do more to guide the agent, but it falls short.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has 100% description coverage, so the schema already documents all parameters thoroughly. The description adds no additional meaning beyond the schema, as it doesn't explain parameter interactions or provide examples. However, with high schema coverage, the baseline score is 3, as the schema compensates for the lack of param info in the description.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose: 'Find cards that synergize with a specific card, theme, or archetype.' It uses a specific verb ('find') and resource ('cards'), and distinguishes itself from siblings like 'search_cards' or 'search_alternatives' by focusing on synergy. However, it doesn't explicitly differentiate from all siblings, such as 'analyze_deck_composition' or 'suggest_mana_base,' which might also involve synergy in broader contexts.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no explicit guidance on when to use this tool versus alternatives. It implies usage for synergy discovery but doesn't specify scenarios, prerequisites, or exclusions. For example, it doesn't clarify if this is for deck-building, card evaluation, or other contexts, nor does it mention when to choose 'search_alternatives' or 'analyze_deck_composition' instead.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_cardB
Get detailed information about a specific Magic: The Gathering card by name, set code+number, or Scryfall ID
| Name | Required | Description | Default |
|---|---|---|---|
| face | No | Which face to show for double-faced cards | |
| identifier | Yes | Card name, set code+collector number (e.g., "dom/123"), or Scryfall UUID | |
| include_image | No | Include image URL in response | |
| lang | No | 2-letter language code (default: en) | en |
| set | No | 3-letter set code for disambiguation when using card name |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries full burden but only states what the tool does, not how it behaves. It lacks disclosure about response format, error handling, rate limits, authentication needs, or whether it's a read-only operation. For a tool with 5 parameters and no annotation coverage, this is a significant gap.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, efficient sentence that immediately conveys the core functionality without unnecessary words. It's front-loaded with the primary purpose and includes essential details about identification methods, making every word earn its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool with 5 parameters, no annotations, and no output schema, the description is inadequate. It doesn't explain what 'detailed information' includes, how results are structured, error conditions, or behavioral constraints. Given the complexity and lack of structured data, the description should provide more complete operational context.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, providing detailed documentation for all 5 parameters. The description adds minimal value beyond the schema by mentioning the three identification methods, which partially maps to the 'identifier' parameter. However, it doesn't explain parameter interactions or provide additional context beyond what's already in the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('Get detailed information') and resource ('a specific Magic: The Gathering card'), specifying three distinct identification methods (name, set code+number, or Scryfall ID). This distinguishes it from siblings like search_cards (which returns multiple results) or get_card_prices (which focuses on pricing data).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage by stating it retrieves information about 'a specific' card, suggesting it's for single-card lookup rather than batch operations. However, it doesn't explicitly contrast with alternatives like search_cards (for multiple cards) or batch_card_analysis, nor does it mention when not to use it (e.g., for price data).
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_card_pricesB
Get current price information for a Magic: The Gathering card by name, set/number, or Scryfall ID
| Name | Required | Description | Default |
|---|---|---|---|
| card_identifier | Yes | Card name, set/number, or Scryfall ID | |
| currency | No | Currency type for prices | usd |
| format_context | No | Show price relevance for specific format | |
| include_alternatives | No | Include budget alternatives and upgrades | |
| include_history | No | Include price trend data (not implemented in Scryfall API) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries full burden but only states the basic function without disclosing behavioral traits like rate limits, authentication requirements, error handling, or response format. It mentions 'price information' but doesn't specify what data points are returned or how results are structured.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, efficient sentence that front-loads the core purpose without unnecessary words. Every element ('Get current price information', 'Magic: The Gathering card', identification methods) earns its place by contributing essential information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a price lookup tool with 5 parameters, no annotations, and no output schema, the description is insufficient. It doesn't explain what 'price information' includes (e.g., market price, foil price, vendor prices), nor does it address behavioral aspects like data freshness, limitations, or error cases that would help an agent use it correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already documents all parameters thoroughly. The description adds minimal value by mentioning identification methods that map to 'card_identifier', but doesn't provide additional context beyond what's in the schema. Baseline 3 is appropriate when schema does the heavy lifting.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the specific action ('Get current price information') and resource ('for a Magic: The Gathering card'), with explicit mention of three distinct identification methods (name, set/number, or Scryfall ID). This distinguishes it from siblings like 'get_card' (general card data) or 'search_cards' (search functionality).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives like 'search_alternatives' or 'search_format_staples', nor does it mention prerequisites or context for usage. It simply states what the tool does without indicating appropriate scenarios.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
query_rulesC
Search Magic: The Gathering comprehensive rules for specific interactions and rule clarifications
| Name | Required | Description | Default |
|---|---|---|---|
| context_lines | No | Lines of context around matches | |
| exact_match | No | Require exact phrase matching | |
| query | Yes | Search term or rules question | |
| section | No | Specific rule section (e.g., "7" for Additional Rules) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries full burden but only states it searches for rules. It doesn't disclose behavioral traits like whether it returns full rule text or summaries, how results are ranked, if there are rate limits, or what happens with ambiguous queries.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, efficient sentence that clearly states the purpose without unnecessary words. It's appropriately sized and front-loaded with the core functionality.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a search tool with 4 parameters and no output schema or annotations, the description is insufficient. It doesn't explain what the search returns, how results are formatted, or provide context about the comprehensive rules database being searched.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema description coverage is 100%, so all parameters are documented in the schema. The description adds no additional meaning about parameters beyond what the schema provides, maintaining the baseline score.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool searches Magic: The Gathering comprehensive rules for interactions and clarifications, which is a specific verb+resource combination. However, it doesn't differentiate from sibling tools like 'search_cards' or 'search_sets' which also search but different resources.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives. It doesn't mention when this tool is appropriate versus other search tools in the sibling list or what types of rules questions it handles best.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
random_cardB
Get a random Magic: The Gathering card, optionally filtered by format or search criteria
| Name | Required | Description | Default |
|---|---|---|---|
| archetype | No | Deck archetype preference | |
| exclude_reprints | No | Exclude heavily reprinted cards | |
| format | No | Magic format to filter by legality | |
| price_range | No | Price constraints for random selection | |
| query | No | Optional Scryfall search query to filter random selection (e.g., "c:red", "type:creature") | |
| rarity_preference | No | Preferred rarity level | |
| similar_to | No | Find cards similar to this card |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It mentions the tool 'Get[s] a random... card' with filters, but does not disclose behavioral traits such as rate limits, authentication needs, whether it returns a single card or multiple, error handling, or data sources (e.g., Scryfall). For a tool with no annotations, this leaves significant gaps in understanding its operation.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, efficient sentence that is front-loaded with the core purpose ('Get a random Magic: The Gathering card') and adds necessary qualification ('optionally filtered by format or search criteria'). There is zero waste, and every word earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the complexity (7 parameters, no annotations, no output schema), the description is insufficient. It does not explain what the tool returns (e.g., card details, image, pricing), how randomness is implemented, or any limitations. For a tool with rich input options but no structured output or behavioral annotations, more context is needed to guide effective use.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already documents all 7 parameters thoroughly. The description adds minimal value beyond the schema by mentioning 'filtered by format or search criteria', which loosely maps to 'format' and 'query' parameters but does not provide additional syntax or meaning. Baseline 3 is appropriate as the schema does the heavy lifting.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb ('Get') and resource ('a random Magic: The Gathering card'), and specifies the optional filtering capabilities ('optionally filtered by format or search criteria'). It distinguishes itself from siblings like 'get_card' (likely for specific cards) and 'search_cards' (likely for broader searches) by focusing on random selection with filters.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage for obtaining random cards with optional filters, but does not explicitly state when to use this tool versus alternatives like 'search_cards' or 'get_card'. It provides some context ('optionally filtered') but lacks explicit guidance on exclusions or comparisons with sibling tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_alternativesB
Find budget alternatives, upgrades, or functionally similar cards
| Name | Required | Description | Default |
|---|---|---|---|
| direction | Yes | Type of alternative to find | |
| format | No | Format legality requirement | |
| limit | No | Number of alternatives to return | |
| max_price | No | Maximum price constraint | |
| min_price | No | Minimum price constraint | |
| preserve_function | No | Maintain similar functionality | |
| target_card | Yes | Card to find alternatives for |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden of behavioral disclosure. It mentions the tool finds alternatives based on budget, upgrades, or similarity, but does not describe key behaviors like data sources, rate limits, authentication needs, or what happens if no matches are found. For a tool with 7 parameters and no annotations, this is a significant gap.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, efficient sentence: 'Find budget alternatives, upgrades, or functionally similar cards.' It is front-loaded with the core purpose and contains no wasted words, making it highly concise and well-structured.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's complexity (7 parameters, no annotations, no output schema), the description is minimally adequate. It states the purpose but lacks behavioral context, usage guidelines, and output details. The schema covers parameters well, but without annotations or output schema, the description should do more to compensate, resulting in a moderate score.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already documents all parameters thoroughly. The description adds no additional meaning beyond what the schema provides, such as explaining how 'preserve_function' interacts with 'direction' or detailing price constraints. Baseline 3 is appropriate when the schema does the heavy lifting.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose: 'Find budget alternatives, upgrades, or functionally similar cards.' It specifies the verb ('Find') and resource ('cards'), but does not differentiate from sibling tools like 'search_cards' or 'find_synergistic_cards,' which might have overlapping purposes. The description is specific but lacks sibling distinction.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives. It does not mention sibling tools or contexts where other tools might be more appropriate, such as 'search_cards' for general searches or 'find_synergistic_cards' for combo-related queries. Usage is implied by the purpose but not explicitly stated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_cardsA
Search for Magic: The Gathering cards using Scryfall search syntax. Supports complex queries with operators like color:, type:, set:, etc.
| Name | Required | Description | Default |
|---|---|---|---|
| arena_only | No | Only return cards available in Arena | |
| direction | No | Sort direction | auto |
| format | No | Response format - text for human-readable, json for structured data | text |
| include_extras | No | Include tokens, emblems, and other extras in search results | |
| include_multilingual | No | Include cards in all languages | |
| include_variations | No | Include rare card variants | |
| limit | No | Number of cards to return (1-175) | |
| order | No | Sort order for results | |
| page | No | Page number for pagination (starts at 1) | |
| price_range | No | Price filtering constraints | |
| query | Yes | Scryfall search query using their syntax (e.g., "lightning bolt", "c:red type:instant", "set:dom") | |
| unique | No | Strategy for omitting similar cards | cards |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure. While it mentions the search syntax and supports complex queries, it doesn't describe important behavioral aspects like rate limits, authentication requirements, response format details, pagination behavior beyond the 'page' parameter, or error handling. The description is insufficient for a tool with 12 parameters and no annotation coverage.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is perfectly concise with two sentences that each earn their place. The first sentence establishes the core purpose, and the second adds valuable context about query capabilities. No wasted words or redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's complexity (12 parameters, nested objects, no output schema, and no annotations), the description is incomplete. It doesn't explain what the tool returns, how results are structured, error conditions, rate limits, or authentication requirements. For a search tool with this level of complexity and no structured behavioral annotations, the description should provide more complete context.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already documents all parameters thoroughly. The description adds minimal value beyond the schema by mentioning 'Scryfall search syntax' and 'complex queries with operators like color:, type:, set:, etc.', but doesn't provide additional parameter semantics beyond what's already in the structured schema. Baseline 3 is appropriate when schema does the heavy lifting.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose with specific verb ('Search for') and resource ('Magic: The Gathering cards'), and distinguishes it from siblings by specifying the search method ('using Scryfall search syntax'). It explicitly mentions what makes this tool unique among the sibling tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides clear context about when to use this tool ('Search for Magic: The Gathering cards using Scryfall search syntax'), but doesn't explicitly mention when not to use it or name specific alternatives. It implies usage for complex queries but doesn't compare with siblings like 'get_card' or 'search_alternatives'.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_format_staplesC
Find format staples, meta cards, and role-specific cards for competitive play
| Name | Required | Description | Default |
|---|---|---|---|
| color_identity | No | Color identity filter (e.g., "wr", "grixis", "colorless") | |
| format | Yes | Magic format to analyze | |
| limit | No | Number of results to return | |
| max_price | No | Maximum price in USD | |
| role | No | Card role in deck archetypes | |
| tier | No | Meta tier level | competitive |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden of behavioral disclosure. It mentions 'find' but doesn't clarify if this is a read-only operation, what the output format looks like, or any limitations (e.g., rate limits, data freshness). For a search tool with 6 parameters and no annotations, this lack of behavioral context is a significant gap.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, efficient sentence that front-loads the core purpose without unnecessary words. It directly states what the tool does and the context, earning its place with zero waste.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the complexity (6 parameters, no output schema, no annotations), the description is incomplete. It lacks details on behavioral traits, output format, and usage guidelines. While the schema covers parameters well, the description doesn't compensate for missing annotations or output information, making it inadequate for full agent understanding.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema fully documents all 6 parameters with descriptions and enums. The description adds no additional parameter semantics beyond implying a focus on competitive play, which aligns with the 'tier' parameter. Baseline 3 is appropriate as the schema does the heavy lifting.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose: 'Find format staples, meta cards, and role-specific cards for competitive play.' It specifies the verb 'find' and the resources (staples, meta cards, role-specific cards), and mentions the context (competitive play). However, it doesn't explicitly differentiate from sibling tools like 'search_cards' or 'search_alternatives' beyond the competitive focus.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides minimal guidance on when to use this tool. It implies usage for competitive play analysis but doesn't specify when to choose it over alternatives like 'search_cards' or 'find_synergistic_cards.' No exclusions or prerequisites are mentioned, leaving the agent with little context for tool selection.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_setsC
Search for Magic: The Gathering sets with optional filtering by name, type, and release dates
| Name | Required | Description | Default |
|---|---|---|---|
| query | No | Set name or code to search for (partial matches supported) | |
| released_after | No | ISO date string - only show sets released after this date (YYYY-MM-DD) | |
| released_before | No | ISO date string - only show sets released before this date (YYYY-MM-DD) | |
| type | No | Filter by set type. Common types: core (yearly core sets), expansion (rotational sets), masters (reprint sets), commander (preconstructed Commander decks), promo (promotional cards), token (tokens and emblems) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure. It mentions 'search' and 'optional filtering' but doesn't describe what the search returns (e.g., list of sets with details), pagination behavior, rate limits, authentication needs, or error conditions. For a search tool with zero annotation coverage, this leaves significant gaps.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, efficient sentence that front-loads the core purpose ('search for Magic: The Gathering sets') and then specifies the optional filtering. There's no wasted language or redundancy, making it appropriately concise.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no annotations and no output schema, the description is incomplete for a search tool. It doesn't explain what the tool returns (e.g., set names, codes, release dates), how results are structured, or any behavioral aspects like pagination or errors. This leaves the agent with insufficient context to use the tool effectively.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The description lists the optional filtering parameters (name, type, release dates), which aligns with the input schema. Since schema description coverage is 100%, the schema already documents all parameters thoroughly. The description adds minimal value beyond what's in the schema, meeting the baseline for high coverage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb ('search for') and resource ('Magic: The Gathering sets'), and specifies the optional filtering capabilities. However, it doesn't explicitly differentiate from sibling tools like 'search_cards' or 'search_format_staples' which might also search MTG content, so it doesn't reach the highest score.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description mentions optional filtering parameters but provides no guidance on when to use this tool versus alternatives like 'search_cards' or 'search_format_staples'. There's no context about use cases, prerequisites, or comparisons with sibling tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
suggest_mana_baseC
Suggest optimal mana base composition and land recommendations for a deck
| Name | Required | Description | Default |
|---|---|---|---|
| average_cmc | No | Average converted mana cost of non-land cards | |
| budget | No | Budget constraint for land recommendations | moderate |
| color_intensity | No | Color intensity requirements (1-10 scale) | |
| color_requirements | Yes | Color requirements (e.g., "WU", "RBG", "WUBRG") | |
| deck_size | No | Total deck size | |
| format | No | Format to suggest lands for | |
| special_requirements | No | Special mana base requirements | |
| strategy | No | Deck strategy archetype | midrange |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden of behavioral disclosure. It states the tool 'suggests' recommendations, implying a read-only or advisory function, but doesn't clarify if it's a simulation, calculation, or data lookup. It lacks details on performance, rate limits, authentication needs, or what the output entails (e.g., list of lands, percentages). For a tool with 8 parameters and no annotations, this is insufficient.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, efficient sentence: 'Suggest optimal mana base composition and land recommendations for a deck.' It is front-loaded with the core purpose, has zero redundant words, and appropriately sized for the tool's complexity. Every word earns its place, making it highly concise and well-structured.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's complexity (8 parameters, nested objects, no output schema, and no annotations), the description is incomplete. It doesn't address behavioral aspects, output format, or usage context. While the schema covers parameters well, the description fails to compensate for the lack of annotations and output schema, leaving gaps in understanding how the tool behaves and what results to expect.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, meaning all parameters are documented in the input schema. The description adds no specific parameter details beyond implying it uses deck characteristics for suggestions. It doesn't explain how parameters like 'color_intensity' or 'special_requirements' influence the output. Since the schema handles the heavy lifting, the baseline score of 3 is appropriate, as the description provides minimal extra value.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose: 'suggest optimal mana base composition and land recommendations for a deck.' It specifies the verb ('suggest') and resource ('mana base composition and land recommendations'), making the function evident. However, it doesn't explicitly differentiate from sibling tools like 'analyze_deck_composition' or 'search_format_staples,' which might also relate to deck-building, so it doesn't reach the highest score.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives. It doesn't mention any prerequisites, exclusions, or specific contexts for usage. Given the sibling tools include 'analyze_deck_composition' and 'search_format_staples,' which could overlap in deck analysis, the lack of differentiation is a significant gap, leaving the agent to infer usage based on tool names alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
validate_brawl_commanderB
Validate if a card can be a legal commander in Brawl or Standard Brawl formats
| Name | Required | Description | Default |
|---|---|---|---|
| card_identifier | Yes | Card name, set code+collector number, or Scryfall ID to validate | |
| format | Yes | Brawl format to validate for (brawl = Historic Brawl, standardbrawl = Standard Brawl) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries full burden but only states what the tool does without disclosing behavioral traits. It doesn't mention error handling, response format, rate limits, or whether this is a read-only operation (though implied by 'validate'). For a tool with no annotations, this leaves significant behavioral gaps.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Single sentence that efficiently communicates the core purpose with zero waste. Every word earns its place - 'validate', 'card', 'legal commander', and 'Brawl or Standard Brawl formats' are all essential information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a validation tool with no annotations and no output schema, the description is incomplete. It doesn't explain what constitutes a 'legal commander', what the validation criteria are, what the response looks like, or error conditions. The description should provide more context given the lack of structured metadata.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already documents both parameters thoroughly. The description doesn't add any parameter semantics beyond what's in the schema - it doesn't explain validation logic, format differences, or provide examples. Baseline 3 is appropriate when schema does the heavy lifting.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the specific action ('validate') and resource ('card') with precise context ('legal commander in Brawl or Standard Brawl formats'). It distinguishes from siblings like 'get_card' or 'search_cards' by focusing on format legality validation rather than retrieval or search.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage when checking commander legality, but doesn't explicitly state when to use this tool versus alternatives like 'query_rules' or 'search_format_staples'. It provides basic context but lacks explicit guidance on prerequisites or comparisons with sibling tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
14 tool updates
v1.0.0- First observed
analyze_deck_composition - First observed
batch_card_analysis - First observed
build_scryfall_query - First observed
find_synergistic_cards - First observed
get_card - First observed
get_card_prices - First observed
query_rules - First observed
random_card - First observed
search_alternatives - First observed
search_cards - First observed
search_format_staples - First observed
search_sets - First observed
suggest_mana_base - First observed
validate_brawl_commander
TDQS
Scored across 14 tools
Every tool has a clearly distinct purpose with no significant overlap. For example, get_card retrieves a single card, search_cards handles complex queries, and analyze_deck_composition focuses on deck analysis, making misselection unlikely.
All tool names follow a consistent verb_noun pattern using snake_case, such as get_card, search_cards, and analyze_deck_composition. This predictability aids in agent understanding and usage.
With 14 tools, the server is well-scoped for Magic: The Gathering card and deck management. Each tool serves a specific function, from card retrieval to deck analysis, without feeling excessive or insufficient.
The tool surface comprehensively covers the domain, including card search, price checks, deck analysis, rules queries, and format validation. There are no obvious gaps, supporting full agent workflows for MTG-related tasks.
Maintenance
Related MCP Connectors
A comprehensive Model Context Protocol (MCP) server that enables AI assistants to interact with yo…
The Mercado Pago MCP Server implements the Model Context Protocol to provide AI agents and LLMs with access to Mercado Pago's APIs and tools within compatible development environments. It acts as an intermediary that translates Mercado Pago resources into executable functions (tools) that AI applications can invoke to perform actions and automate flows. The server simplifies integration, enables using documentation to implement or improve code, and optimizes operations through natural language interactions without manual implementations.
A Model Context Protocol server for Wix AI tools
Model Context Protocol server for the Apideck Unified API. Connect any MCP-compatible agent framework to 100+ accounting systems, HRIS platforms, file storage providers, and more through one integration. More information https://www.apideck.com/mcp-server
Related MCP Servers
- AlicenseAqualityAmaintenanceMCP server for I Want My MTG that enables conversational search of Magic: The Gathering cards/sets and inventory management via API tools.60390 npm1MIT
- AlicenseNot gradedqualityCmaintenanceA comprehensive Model Context Protocol server that provides AI assistants with rich Magic: The Gathering information, including card data, comprehensive rules, EDHREC recommendations, combo interactions, and intelligent Commander deck generation.28 PyPI1MIT
- AlicenseNot gradedqualityDmaintenanceMCP server for searching and retrieving Magic: The Gathering card information via the Scryfall API, with support for field presets, multiple output formats, and automatic rate limiting.72,932 npmMIT
- AlicenseNot gradedqualityDmaintenanceMCP server that searches and retrieves Magic: The Gathering card data from the Scryfall API.72,932 npmMIT