Skip to main content
Glama
j4th
by j4th

mtg-mcp-server

CI PyPI Python 3.12+ License: MIT codecov CodeQL Smithery Dependabot uv Ruff

69 tools, 19 prompts, and 21 resources that give AI assistants deep access to Magic: The Gathering -- card data, combos, draft analytics, Commander metagame, competitive constructed, sideboard strategy, deck building, rules engine, and more. Works with Claude Code, Claude Desktop, or any MCP client.

Built on data from Scryfall, Commander Spellbook, 17Lands, EDHREC, Moxfield, Spicerack, and MTGGoldfish. See Data Sources & Attribution for details and usage terms.

Table of Contents

  • What You Can Do — example prompts and real tool output

  • Install — hosted, Claude Code, Claude Desktop, PyPI, development

  • Configuration — environment variables and feature flags

  • Tools — all 69 tools across 13 domains

  • Architecture — FastMCP 3.x mount system

  • Stack — Python 3.12+, FastMCP, httpx, Pydantic

  • Development — mise commands for testing, linting, typechecking

  • Documentation — cookbook, architecture, tool reference, and more

  • Status — current tool/test counts

  • Data Sources & Attribution — Scryfall, Spellbook, 17Lands, EDHREC, Moxfield, Spicerack, MTGGoldfish

Related MCP server: Scryfall MCP Server

What You Can Do

Ask your AI assistant questions like these and it will use the MTG tools automatically:

Commander

  • "Show me everything about Muldrotha as a commander"

  • "What are the best budget upgrades for my Atraxa deck under $5?"

  • "Compare Muldrotha vs Meren vs Karador as graveyard commanders"

Draft & Limited

  • "What are the best commons in Foundations for draft?"

  • "Rank these cards for my draft pack: Bitter Triumph, Monstrous Rage, Torch the Tower"

  • "Build a sealed deck from this pool: [list]"

Deck Building

  • "Validate my Modern decklist"

  • "Suggest a mana base for my 3-color Commander deck"

  • "Find cards that synergize with sacrifice themes in Golgari"

Rules

  • "How do deathtouch and trample interact?"

  • "Resolve this combat scenario: my 3/3 with first strike blocks their 5/5 with trample"

Constructed

  • "What does the Modern metagame look like right now?"

  • "Show me the stock Boros Energy decklist for Modern"

  • "Build me a sideboard for this Pioneer deck"

  • "Give me a sideboard guide for my deck against Azorius Control"

See It in Action

"Compare Muldrotha, Meren, and Karador as graveyard commanders"

                     Muldrotha            Meren               Karador
Mana Cost            {3}{B}{G}{U}         {2}{B}{G}           {5}{W}{B}{G}
Color Identity       BGU (Sultai)         BG (Golgari)        BGW (Abzan)
Stats                6/6                  3/4                  3/4
EDHREC Rank          #1,137               #1,476              #9,894
Total Decks          22,460               19,919              6,305
Combo Count          10                   1                   10

Top Staples:
  Muldrotha           Spore Frog (+53%), Sakura-Tribe Elder (+36%), Eternal Witness (+27%)
  Meren               Spore Frog (+70%), Sakura-Tribe Elder (+55%), Viscera Seer (+52%)
  Karador             Karmic Guide (+51%), Satyr Wayfinder (+49%), Sun Titan (+48%)

"What are the best commons in Foundations for draft?"

Foundations (FDN) — PremierDraft · Median GIH WR: 54.7%

Rank  Card               Color  GIH WR   ALSA   IWD      Games
1     Bake into a Pie    B      58.4%    3.1    +5.3%    354,741
2     Burst Lightning    R      58.2%    3.3    +3.0%    338,888
3     Refute             U      58.1%    5.3    +4.3%    321,280
4     Stab               B      57.9%    3.4    +4.5%    376,569
5     Dazzling Angel     W      57.8%    3.2    +2.4%    317,648

Trap rares: Doubling Season (39.4%), Thousand-Year Storm (35.2%) ...

More examples with real tool output in the Cookbook.

Install

No API keys needed -- all data sources are public.

Hosted (zero setup)

The fastest way to get started. No Python install required. Works on mobile.

Via the UI (Claude Desktop or claude.ai): Settings → Connectors → Add custom connector → paste the URL:

https://mtg-mcp-server.fastmcp.app/mcp

Via config file (~/Library/Application Support/Claude/claude_desktop_config.json on macOS, %APPDATA%\Claude\claude_desktop_config.json on Windows):

{
  "mcpServers": {
    "mtg": {
      "type": "url",
      "url": "https://mtg-mcp-server.fastmcp.app/mcp"
    }
  }
}

Claude Code

claude mcp add mtg -- uvx mtg-mcp-server

Or via the UI: Settings → MCP Servers → Add server → enter uvx mtg-mcp-server as the command.

Claude Desktop (local)

Runs on your machine. Requires Python 3.12+.

{
  "mcpServers": {
    "mtg": {
      "command": "uvx",
      "args": ["mtg-mcp-server"]
    }
  }
}

PyPI

# Run directly (no install)
uvx mtg-mcp-server

# Install globally
uv tool install mtg-mcp-server

# Add to a project
uv add mtg-mcp-server

Development

git clone https://github.com/j4th/mtg-mcp-server.git
cd mtg-mcp-server
mise install          # Installs Python 3.12, uv, ruff, ty
mise run setup        # Creates venv, installs dependencies

uv run mtg-mcp-server # Run the server

Claude Code config for local development:

{
  "mcpServers": {
    "mtg": {
      "command": "uv",
      "args": ["run", "--directory", "/path/to/mtg-mcp-server", "mtg-mcp-server"]
    }
  }
}

Configuration

All settings use MTG_MCP_ environment variables. Everything works out of the box with sensible defaults.

# Feature flags for optional backends
MTG_MCP_ENABLE_EDHREC=false       # EDHREC (scrapes undocumented endpoints)
MTG_MCP_ENABLE_17LANDS=false      # 17Lands (rate-limits aggressively)
MTG_MCP_ENABLE_BULK_DATA=false    # Scryfall bulk data (~30MB download on first use)
MTG_MCP_ENABLE_RULES=false        # Comprehensive Rules engine

# Pass env vars through uvx
uvx --env MTG_MCP_ENABLE_EDHREC=false mtg-mcp-server

See .env.example for all available options including base URLs, rate limits, and cache settings.

Tools

69 tools across 13 domains. See docs/TOOL_DESIGN.md for full input/output details.

Card Data (scryfall_*)

Tool

Description

search_cards

Search using full Scryfall syntax (f:commander id:sultai t:creature)

card_details

Full card data by exact or fuzzy name

card_price

Current USD, EUR, and foil prices

card_rulings

Official rulings and clarifications

set_info

Set metadata by code

whats_new

Recently released or previewed cards

Bulk Data (bulk_*)

Tool

Description

card_lookup

Rate-limit-free card lookup by exact name

card_search

Search by name, type, or oracle text

format_legality

Check if a card is legal in a format

format_search

Search for cards legal in a specific format

format_staples

Top-played cards in a format by EDHREC rank

ban_list

Banned and restricted cards for a format

card_in_formats

Card legality across all formats

random_card

Random card, optionally filtered by format or type

similar_cards

Find cards similar by type, keywords, or mana cost

Combos (spellbook_*)

Tool

Description

find_combos

Search for combos by card name and color identity

combo_details

Step-by-step combo instructions by ID

find_decklist_combos

Find combos present in a decklist

estimate_bracket

Estimate Commander bracket for a decklist

Draft Analytics (draft_*)

Tool

Description

card_ratings

Win rates and draft data for cards in a set (17Lands)

archetype_stats

Win rates by color pair for a set

Commander Metagame (edhrec_*)

Tool

Description

commander_staples

Most-played cards for a commander with synergy scores

card_synergy

Synergy data for a card with a specific commander

Decklists (moxfield_*)

Tool

Description

decklist

Fetch a full decklist by deck ID or URL

deck_info

Deck metadata (name, format, author, dates)

search_decks

Search public decks by format, keyword, or sort order

user_decks

List a user's public decks

Tournament Data (spicerack_*)

Tool

Description

recent_tournaments

Recent tournaments for a competitive format

tournament_results

Full standings for a specific tournament

format_decklists

Top-finishing decklists across recent tournaments

Metagame (goldfish_*)

Tool

Description

metagame

Current metagame breakdown for a competitive format

archetype_list

Sample decklist for an archetype

format_staples

Most-played cards in a format with deck inclusion %

deck_price

Estimated paper price for an archetype deck

Commander Workflows

Tool

Description

commander_overview

Full commander profile from all sources

evaluate_upgrade

Assess whether a card is worth adding to a deck

card_comparison

Compare 2-5 cards side-by-side for a commander

budget_upgrade

Budget-constrained upgrade suggestions ranked by synergy/$

commander_comparison

Compare 2-5 commanders head-to-head

color_identity_staples

Top-played cards across all commanders in a color identity

Deck Building

Tool

Description

theme_search

Find cards matching a mechanical or tribal theme

build_around

Detect synergies from key cards and find complements

complete_deck

Gap analysis and suggestions for a partial decklist

tribal_staples

Best cards for a creature type in a color identity

precon_upgrade

Analyze a precon and suggest swap pairs

suggest_cuts

Identify the weakest cards to cut from a decklist

deck_analysis

Full decklist health check (curve, colors, combos, budget)

deck_validate

Validate a decklist against format construction rules

suggest_mana_base

Suggest lands based on color pip distribution

price_comparison

Compare prices across multiple cards

Draft Workflows

Tool

Description

draft_pack_pick

Rank cards in a draft pack using 17Lands data

set_overview

Top commons/uncommons and trap rares for a format

sealed_pool_build

Suggest the best 40-card builds from a sealed pool

draft_signal_read

Detect open colors from draft picks

draft_log_review

Pick-by-pick review of a completed draft with grade

Constructed Workflows

Tool

Description

rotation_check

Standard rotation status and rotating cards

metagame_snapshot

Tiered metagame breakdown with prices

archetype_decklist

Stock decklist for a competitive archetype

archetype_comparison

Compare 2-4 archetypes side-by-side

format_entry_guide

Beginner guide for entering a competitive format

suggest_sideboard

15-card sideboard suggestions for a deck

sideboard_guide

In/out plan for a specific matchup

sideboard_matrix

Sideboard matrix across common matchups

Rules Engine

Tool

Description

rules_lookup

Look up rules by number or keyword

keyword_explain

Explain a keyword with rules and example cards

rules_interaction

How two mechanics interact with rule citations

rules_scenario

Rules framework for a game scenario

combat_calculator

Step-by-step combat phases with keyword interactions

Architecture

Built on FastMCP 3.x. Each data source is an independent sub-server mounted into a single orchestrator:

MTG (orchestrator)
├── scryfall (namespace: scryfall_)     -> Scryfall REST API
├── spellbook (namespace: spellbook_)   -> Commander Spellbook API
├── draft (namespace: draft_)           -> 17Lands data
├── edhrec (namespace: edhrec_)         -> EDHREC (scraped, feature-flagged)
├── bulk (namespace: bulk_)             -> Scryfall Oracle Cards bulk data
├── moxfield (namespace: moxfield_)     -> Moxfield (reverse-engineered, feature-flagged)
├── spicerack (namespace: spicerack_)   -> Spicerack tournament API
├── goldfish (namespace: goldfish_)     -> MTGGoldfish (scraped, feature-flagged)
└── workflows (no namespace)            -> 36 tools (31 composed + 5 rules)

Services are pure async API clients. Providers register MCP tools. Workflows compose across services with partial failure tolerance. See docs/ARCHITECTURE.md for the full picture.

Stack

Runtime

Python 3.12+, uv

MCP

FastMCP 3.2.x

HTTP

httpx (async)

Validation

Pydantic v2

Logging

structlog

Tooling

mise, ruff, ty (Astral)

Testing

pytest, respx, pytest-asyncio

HTML parsing

selectolax

Development

git clone https://github.com/j4th/mtg-mcp-server.git
cd mtg-mcp-server
mise install          # Installs Python, uv, ruff, ty
mise run setup        # Creates venv, installs dependencies

mise run check        # Full quality gate: lint + typecheck + tests
mise run check:quick  # Fast gate: lint + typecheck + affected tests only
mise run test         # All tests with coverage
mise run test:quick   # Only tests affected by recent changes
mise run lint         # ruff check + format check
mise run typecheck    # ty check
mise run dev          # MCP Inspector for interactive testing
mise run fix          # Auto-fix lint and format issues

Documentation

Doc

What it covers

COOKBOOK.md

Usage recipes -- Commander, draft, deck building, rules workflows

TOOL_DESIGN.md

Full reference for all 69 tools, 19 prompts, 21 resources

ARCHITECTURE.md

Technical architecture, FastMCP patterns, design decisions

SERVICE_CONTRACTS.md

API endpoints, rate limits, response shapes per backend

DATA_SOURCES.md

All data sources with auth, stability, and access patterns

CACHING_DESIGN.md

TTL cache strategy and Scryfall bulk data design

CONTRIBUTING.md

Development setup, TDD workflow, code style, PR process

CHANGELOG.md

Version history in Keep a Changelog format

Status

69 tools, 19 prompts, 21 resource templates. 1340 tests at 88% coverage.

Phase

What

Status

0

Project scaffold

Done

1

Scryfall backend (4 tools)

Done

2

Spellbook + 17Lands + EDHREC backends (9 tools)

Done

3

Workflow tools -- commander, draft, deck (4 tools)

Done

4

TTL caching + Scryfall bulk data provider (2 tools)

Done

5

Analysis & comparison workflows, prompts, resources (4 tools)

Done

Branch A

Structured output, rules engine, validation tools (17 tools)

Done

Branch B

Format workflows -- deck building, commander depth, limited, constructed (11 tools)

Done

Moxfield

Moxfield decklist provider (4 tools)

Done

Spicerack

Tournament results provider (3 tools)

Done

MTGGoldfish

Metagame data provider (4 tools)

Done

v2.3.0

Metagame workflows, sideboard tools, Moxfield search (9 tools)

Done

Data Sources & Attribution

This project composes data from multiple third-party services:

See THIRD_PARTY_NOTICES.md for full license texts and usage terms.

Disclaimer

mtg-mcp-server is unofficial Fan Content permitted under the Fan Content Policy. Not approved/endorsed by Wizards. Portions of the materials used are property of Wizards of the Coast. © Wizards of the Coast LLC.

License

MIT -- see LICENSE

Available Tools

56 tools
archetype_comparisonA
Read-onlyIdempotent

Compare 2-4 competitive archetypes side-by-side.

Shows price, colors, key cards, shared staples, and differences.

ParametersJSON Schema
NameRequiredDescriptionDefault
formatYesCompetitive format (e.g. 'Modern', 'Legacy', 'Pioneer', 'Pauper')
archetypesYes2-4 archetype names to compare (fuzzy matched)
response_formatNoOutput verbosity: 'detailed' (default) or 'concise'detailed

TDQS

A4.1/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint, idempotentHint, and openWorldHint, so the safety profile is clear. The description adds the specific output components (price, colors, key cards, etc.), which is useful but does not go beyond what annotations already cover.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is exceptionally concise with two sentences that front-load the purpose and immediately list what the tool shows. Every word earns its place with no redundancy.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the simplicity of the tool and the presence of annotations and full schema coverage, the description adequately explains the tool's capabilities and the nature of its output. There is no output schema, but the listed output details are sufficient for an agent.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Input schema has 100% coverage with descriptions for all parameters. The description confirms that 'archetypes' expects 2-4 items, aligning with the schema's minItems? but no minItems specified. It does not add additional meaning beyond what the schema provides, so baseline 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool compares 2-4 competitive archetypes side-by-side and lists the specific details shown. It distinguishes from siblings like 'card_comparison' and 'commander_comparison' by focusing on archetypes rather than individual cards or commanders.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies usage when needing to compare archetypes, but does not explicitly state when not to use it or mention alternative tools. However, given the sibling tools, the context is clear enough for an AI agent.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

archetype_decklistB
Read-onlyIdempotent

Get the stock decklist for a competitive archetype.

Returns a full decklist (mainboard + sideboard) with deck metadata and total price when available. Archetype name is fuzzy-matched.

ParametersJSON Schema
NameRequiredDescriptionDefault
formatYesCompetitive format (e.g. 'Modern', 'Legacy', 'Pioneer', 'Pauper')
archetypeYesArchetype name (e.g. 'Boros Energy', 'Mono-Blue Terror') — fuzzy matched
response_formatNoOutput verbosity: 'detailed' (default) or 'concise'detailed

TDQS

B3.4/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint, idempotentHint, and openWorldHint, so the safety profile is known. The description adds value by noting that archetype names are fuzzy-matched and that total price is included 'when available', which are behavioral traits not in annotations. However, it does not elaborate on other behaviors like rate limits or error handling.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is extremely concise: two short sentences plus a clarifying line. The first sentence immediately states the core purpose, and the second specifies what is returned. Every word serves a purpose with no redundancy.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a read-only retrieval tool without output schema, the description covers the key aspects: input (fuzzy matched archetype, format), output (mainboard, sideboard, metadata, price), and a note on availability. It could be considered complete, though adding a note about no pagination or result limits would be beneficial.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so the baseline is 3. The description restates the fuzzy matching for the 'archetype' parameter but does not add semantic depth beyond what the schema already provides (e.g., examples or format details). The output description is separate from parameter semantics.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states it retrieves the 'stock decklist for a competitive archetype' with full mainboard and sideboard. It specifies the verb 'Get' and the resource 'decklist', distinguishing it from sibling tools like 'goldfish_archetype_list' which lists archetypes. However, it does not explicitly differentiate from other decklist retrieval tools like 'moxfield_decklist' or 'spicerack_format_decklists', so it narrowly misses a 5.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

There is no guidance on when to use this tool versus alternatives such as 'moxfield_decklist' for user decks or 'goldfish_archetype_list' for archetype names. The description only states what it does, leaving the AI agent to infer appropriate usage without context on exclusions.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

budget_upgradeA
Read-onlyIdempotent

Suggest budget-friendly upgrades for a commander deck.

Ranks EDHREC staples by synergy-per-dollar within the given budget ceiling. Requires EDHREC (for staples) and Scryfall (for prices).

ParametersJSON Schema
NameRequiredDescriptionDefault
commander_nameYesCommander the deck is built around
budgetYesMaximum price per card in USD (e.g. 5.0 for cards under $5)
num_suggestionsNoNumber of upgrade suggestions to return
response_formatNoOutput verbosity: 'detailed' (default) or 'concise'detailed

TDQS

A4.3/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations indicate readOnlyHint, idempotentHint, and openWorldHint. The description adds behavioral context by specifying the ranking method (synergy-per-dollar) and external dependencies (EDHREC, Scryfall). No contradiction with annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is extremely concise: two sentences that front-load the purpose and follow with essential detail. Every sentence adds value without redundancy.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The description lacks explicit information about return format or output structure, which is a gap given no output schema. The AI agent may need to infer that suggestions include card names and prices, but this is not stated.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Input schema has full coverage (100% descriptions). The description adds value by explaining the ranking criterion (synergy-per-dollar) and budget ceiling, which complements the schema's parameter descriptions (e.g., 'budget' as 'Maximum price per card in USD').

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

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 budget-friendly upgrades for a commander deck' and explains it 'Ranks EDHREC staples by synergy-per-dollar within the given budget ceiling.' This distinguishes it from sibling tools like 'evaluate_upgrade' (general upgrades) and 'price_comparison' (price-focused).

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description mentions dependencies: 'Requires EDHREC (for staples) and Scryfall (for prices),' implying when the tool is appropriate. It does not explicitly state when not to use or list alternatives, but the context is clear enough for an AI to decide.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

build_aroundA
Read-onlyIdempotent

Find synergistic cards for 1-5 build-around cards in any format.

Analyzes oracle text for key mechanics, searches for synergies, and checks combo potential. Groups results by role (enablers, payoffs, support).

ParametersJSON Schema
NameRequiredDescriptionDefault
cardsYes1-5 card names to build around
formatYesFormat to build for (e.g. 'standard', 'modern', 'commander')
budgetNoMaximum price per card in USD
limitNoMaximum number of suggestions
response_formatNoOutput verbosity: 'detailed' (default) or 'concise'detailed

TDQS

A4/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The description adds significant behavioral context beyond the annotations (readOnlyHint, idempotentHint, openWorldHint). It explains that the tool analyzes oracle text for key mechanics, searches for synergies, checks combo potential, and groups results by role (enablers, payoffs, support). This clarifies the internal logic and output structure, which is not covered by annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is concise, consisting of two short paragraphs that are front-loaded with the main purpose. Every sentence adds value, and there is no redundancy or unnecessary detail. It avoids fluff and effectively communicates the tool's functionality.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's complexity (synergy finding, grouping by role) and the absence of an output schema, the description provides a reasonable overview. However, it does not specify the exact output structure or format beyond 'grouped by role'. With 5 parameters and no output schema, a slightly more detailed description of the return format would be beneficial, but the current version is mostly adequate.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema covers all 5 parameters with descriptions, achieving 100% coverage. The description adds marginal value by explaining the analysis process (e.g., 'analyzes oracle text for key mechanics'), but does not provide additional details about parameter usage beyond what the schema already states. Thus, it meets the baseline for high schema coverage.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

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 synergistic cards for 1-5 build-around cards in any format.' It specifies the verb 'find', the resource 'synergistic cards', and the scope (1-5 cards). The additional details about analyzing oracle text, searching for mechanics, and grouping by role make the purpose highly specific and distinct from sibling tools.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies use when a user has build-around cards and wants synergies, but it does not explicitly state when to use this tool versus alternative sibling tools like 'archetype_comparison', 'spellbook_find_combos', or 'color_identity_staples'. No guidance on when not to use it or prerequisites are provided.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

card_comparisonA
Read-onlyIdempotent

Compare 2-5 cards side-by-side for a specific commander deck.

Shows mana cost, type, synergy, inclusion rate, combo count, and price for each card. Scryfall and Spellbook required; EDHREC optional.

ParametersJSON Schema
NameRequiredDescriptionDefault
cardsYes2-5 card names to compare side-by-side
commander_nameYesCommander the deck is built around
response_formatNoOutput verbosity: 'detailed' (default) or 'concise'detailed

TDQS

A4.2/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already provide readOnlyHint, idempotentHint, openWorldHint; description adds valuable context about required external dependencies (Scryfall, Spellbook) and optional EDHREC, enhancing transparency beyond annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two concise sentences: first states purpose and scope, second lists shown data and dependencies. No filler, front-loaded, every sentence adds value.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a comparison tool without an output schema, the description covers output fields and external requirements. Could include an example or structure hint, but overall is informative enough.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so parameters are already described. The description adds no additional semantic detail beyond what the schema provides, resulting in a baseline score.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Clearly states the tool compares 2-5 cards for a specific commander deck, listing the data fields shown, distinguishing it from sibling tools like commander_comparison and price_comparison.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Indicates when to use (for side-by-side card comparison in a commander deck) and implicitly differentiates from other comparison tools, but lacks explicit when-not or alternative tool references.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

color_identity_staplesA
Read-onlyIdempotent

Top cards across ALL commanders in a color identity.

Uses EDHREC aggregated data when available, falls back to EDHREC rank from bulk data.

ParametersJSON Schema
NameRequiredDescriptionDefault
color_identityYesColor identity (e.g. 'sultai', 'BUG', 'WR', 'mono-red')
categoryNoCard category filter (e.g. 'creatures', 'instants', 'lands')
limitNoMaximum number of results
response_formatNoOutput verbosity: 'detailed' (default) or 'concise'detailed

TDQS

A3.9/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already indicate readOnlyHint and idempotentHint. The description adds valuable context about data sourcing (EDHREC aggregated data fallback to bulk data) which provides transparency on behavior beyond annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is extremely concise with two sentences. The first sentence promptly communicates the tool's core purpose, and the second provides a necessary detail on data fallback. No extraneous information.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The description is adequate given the schema and annotations, but it lacks information about the output format or return structure. For a tool with no output schema, explanation of what the response contains (e.g., list of cards, stats) would improve completeness.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema has 100% description coverage for all 4 parameters. The description does not add significant meaning beyond what the schema already provides, so baseline of 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states 'Top cards across ALL commanders in a color identity' which specifies the verb (retrieve top cards), resource (color identity), and scope (all commanders). It distinguishes from sibling tools like 'tribal_staples' by focusing on color identity rather than tribe.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description mentions data source fallback behavior but does not provide explicit guidance on when to use this tool versus alternatives like 'tribal_staples' or 'goldfish_format_staples'. Usage context is implied 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.

combat_calculatorA
Read-onlyIdempotent

Calculate combat step-by-step with keyword interactions.

Resolves declare attackers → declare blockers → damage steps → state-based actions. Looks up card keywords from bulk data if card names are provided.

ParametersJSON Schema
NameRequiredDescriptionDefault
attackersYesAttacking creature names or descriptions
blockersYesBlocking creature names or descriptions
keywordsNoAdditional keyword abilities to consider (e.g. 'deathtouch', 'trample')
response_formatNoOutput verbosity: 'detailed' (default) or 'concise'detailed

TDQS

A4.1/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already indicate read-only, idempotent behavior. The description adds the process steps and external data lookup, which is helpful. However, it does not mention the open-world hint or detail output behavior.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two sentences, front-loaded with purpose, followed by process details. No unnecessary words.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Covers basic purpose and process, but lacks details on output format or edge cases. Given no output schema, some guidance on return structure would improve completeness.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, baseline 3. The description adds value by explaining that card names trigger keyword lookups, which clarifies the behavior for 'attackers' and 'blockers' parameters.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool calculates combat step-by-step with keyword interactions, specifying the phases resolved. There are no sibling tools with similar functions, so it is well-differentiated.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies usage for combat resolution but provides no guidance on when to use this tool versus alternatives like 'rules_interaction' or 'keyword_explain', nor does it specify when not to use it.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

commander_comparisonA
Read-onlyIdempotent

Compare 2-5 commanders head-to-head: stats, combos, staples, popularity.

Side-by-side comparison table with mana cost, color identity, EDHREC rank, combo count, and shared/unique staples.

ParametersJSON Schema
NameRequiredDescriptionDefault
commandersYes2-5 commander names to compare head-to-head
response_formatNoOutput verbosity: 'detailed' (default) or 'concise'detailed

TDQS

A4.2/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already provide safety hints. Description adds specific output details (table with mana cost, color identity, etc.) beyond annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two concise sentences, front-loaded with the action and key details. No waste.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Describes output format and content. Given annotations and simplicity, it is sufficiently complete. Could mention data freshness but openWorldHint covers that.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so baseline is 3. Description does not add meaning beyond what parameter descriptions already state.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Clearly states the tool compares 2-5 commanders head-to-head, listing specific stats. Distinguishes from sibling tools like card_comparison and archetype_comparison.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicitly indicates when to use (comparing commanders) but does not explicitly state when not to use or provide alternatives. However, the sibling list provides context.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

commander_overviewA
Read-onlyIdempotent

Comprehensive commander profile combining data from all available sources.

Returns card details, top combos, EDHREC staples, and synergy scores. Degrades gracefully if optional sources (EDHREC, Spellbook) are unavailable.

ParametersJSON Schema
NameRequiredDescriptionDefault
commander_nameYesCommander card name (e.g. 'Muldrotha, the Gravetide')
response_formatNoOutput verbosity: 'detailed' (default) or 'concise'detailed

TDQS

A4/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already indicate read-only, idempotent, and open-world behavior. The description adds valuable behavioral context by noting graceful degradation if optional sources (EDHREC, Spellbook) are unavailable, which goes beyond the structured annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two concise sentences with front-loaded purpose and specific outputs. Every phrase earns its place; no unnecessary words.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Without an output schema, the description adequately covers the tool's purpose and behavior (graceful degradation). It could be more specific about the output format or merge logic, but it is sufficient for an agent to understand the tool's scope.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Input schema provides 100% coverage for both parameters with clear descriptions. The tool description does not add additional semantic information beyond what is already in the schema, so a baseline 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states it provides a 'comprehensive commander profile' combining data from multiple sources, listing specific outputs (card details, top combos, EDHREC staples, synergy scores). This distinguishes it from sibling tools like spellbook_find_combos or deck_analysis.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies usage for broad commander information but lacks explicit when-to-use or when-not-to-use guidance. No alternatives are mentioned, so an agent may not know when to prefer this over other commander-related tools.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

complete_deckA
Read-onlyIdempotent

Identify gaps in a partial decklist and suggest cards to fill them.

Analyzes mana curve, card roles, and format-specific ratios, then suggests cards for underrepresented categories.

ParametersJSON Schema
NameRequiredDescriptionDefault
decklistYesPartial decklist — card names already chosen
formatYesFormat to build for (e.g. 'standard', 'modern', 'commander')
commanderNoCommander name (required for Commander format)
budgetNoMaximum price per suggested card in USD
response_formatNoOutput verbosity: 'detailed' (default) or 'concise'detailed

TDQS

A4.2/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already indicate readOnlyHint, idempotentHint, and openWorldHint. The description adds context by mentioning analysis of mana curve, card roles, and format-specific ratios, which goes beyond annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two sentences with the main purpose front-loaded in the first sentence. No wasted words; every sentence adds value.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The description covers the tool's function well but omits details about the output format. Since there is no output schema, describing the return shape would improve completeness.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the schema documents all parameters adequately. The description does not add extra meaning beyond what is already in the input schema, warranting a baseline score of 3.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states it identifies gaps in a partial decklist and suggests cards, using specific verbs and resource. It distinguishes from sibling tools like deck_analysis or suggest_cuts by focusing on filling underrepresented categories.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies usage for partial decklists and mentions format-specific ratios, but does not explicitly state when not to use it or provide alternatives among siblings.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

deck_analysisA
Read-onlyIdempotent

Full decklist health check — mana curve, colors, combos, bracket, budget, synergy.

Uses all available backends: Scryfall bulk data for rate-limit-free card resolution, Scryfall API as fallback, Spellbook for combos and bracket estimation, EDHREC for synergy scores. Degrades gracefully if optional backends are unavailable.

ParametersJSON Schema
NameRequiredDescriptionDefault
decklistYesList of card names in the deck (99 cards for Commander)
commander_nameYesCommander the deck is built around
response_formatNoOutput verbosity: 'detailed' (default) or 'concise'detailed

TDQS

A4.2/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already indicate safe read/idempotent/open world; description adds rich behavioral detail: backend sources (Scryfall, Spellbook, EDHREC) and graceful degradation. No contradictions.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two efficient sentences: first front-loads the tool's outputs, second explains backend architecture. No wasted words.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Complex tool with many outputs and backends; description lists outputs but doesn't specify return format. Output schema absent, but list suffices for most agents. Minor gap.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema covers 100% of parameters with descriptions; description adds backend context but no additional parameter-specific meaning beyond what schema provides. Baseline 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Description clearly states 'Full decklist health check' and lists specific analysis types (mana curve, colors, combos, etc.), making the tool's purpose highly specific and actionable.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Description lacks explicit guidance on when to use this tool vs. siblings like 'deck_validate' or 'budget_upgrade'. It implies comprehensive analysis but doesn't state exclusions or alternatives.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

deck_validateA
Read-onlyIdempotent

Validate a decklist against a format's construction rules.

Checks legality, deck size, copy limits, color identity (Commander), singleton rules, and Pauper rarity. Returns VALID or INVALID with actionable error messages.

ParametersJSON Schema
NameRequiredDescriptionDefault
decklistYesCard names, optionally prefixed with quantity (e.g. '4x Lightning Bolt' or 'Lightning Bolt')
formatYesFormat to validate against (e.g. 'commander', 'modern', 'standard', 'legacy')
commanderNoCommander card name (required for Commander format)
sideboardNoSideboard card names, same format as decklist
response_formatNoOutput verbosity: 'detailed' (default) or 'concise'detailed

TDQS

A4/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations (readOnlyHint, idempotentHint, openWorldHint) are already present and consistent. The description adds detail on the validation performed and return format (VALID/INVALID with error messages), providing useful behavioral context beyond annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two-sentence description is concise and front-loaded, with no fluff. First sentence states the core action, second lists specifics and outcome. Every sentence earns its place.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given 5 parameters, full schema coverage, and no output schema, the description sufficiently covers the validation scope and return format. It omits error handling details but annotations cover safety. Overall complete for a validation task.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so the baseline is 3. The description lists checks but does not add details about individual parameters beyond what the schema already provides. No param-specific enrichment.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states the specific verb 'validate' and resource 'decklist against a format's construction rules', listing exact checks (legality, deck size, copy limits, etc.). It clearly distinguishes from sibling tools like deck_analysis or build_around.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

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. The description implies using it to check deck legality but does not contrast with other deck-related tools or mention prerequisites.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

draft_log_reviewA
Read-onlyIdempotent

Review a completed draft — pick-by-pick GIH WR analysis and key decision points.

Identifies where you could have taken a higher-WR card, pivot points, and overall draft grade.

ParametersJSON Schema
NameRequiredDescriptionDefault
picksYesCards drafted in order (pack 1 pick 1 through pack 3 pick 14)
set_codeYesThree-letter set code (e.g. 'LCI', 'MKM')
final_deckNoFinal deck submitted — enables 'made the deck' analysis
response_formatNoOutput verbosity: 'detailed' (default) or 'concise'detailed

TDQS

A4.2/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations declare readOnlyHint=true and idempotentHint=true, consistent with the non-destructive 'Review' verb. The description adds that the analysis uses GIH WR and identifies pivot points, providing useful behavioral context beyond annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two sentences, front-loaded with the primary purpose, followed by a list of key outputs. No unnecessary words, efficient for an AI agent to parse quickly.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the comprehensive schema annotations and safety annotations, the description adequately covers the tool's functionality for a review tool. It doesn't explain 'GIH WR' but that is domain-specific. The return format is handled by the response_format parameter.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% with detailed parameter descriptions for picks, set_code, final_deck, and response_format. The description does not add new meaning beyond these, so baseline of 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool reviews a completed draft with pick-by-pick analysis and mentions specific outputs like GIH WR analysis and decision points, effectively distinguishing it from siblings like draft_pack_pick which is for in-draft decisions.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies use after completing a draft for analysis but does not explicitly exclude other scenarios or mention alternatives; however, the context of 'completed draft' is clear enough.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

draft_pack_pickA
Read-onlyIdempotent

Rank cards in a draft pack using 17Lands win rate data.

Provides GIH WR, ALSA, IWD stats, and color fit analysis based on current picks. Requires 17Lands to be enabled.

ParametersJSON Schema
NameRequiredDescriptionDefault
packYesList of card names currently in the draft pack
set_codeYesThree-letter set code for the draft format (e.g. 'LCI', 'MKM')
current_picksNoCards already drafted — enables color fit analysis when provided
response_formatNoOutput verbosity: 'detailed' (default) or 'concise'detailed

TDQS

A4.1/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Beyond annotations (readOnly, idempotent, openWorld), the description adds context about data source, provided stats, and the need for 17Lands, enhancing behavioral understanding.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two sentences front-load the core action and follow with relevant details; every sentence is useful with no redundancy.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The description lacks explicit details about the return format (e.g., ranked list structure) despite no output schema, which is a gap for completeness.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

With 100% schema coverage, the description still adds meaning by explaining that current_picks enables color fit analysis and that the tool provides specific stats like GIH WR, adding value beyond schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description uses a specific verb 'Rank cards in a draft pack' and identifies the data source (17Lands win rate data), clearly distinguishing it from siblings like draft_signal_read.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

It states a prerequisite ('Requires 17Lands to be enabled') but does not explicitly specify when to use vs alternatives or when not to use.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

draft_signal_readA
Read-onlyIdempotent

Analyze draft picks and recommend a direction based on color signals.

Uses ALSA data to detect which colors are open (cards seen later than expected = open).

ParametersJSON Schema
NameRequiredDescriptionDefault
picksYesCards already drafted, in pick order
set_codeYesThree-letter set code (e.g. 'LCI', 'MKM')
current_packNoCurrent pack contents — if provided, cards are ranked with signal context
response_formatNoOutput verbosity: 'detailed' (default) or 'concise'detailed

TDQS

A4/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already indicate read-only and idempotent behavior. The description adds valuable context: it uses ALSA data, detects open colors, and explains the meaning of 'cards seen later than expected'. No contradictions with annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two sentences with zero waste: the first states the main purpose, the second explains the methodology. Front-loaded and efficient.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The description is complete for this read-only analytical tool: it explains core functionality, methodology, and key concepts. While output format could be hinted, it is not critical given the tool's simple return of a direction recommendation.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Input schema has 100% coverage with clear parameter descriptions. The tool description does not add extra parameter-level detail beyond the schema, which is adequate given high coverage.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool analyzes draft picks and recommends a direction based on color signals using ALSA data. It defines the key concept of 'open' colors, distinguishing it from sibling tools like draft_pack_pick (which picks cards) and sealed_pool_build (which builds pools).

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies usage for signal detection during a draft but does not explicitly state when to use this tool versus alternatives. No when-not or exclusion criteria are provided, leaving the agent to infer from sibling names.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

evaluate_upgradeA
Read-onlyIdempotent

Assess whether a card is worth adding to a specific commander deck.

Returns card details, price, synergy score, and combos enabled for the caller to assess. Degrades gracefully if optional sources (EDHREC, Spellbook) are unavailable.

ParametersJSON Schema
NameRequiredDescriptionDefault
card_nameYesCard to evaluate for the deck (e.g. 'Spore Frog')
commander_nameYesCommander the deck is built around
response_formatNoOutput verbosity: 'detailed' (default) or 'concise'detailed

TDQS

A3.6/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The description adds value beyond annotations by noting graceful degradation when external sources are unavailable. This warns the user about potential incomplete results. Annotations already indicate read-only, idempotent, and open-world behavior, so the description complements them well. No contradictions.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is extremely concise with two clear sentences. The first sentence states the primary purpose, and the second covers outputs and edge-case behavior. Every word adds value, and there is no redundancy.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the lack of output schema, the description provides a reasonable overview of return fields (card details, price, synergy, combos) and graceful degradation. It could be more specific about output structure but is sufficient for most use cases.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so the baseline is 3. The description does not elaborate on parameters beyond what the schema provides, but it does add context by naming example values ('Spore Frog'). It does not describe the response_format enum in detail, but the schema itself handles that.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's purpose: assessing a card for a specific commander deck. It lists the outputs (card details, price, synergy score, combos) which distinguishes it from generic card lookup tools. However, it does not explicitly differentiate from similar deck-building tools like budget_upgrade or build_around.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description lacks guidance on when to use this tool versus alternatives. It does not specify prerequisites, when not to use it, or suggest other tools for different needs (e.g., simple card info or deck building).

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

format_entry_guideA
Read-onlyIdempotent

Get a beginner-oriented guide for entering a competitive format.

Shows archetypes sorted by budget accessibility, cross-archetype staples (buy once, play everywhere), and format rules summary.

ParametersJSON Schema
NameRequiredDescriptionDefault
formatYesCompetitive format (e.g. 'Modern', 'Legacy', 'Pioneer', 'Pauper')
budgetNoMax budget in USD — filters archetypes to this price ceiling
response_formatNoOutput verbosity: 'detailed' (default) or 'concise'detailed

TDQS

A4.2/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already provide readOnlyHint, idempotentHint, and openWorldHint. The description adds behavioral context about output content (sorted archetypes, staples, rules summary), which is sufficient. No contradictions.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is concise (two short paragraphs) with the key function front-loaded. Every sentence adds meaningful information without waste.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the 3 fully documented parameters and no output schema, the description adequately covers the tool's behavior. It could mention output format (e.g., text vs structured), but overall it's complete for an agent to understand usage.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so baseline is 3. The description adds context for the budget parameter by mentioning 'budget accessibility', but does not add new semantic details for format or response_format beyond the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's purpose: 'Get a beginner-oriented guide for entering a competitive format.' It specifies outputs: archetypes sorted by budget, staples, and format rules. This distinguishes it from sibling tools like archetype_comparison or metagame_snapshot.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies use for beginners entering a format, but does not explicitly state when not to use it or mention alternative tools. The context is clear enough for an agent to infer appropriate usage.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

goldfish_archetype_listA
Read-onlyIdempotent

Get a sample decklist for an archetype in a format.

Returns deck metadata (author, event, result, date) and the full mainboard and sideboard card list.

ParametersJSON Schema
NameRequiredDescriptionDefault
formatYesMTG format name (e.g. 'Modern', 'Legacy', 'Pioneer')
archetypeYesArchetype name (e.g. 'Boros Energy', 'Azorius Control')
response_formatNoOutput verbosity: 'detailed' (default) or 'concise'detailed

TDQS

A3.6/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint, idempotentHint, and openWorldHint. The description adds detail about the return content (metadata and full lists) and implies it returns a sample (not exhaustive) decklist, which goes beyond annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is two sentences with no wasted words. The first sentence front-loads the core action and resource, and the second explains the output structure. Extremely concise.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the annotations and full schema coverage, the description is complete enough. It explains the return value and sample nature. No output schema is present, but the textual description covers the expected output adequately for a list tool.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% with each parameter having a description. The tool description does not add any additional meaning beyond what the schema provides, meeting the baseline for high coverage.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states it returns a sample decklist for an archetype in a format, including deck metadata and full main/sideboard card list. However, it does not differentiate from the sibling tool 'archetype_decklist', which likely has similar functionality, causing potential confusion.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

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 'archetype_decklist' or other decklist-related siblings. The description lacks explicit context for appropriate usage scenarios.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

goldfish_deck_priceA
Read-onlyIdempotent

Get the estimated paper price for an archetype deck.

Returns the total estimated cost of the deck based on current card prices from MTGGoldfish.

ParametersJSON Schema
NameRequiredDescriptionDefault
formatYesMTG format name (e.g. 'Modern', 'Legacy', 'Pioneer')
archetypeYesArchetype name (e.g. 'Boros Energy', 'Azorius Control')
response_formatNoOutput verbosity: 'detailed' (default) or 'concise'detailed

TDQS

A4/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint, idempotentHint, openWorldHint. The description adds that it uses current card prices from MTGGoldfish, implying live data retrieval. It does not disclose any negative behaviors but adds useful context beyond annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two sentences, no wasted words. The purpose is front-loaded, and every sentence provides necessary information. Ideal length for a simple tool.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the simple tool with three parameters, full schema coverage, and annotations, the description is mostly complete. It explains the tool's output and data source. However, it does not describe the return format (e.g., what 'detailed' vs 'concise' entails), which is a minor gap.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100% (all three parameters have descriptions). The tool description does not add additional semantic meaning beyond what is already in the schema, so a baseline score of 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool gets an estimated paper price for an archetype deck, using a specific verb and resource. It distinguishes from siblings like goldfish_archetype_list (list archetypes) and goldfish_metagame (metagame data).

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Usage is implied from the purpose – use when you need an estimated deck price – but no explicit guidance on when to use versus alternatives or when not to use it. No exclusion criteria or alternative tool names are mentioned.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

goldfish_format_staplesA
Read-onlyIdempotent

Get the most-played cards in a format with deck inclusion percentages.

Shows which cards appear most frequently across all archetypes in the format, with average copies played per deck.

ParametersJSON Schema
NameRequiredDescriptionDefault
formatYesMTG format name (e.g. 'Modern', 'Legacy', 'Pioneer')
limitNoMaximum number of staples to return (default 20)
response_formatNoOutput verbosity: 'detailed' (default) or 'concise'detailed

TDQS

A4/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint, idempotentHint, and openWorldHint (safe, idempotent, open-world). The description adds behavioral details like returning inclusion percentages and average copies, enhancing transparency.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two sentences front-load the main purpose and add detail; every sentence is essential with no redundancy.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given full schema coverage and absence of output schema, the description adequately explains the returned data (most-played cards with percentages and average copies). Slightly missing context about data sources or update frequency, but sufficient for the tool's complexity.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Input schema has 100% coverage with descriptions for format, limit, and response_format. The description does not add new parameter-level meaning beyond what the schema provides.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool fetches the most-played cards in a format with deck inclusion percentages and average copies per deck, distinguishing it from sibling tools like goldfish_archetype_list and goldfish_metagame.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies usage for viewing staple cards but does not explicitly guide when to use this tool over alternatives like goldfish_metagame or goldfish_archetype_list.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

goldfish_metagameB
Read-onlyIdempotent

Get the current metagame breakdown for a competitive format.

Shows top archetypes with meta share percentages, deck counts, and estimated paper prices.

ParametersJSON Schema
NameRequiredDescriptionDefault
formatYesMTG format name (e.g. 'Modern', 'Legacy', 'Pioneer', 'Pauper')
response_formatNoOutput verbosity: 'detailed' (default) or 'concise'detailed

TDQS

B3.4/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint, idempotentHint, and openWorldHint. The description adds context about the data returned (archetypes, percentages, prices) but does not go beyond what annotations cover for safety.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is two sentences, front-loaded with the primary purpose, and contains no unnecessary verbiage.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a read-only data retrieval tool, the description adequately explains the output contents. Missing details like result structure or pagination are not critical given simplicity.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Input schema covers both parameters with descriptions (100% coverage). The description does not add further meaning to parameters beyond the schema, so baseline score of 3 applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool retrieves a metagame breakdown for a competitive format, listing specific data points (archetypes, shares, counts, prices). It is distinct from siblings like metagame_snapshot but does not explicitly differentiate.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

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 (e.g., metagame_snapshot, goldfish_archetype_list). Context for appropriate use is missing.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

keyword_explainA
Read-onlyIdempotent

Explain an MTG keyword with rules text, examples, and interactions.

Returns the rules definition, reminder text, and up to 5 example cards from bulk data.

ParametersJSON Schema
NameRequiredDescriptionDefault
keywordYesMTG keyword to explain (e.g. 'trample', 'deathtouch')
response_formatNoOutput verbosity: 'detailed' (default) or 'concise'detailed

TDQS

A4/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations confirm read-only, idempotent behavior. The description adds value by specifying the return content: 'rules definition, reminder text, and up to 5 example cards'.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two concise sentences with essential information; no redundant words. Purpose and output are front-loaded.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's straightforward purpose and the richness of annotations/schema, the description covers the basics well. Minor gap: does not specify behavior for invalid keywords, but overall sufficient.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Input schema already covers both parameters with descriptions. The description adds no additional parameter-level detail beyond what schema provides.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description explicitly states the tool's function: 'Explain an MTG keyword with rules text, examples, and interactions.' It clearly differentiates from sibling tools like 'rules_lookup' by focusing specifically on keywords and including example cards.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies usage (to explain MTG keywords) but does not explicitly state when to use it over alternatives like 'rules_lookup' or 'rules_interaction'.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

metagame_snapshotA
Read-onlyIdempotent

Get the current metagame breakdown for a competitive format.

Shows top archetypes with meta share %, tier classification, and prices. Uses MTGGoldfish as primary source with Spicerack tournament data as fallback.

ParametersJSON Schema
NameRequiredDescriptionDefault
formatYesCompetitive format (e.g. 'Modern', 'Legacy', 'Pioneer', 'Pauper')
response_formatNoOutput verbosity: 'detailed' (default) or 'concise'detailed

TDQS

A4/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint, idempotentHint, and openWorldHint. The description adds valuable context on output details (archetypes, shares, tier, prices) and data sourcing, enhancing transparency beyond annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is brief: two sentences that front-load the primary purpose and efficiently include additional details (data sources, output specifics) without unnecessary words.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given no output schema, the description adequately explains the return values (archetypes, shares, tier, prices). Parameter count is low and well-documented. However, it does not reference sibling tools or provide selection guidance, slightly reducing completeness.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Input schema has 100% description coverage for both parameters (format and response_format). The description does not add semantic information beyond what the schema already provides, meeting the baseline.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool retrieves a metagame breakdown for a given format, specifying it shows top archetypes with meta share, tier, and prices. This distinguishes it from sibling tools like goldfish_metagame by mentioning data sources and details.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description indicates data sources (MTGGoldfish primary, Spicerack fallback) but does not explicitly state when to use this tool over siblings like goldfish_metagame or archetype_comparison. Usage context is implied but not differentiated.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

moxfield_deck_infoA
Read-onlyIdempotent

Get metadata for a Moxfield deck (name, format, author, dates).

Returns deck metadata without the full card list. Use decklist for the complete card list.

ParametersJSON Schema
NameRequiredDescriptionDefault
deck_idYesMoxfield deck ID or full URL (e.g. 'abc123' or 'https://www.moxfield.com/decks/abc123')

TDQS

A4.7/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Discloses that the tool returns only metadata, not the full card list, which adds behavioral context beyond the readOnlyHint and idempotentHint annotations. No contradictions.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two sentences with no wasted words, front-loaded with purpose and key differentiator.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the single parameter, full schema coverage, and annotations, the description adequately covers what the tool returns and how it differs from its sibling.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema fully describes the 'deck_id' parameter with coverage at 100%, so the description adds no additional parameter meaning beyond the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Description clearly states the tool retrieves metadata for a Moxfield deck, specifying fields like name, format, author, and dates. It distinguishes from the sibling 'moxfield_decklist' by noting it excludes the full card list.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Directs the agent to use 'decklist' for the complete card list, providing an explicit alternative and context for when to use this tool.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

moxfield_decklistA
Read-onlyIdempotent

Fetch a full decklist from Moxfield by deck ID or URL.

Returns the complete decklist organized by board (commanders, mainboard, sideboard, companions) with card names and quantities.

ParametersJSON Schema
NameRequiredDescriptionDefault
deck_idYesMoxfield deck ID or full URL (e.g. 'abc123' or 'https://www.moxfield.com/decks/abc123')

TDQS

A3.8/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint, idempotentHint, and openWorldHint, covering safety. Description adds that it returns cards organized by board with names and quantities, which is useful but does not contradict annotations or add significant new behavioral context beyond the return format.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two concise sentences with no wasted words, front-loaded with the essential action and result. Efficient and easy to parse.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple fetch tool with no output schema, the description explains the return structure (organized by board with card names and quantities). It lacks details on error handling or pagination, but these are likely not needed given the tool's simplicity and the openWorldHint annotation. Almost complete.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Only one parameter (deck_id) with schema coverage 100%. The description repeats the schema's parameter description (ID or URL) without adding new meaning, so baseline 3 applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Description clearly states the tool fetches a full decklist from Moxfield by deck ID or URL, and explains the organization by board. This distinguishes it from siblings like moxfield_deck_info (metadata) and moxfield_search_decks (search).

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Usage is implied (to retrieve a decklist by identifier), but no explicit guidance on when to prefer this tool over similar ones like moxfield_deck_info or how to handle different URL formats. No alternatives or exclusions mentioned.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

moxfield_search_decksA
Read-onlyIdempotent

Search public Moxfield decks by format, keyword, or sort order.

Returns a paginated list of deck summaries with name, format, author, colors, and card counts.

ParametersJSON Schema
NameRequiredDescriptionDefault
queryNoOptional search text to filter decks by name or description
formatNoFormat filter (e.g. 'pauper', 'commander', 'modern'). Leave empty for all formats.
sortNoSort order: 'Updated', 'Created', or 'Views'Updated
pageNoPage number (1-indexed)
page_sizeNoResults per page (max 100)

TDQS

A3.7/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already provide readOnlyHint and idempotentHint. The description adds value by specifying it returns a paginated list of deck summaries with field details and that it filters by format, keyword, or sort. No contradictions.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two sentences with no redundancy. Every word contributes to understanding the tool's function and output. Highly efficient.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Despite no output schema, the description explains the return type (paginated deck summaries with key fields). All parameters are documented in schema. The description covers the essential aspects for an AI agent to use the tool correctly.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% with well-described parameters. The description echoes 'format, keyword, or sort order' but does not add significant detail beyond the schema. Baseline 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

Description clearly states it searches public Moxfield decks by format, keyword, or sort order, with specific return fields. Could be improved by explicitly differentiating from sibling tools like moxfield_user_decks or moxfield_deck_info, but the verb+resource is specific.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance on when to use this tool versus siblings. For example, it does not mention that it searches all public decks, while moxfield_user_decks searches a specific user's decks. Missing explicit when-not-to-use information.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

moxfield_user_decksA
Read-onlyIdempotent

List a user's public decks on Moxfield.

Verifies the user exists, then searches for their public decks. Optionally filter by format.

ParametersJSON Schema
NameRequiredDescriptionDefault
usernameYesMoxfield username to look up
formatNoOptional format filter (e.g. 'commander', 'modern')

TDQS

A4.2/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already indicate read-only, idempotent, and open-world. The description adds value by explaining user existence verification and search behavior. No contradictions with annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Three concise sentences with no fluff. Front-loaded with the main purpose, then provides additional behavior details efficiently.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given no output schema, the description covers input and behavior well but lacks details on return format. Still mostly complete for a simple list tool.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

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 well. The description adds general context but no additional parameter-specific meaning beyond the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the action (list), resource (user's public decks), and platform (Moxfield). It distinguishes itself from sibling tool 'moxfield_search_decks' by focusing on a specific user's decks.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies usage for retrieving decks of a known user, with optional format filtering. It provides clear context but does not explicitly exclude or compare with alternatives like 'moxfield_search_decks'.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

pingA
Read-onlyIdempotent

Health check — returns 'pong'.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.3/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already provide readOnlyHint and idempotentHint, so the description's addition of 'returns pong' is sufficient but minimal. No extra behavioral detail beyond annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Extremely concise single sentence that covers all necessary information without any waste.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given zero parameters and an output schema, the description is fully sufficient. No gaps.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

No parameters exist, so baseline 4 applies. Description adds no parameter info, but none is needed.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Description clearly identifies the tool as a health check that returns 'pong', using a specific verb and resource. It is distinct from all sibling tools which are card/deck related.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

While no explicit when/when-not guidance is given, the simplicity and nature of the tool make its usage obvious: to verify connectivity. No alternatives are needed.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

precon_upgradeA
Read-onlyIdempotent

Analyze and upgrade a Commander precon — identify weakest cards, suggest replacements.

Pairs each upgrade with a specific cut, explaining the synergy improvement.

ParametersJSON Schema
NameRequiredDescriptionDefault
decklistYesFull precon decklist — card names
commanderYesCommander card name
budgetNoMaximum price per upgrade card in USD
num_upgradesNoNumber of upgrade suggestions
response_formatNoOutput verbosity: 'detailed' (default) or 'concise'detailed

TDQS

A4.1/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint, idempotentHint, and openWorldHint. The description adds value by explaining that the tool pairs each upgrade with a specific cut and explains synergy improvement, which clarifies the read-only nature of suggestions.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two concise sentences front-load the purpose and add a key detail about pairing upgrades with cuts. Every sentence adds value with no redundancy.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The description covers the tool's purpose, output format (paired upgrades with cuts and synergy), and aligns with annotations. Given schema completeness and no output schema needed, it provides sufficient context for agent selection.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% (baseline 3). The description adds context beyond individual parameters by stating that each upgrade is paired with a cut and synergy explanation, enhancing understanding of how parameters relate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool analyzes and upgrades a Commander precon, identifies weakest cards, and suggests replacements with paired cuts. It distinguishes from siblings like 'evaluate_upgrade' and 'suggest_cuts' by specifying the full precon upgrade with cut-synergy explanations.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description does not provide explicit guidance on when to use this tool versus alternatives. It implies usage for upgrading a precon, but lacks when-not instructions or mentions of sibling tools like 'budget_upgrade' or 'suggest_cuts'.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

price_comparisonB
Read-onlyIdempotent

Compare prices across multiple cards using Scryfall bulk data.

Returns a markdown table with USD, USD foil, and EUR prices sorted by USD descending.

ParametersJSON Schema
NameRequiredDescriptionDefault
cardsYes2-20 card names to compare prices
response_formatNoOutput verbosity: 'detailed' (default) or 'concise'detailed

TDQS

B3.4/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint and idempotentHint, covering safety. Description adds that it uses bulk data and returns a markdown table, but does not discuss recency, rate limits, or data freshness. Score is adequate given annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Description is two sentences, front-loaded with the core action and output format. Every sentence provides necessary information without redundancy.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given no output schema, the description adequately explains the return format (markdown table with USD, USD foil, EUR prices sorted by USD descending). It could mention data recency or limitations, but overall complete for a read-only comparison tool.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Input schema has 100% coverage with descriptions for both parameters. The tool description does not add additional meaning beyond the schema, so baseline score of 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

Description clearly states the tool compares prices across multiple cards using Scryfall bulk data and returns a markdown table. It is specific about the action and output, but does not differentiate from similar siblings like card_comparison or scryfall_card_price.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance on when to use this tool versus alternatives such as card_comparison or scryfall_card_price. The description lacks explicit when-to-use or when-not-to-use instructions.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

rotation_checkA
Read-onlyIdempotent

Check Standard rotation status and identify which cards are rotating.

Shows sets currently in Standard with rotation dates. If cards provided, identifies which are in rotating sets and suggests replacements.

ParametersJSON Schema
NameRequiredDescriptionDefault
cardsNoCard names to check for rotation — omit for general rotation info
response_formatNoOutput verbosity: 'detailed' (default) or 'concise'detailed

TDQS

A4.2/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already indicate read-only, idempotent, and open-world behavior. The description adds useful context: it returns rotation dates for sets and, with cards input, suggests replacements. No contradictions.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is two clear sentences with front-loaded purpose and no unnecessary words. It efficiently conveys the tool's functionality.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple tool with two optional parameters and no output schema, the description sufficiently covers purpose, parameters, and behavior. It is complete enough for an agent to use correctly.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so baseline is 3. The description adds value by explaining that omitting 'cards' gives general rotation info and that providing cards triggers identification and suggestions. This enhances understanding beyond the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool checks Standard rotation status and identifies rotating cards, with details on showing sets and suggesting replacements. This distinguishes it from sibling tools, none of which focus on rotation.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description explains what the tool does but does not provide explicit guidance on when to use it versus alternatives. It lacks when-to-use or when-not-to-use context.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

rules_interactionA
Read-onlyIdempotent

Explain how two mechanics or cards interact under MTG rules.

Returns relevant rules, step-by-step resolution, and common misconceptions.

ParametersJSON Schema
NameRequiredDescriptionDefault
mechanic_aYesFirst mechanic or card name
mechanic_bYesSecond mechanic or card name
response_formatNoOutput verbosity: 'detailed' (default) or 'concise'detailed

TDQS

A4.1/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Beyond annotations (readOnly, idempotent, openWorld), the description adds key behaviors: returns 'relevant rules, step-by-step resolution, and common misconceptions'. This informatively sets expectations for output content.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is extremely concise: two sentences that state purpose and output. No superfluous text, front-loaded with key action.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Considering no output schema, the description adequately covers what the tool returns (rules, resolution, misconceptions). Annotations and clarity of purpose make this complete for a two-string input tool.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so baseline 3 applies. The description does not add extra meaning or examples beyond the schema's parameter descriptions (e.g., 'First mechanic or card name').

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description uses a specific verb ('Explain') and resource ('how two mechanics or cards interact under MTG rules'), clearly distinguishing this tool from siblings like 'rules_lookup' or 'rules_scenario'.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies usage for comparing two mechanics/cards but does not explicitly state when to use this tool versus alternatives (e.g., 'rules_lookup' for single rule queries). No exclusion or context is provided.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

rules_lookupA
Read-onlyIdempotent

Look up MTG Comprehensive Rules by number or keyword search.

Returns matching rules with full text, parent context, and subrules.

ParametersJSON Schema
NameRequiredDescriptionDefault
queryYesRule number (e.g. '704.5k') or keyword to search for
sectionNoNarrow search to a section (e.g. 'combat', 'stack', 'lands', 'state-based')
response_formatNoOutput verbosity: 'detailed' (default) or 'concise'detailed

TDQS

A4/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint, idempotentHint, and openWorldHint, so the tool is safe and idempotent. The description adds valuable behavioral context by specifying the return format (full text, parent context, subrules), which is not covered by annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is concise at two sentences, front-loaded with the action, and contains no unnecessary words or redundant information. Every sentence adds value.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given no output schema, the description adequately explains the return format (full text, parent context, subrules). It covers both query methods (number and keyword) and mentions the optional section narrowing. It is complete for a lookup tool, though it omits possible pagination or result limits.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Input schema has 100% description coverage, so each parameter is already documented. The description adds minimal additional meaning beyond what the schema provides, such as mentioning 'number or keyword search' which mirrors the query parameter description.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the verb 'Look up', the resource 'MTG Comprehensive Rules', and the two methods: by number or keyword search. It also specifies what is returned (full text, parent context, subrules). This distinguishes it from sibling tools like rules_interaction or rules_scenario.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides basic guidance on how to use the tool (by number or keyword) but does not explicitly state when to use it versus siblings like rules_interaction or rules_scenario. There are no exclusions or alternative recommendations, leaving ambiguity for the agent.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

rules_scenarioA
Read-onlyIdempotent

Resolve a game scenario step-by-step using MTG rules.

Covers priority, stack resolution, state-based actions, and triggers with rule citations.

ParametersJSON Schema
NameRequiredDescriptionDefault
scenarioYesGame scenario to resolve (describe the board state and action)
response_formatNoOutput verbosity: 'detailed' (default) or 'concise'detailed

TDQS

A4/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations provide idempotent and read-only hints. The description adds behavioral context by stating it covers priority, stack resolution, state-based actions, and triggers with rule citations. This is valuable beyond the annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two sentences: first states the core action and scope, second lists covered topics. Highly efficient with no wasted words.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given no output schema, the description adequately explains what the tool does and what rules aspects it covers. However, it could be improved by hinting at the output format (e.g., step-by-step text with citations).

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so the description's mention of 'scenario' does not add new meaning. It does not elaborate on response_format usage beyond what the schema provides. Baseline 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description uses a specific verb ('Resolve') and resource ('game scenario'), clearly distinguishing it from siblings like 'rules_interaction' or 'rules_lookup'. It also lists the covered aspects (priority, stack, state-based actions, triggers) which further clarifies its scope.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies use for step-by-step scenario resolution but does not explicitly state when to use it over siblings like 'rules_interaction' or 'rules_lookup'. No when-not-to-use guidance is provided.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

scryfall_card_detailsA
Read-onlyIdempotent

Get full details for a Magic card by exact or fuzzy name.

ParametersJSON Schema
NameRequiredDescriptionDefault
nameYesCard name — exact match by default (e.g. 'Muldrotha, the Gravetide')
fuzzyNoUse fuzzy matching for approximate names (e.g. 'muldrotha' finds 'Muldrotha, the Gravetide')
response_formatNoOutput verbosity: 'detailed' (default) or 'concise'detailed

TDQS

A3.7/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint and idempotentHint, so the safety profile is covered. The description adds minimal behavioral context beyond 'get full details', and there is a slight mismatch with the 'response_format' parameter allowing concise output. No contradictions.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

A single, well-framed sentence with no extraneous words, front-loading the action and key modifiers. Every word earns its place.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The description is adequate but leaves gaps, such as what constitutes 'full details,' the difference between detailed and concise output, and does not compensate for the missing output schema. Acceptable for a tool with good annotations.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema covers all three parameters with descriptions (100% coverage), so the description adds no additional meaning. Baseline score of 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool fetches full card details by exact or fuzzy name, with a specific verb and resource, and distinguishes from sibling tools like scryfall_search_cards and scryfall_card_price.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies usage when you need card details by name, but provides no explicit guidance on when not to use it or alternatives (e.g., scryfall_card_price for pricing). It lacks contextual comparisons to siblings.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

scryfall_card_priceA
Read-onlyIdempotent

Get current prices for a Magic card. Prices update once per day.

ParametersJSON Schema
NameRequiredDescriptionDefault
nameYesCard name for price lookup (exact match)

TDQS

A4/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already indicate read-only, idempotent, and open-world behavior. The description adds valuable context that prices update once per day, informing the agent about potential day-to-day variation, which is beyond the annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is extremely concise at two sentences, front-loaded with the primary purpose, and contains no redundant or extraneous information.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the simple tool with one parameter and no output schema, the description adequately covers purpose and update frequency. However, mentioning the output format (e.g., price ranges or currency) would improve completeness.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema has 100% description coverage for the single parameter 'name', which is documented as exact match. The description does not add further semantics beyond what the schema provides, so a baseline score of 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool retrieves current prices for a Magic card, specifying the update frequency. It distinguishes itself from sibling tools like 'price_comparison' by focusing on a single card's price.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies usage for getting a card's price by exact name but does not provide explicit guidance on when to use this tool versus alternatives like 'price_comparison' or 'goldfish_deck_price'.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

scryfall_card_rulingsA
Read-onlyIdempotent

Get official rulings and clarifications for a Magic card.

ParametersJSON Schema
NameRequiredDescriptionDefault
nameYesCard name to get official rulings for (exact match)

TDQS

A3.6/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already indicate readOnlyHint=true, idempotentHint=true, and openWorldHint=true, meaning the description adds minimal behavioral context. It confirms the tool returns 'official rulings and clarifications' but does not disclose edge cases (e.g., empty results for unrecognized cards, potential delays, or format limits). The description is consistent with annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, concise sentence that contains no superfluous words. Every part ('Get', 'official rulings and clarifications', 'for a Magic card') contributes directly to understanding the tool's function.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool has only one required parameter and no output schema, the description is nearly complete. It would benefit from mentioning the return format (e.g., list of objects with ruling text and date) or behavior when a card has no rulings, but the current information is sufficient for a straightforward lookup.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The schema has 100% coverage with a single required 'name' parameter described as 'Card name to get official rulings for (exact match)'. The description does not add any semantic value beyond the schema's own description, so it meets the baseline for high schema coverage.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool retrieves 'official rulings and clarifications for a Magic card,' specifying verb ('get'), resource ('rulings and clarifications'), and domain ('Magic card'). This distinguishes it from sibling tools that handle card details, prices, or rules lookups.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

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 'rules_lookup' or 'rules_interaction'. There are no exclusions, prerequisites, or context about when rulings are appropriate (e.g., only for official cards, not speculative).

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

scryfall_search_cardsA
Read-onlyIdempotent

Search for Magic cards using Scryfall syntax.

Examples: "f:commander id:sultai t:creature", "o:destroy t:instant cmc<=3" See https://scryfall.com/docs/syntax for full syntax reference.

ParametersJSON Schema
NameRequiredDescriptionDefault
queryYesScryfall search query (e.g. 'f:commander id:sultai t:creature cmc<=3'). See scryfall.com/docs/syntax
pageNoPage number for paginated results, 1-indexed
limitNoMax cards to return (default 30, 0 for all)
response_formatNoOutput verbosity: 'detailed' (default) or 'concise'detailed

TDQS

A3.6/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already convey readOnly, idempotent, openWorld hints. The description adds no additional behavioral traits beyond the examples and reference. Does not contradict annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Extremely concise: two sentences and examples. Front-loaded with purpose. Every element is useful and earns its place.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given good schema and annotations, the description is mostly complete. It includes examples and a reference for query syntax. Slightly lacking in describing output or return structure, but adequate for a search tool with pagination parameters.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema has 100% description coverage, so the description adds little beyond what's already in the schema. The examples illustrate query syntax but do not explain page, limit, or response_format parameters.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Clearly states it searches for Magic cards using Scryfall syntax, with examples and a link to the full syntax reference. Distinguishes from sibling tools like scryfall_card_details by focusing on search.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

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 like scryfall_card_details or other search tools. The description implies usage for complex queries but lacks when-not or context-specific recommendations.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

scryfall_set_infoA
Read-onlyIdempotent

Get metadata for a Magic set by its code.

ParametersJSON Schema
NameRequiredDescriptionDefault
set_codeYesSet code (e.g. 'dom', 'mh2', 'lci')

TDQS

A3.5/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations declare readOnlyHint, idempotentHint, and openWorldHint. The description 'Get metadata' aligns with these, but adds no further behavioral details (e.g., that it queries an external API). Given strong annotations, the description's incremental value is minimal.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

A single 9-word sentence efficiently conveys the tool's purpose with no extraneous information. The structure is front-loaded and concise.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The description omits what metadata is returned (e.g., set name, release date, card count). While the simple tool and annotations reduce the gap, the lack of output schema or description could leave agents uncertain about the response format.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100% for the sole parameter. The description's phrase 'by its code' merely echoes the schema information. With full schema coverage, the description adds no new semantic value beyond baseline.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description 'Get metadata for a Magic set by its code' clearly specifies the action (get metadata), resource (Magic set), and key input (code). It distinguishes from sibling tools like scryfall_card_details which target individual cards.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

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 such as scryfall_card_details or set_overview. The description lacks explicit context for selection or exclusion.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

scryfall_whats_newA
Read-onlyIdempotent

Find recently printed or released Magic cards.

Searches Scryfall for cards released within the given number of days. Optionally filter by set or format legality.

ParametersJSON Schema
NameRequiredDescriptionDefault
daysNoLook back this many days for recent cards (minimum 1)
set_codeNoFilter to a specific set code (e.g. 'mh3', 'lci')
formatNoFilter to cards legal in a format (e.g. 'standard', 'commander', 'modern')
limitNoMax cards to return (default 30, 0 for all)
response_formatNoOutput verbosity: 'detailed' (default) or 'concise'detailed

TDQS

A4/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint, idempotentHint, and openWorldHint, so the primary behavioral traits are covered. The description adds context about the day range and filter options but does not disclose further behavioral details (e.g., result format, pagination, or any side effects). With annotations present, the description's additional value is moderate.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is concise with three sentences: first for purpose, second for mechanism, third for optional filters. It is front-loaded with the key action and efficient, with no unnecessary words or redundancy.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the absence of an output schema, the description covers the input behavior well (day range, filters, limit). It does not explicitly describe the output structure, but the limit parameter implies a list, and the name suggests card data. For a search tool with annotations indicating safe, idempotent, open-world behavior, this is adequately complete.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the baseline is 3. The description mentions the core parameters (days, set, format) but does not add significant meaning beyond the schema descriptions. Parameters like limit and response_format are not mentioned, but since the schema covers them well, the description does not need to compensate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states it finds recently printed/released Magic cards, specifying the search mechanism (by days) and optional filters (set, format). The name reinforces the purpose, and it effectively distinguishes from sibling tools like scryfall_search_cards (general search) and scryfall_card_details (specific card lookup).

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description indicates when to use this tool (for recent cards within a timeframe, with optional filters). However, it does not explicitly state when not to use it or contrast with alternatives. The context is clear but lacks explicit exclusions or cross-references to sibling tools.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

sealed_pool_buildA
Read-onlyIdempotent

Build 1-3 decks from a sealed pool using card quality and color pair analysis.

Evaluates each 2-color pair, selects best cards, and suggests land splits. Uses 17Lands data when available for card quality scoring.

ParametersJSON Schema
NameRequiredDescriptionDefault
poolYesCard names in the sealed pool (typically 84-90)
set_codeYesThree-letter set code (e.g. 'LCI', 'MKM')
response_formatNoOutput verbosity: 'detailed' (default) or 'concise'detailed

TDQS

A4.2/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already indicate readOnly and idempotent. The description adds that it uses 17Lands data when available and suggests land splits, providing behavioral context beyond annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is two concise sentences that front-load the primary action and key details without unnecessary words. Every sentence adds value.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Without an output schema, the description explains the expected outcome (decks, card selection, land splits) adequately. Some details on output format (e.g., how decks are returned) are missing, but overall sufficient.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so the description adds no new parameter information beyond what is in the schema. The description repeats schema info (card names, set code) but does not elaborate on expected formats.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool builds 1-3 decks from a sealed pool using card quality and color pair analysis. It distinguishes itself from sibling tools (e.g., draft_pack_pick, complete_deck) by being specifically for sealed pool building.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description explains the analysis performed (color pair evaluation, land splits) and mentions data source (17Lands). However, it lacks explicit guidance on when to use this versus alternatives or prerequisites like needing a full sealed pool list.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

set_overviewA
Read-onlyIdempotent

Draft format overview — top commons/uncommons and trap rares.

Uses 17Lands card ratings to provide a data-driven format breakdown. Requires 17Lands to be enabled.

ParametersJSON Schema
NameRequiredDescriptionDefault
set_codeYesThree-letter set code for the draft format (e.g. 'LCI', 'MKM')
event_typeNoDraft format — 'PremierDraft' (default) or 'TradDraft'PremierDraft
response_formatNoOutput verbosity: 'detailed' (default) or 'concise'detailed

TDQS

A3.9/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already include readOnlyHint, idempotentHint, and openWorldHint. The description adds value by specifying the data source (17Lands card ratings) and a prerequisite (17Lands enabled), providing context beyond annotations. No contradiction.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is very concise with three short sentences, each providing essential information (purpose, data source, prerequisite). No wasted words.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The description explains the tool's purpose and data source but omits details about the output format or structure. Since there is no output schema, the description should clarify what the agent can expect in the response (e.g., list of cards, ratings). This gap reduces completeness.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

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 explains each parameter (set_code, event_type, response_format). The description adds no additional meaning to these parameters, so baseline score of 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states it provides a 'Draft format overview' with specific focus on 'top commons/uncommons and trap rares', using 17Lands data. This distinguishes it from sibling tools like 'archetype_comparison' or 'draft_log_review' which have different purposes.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description mentions 'Requires 17Lands to be enabled', which is a prerequisite, but does not explicitly state when to use this tool over alternatives like 'archetype_comparison' or 'format_entry_guide'. Usage context is implied but not fully articulated.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

sideboard_guideA
Read-onlyIdempotent

Get a specific sideboard in/out plan for a named matchup.

Given a full 75 and a matchup archetype, produces specific boarding instructions with reasoning.

ParametersJSON Schema
NameRequiredDescriptionDefault
decklistYesMain deck card names (e.g. ['4 Lightning Bolt', '4 Goblin Guide'])
sideboardYesSideboard card names (e.g. ['2 Hydroblast', '3 Tormod\'s Crypt'])
formatYesCompetitive format (e.g. 'Modern', 'Pauper')
matchupYesMatchup archetype name (e.g. 'Mono-Red Aggro') — fuzzy matched
response_formatNoOutput verbosity: 'detailed' (default) or 'concise'detailed

TDQS

A3.7/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already indicate read-only, idempotent, open-world behavior. The description adds that it produces 'specific boarding instructions with reasoning,' but does not elaborate on potential failure modes (e.g., unrecognized archetypes) or output format. With annotations covering safety, the description adds minimal extra behavioral context.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two concise sentences. First sentence states the exact purpose. Second provides necessary context (inputs and output). No redundant or vague language.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The description is brief and does not mention the optional response_format parameter or clarify what 'reasoning' entails. For a tool with 5 parameters and no output schema, more detail on output expectations or usage tips would improve completeness.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so baseline is 3. The description only mentions 'full 75 and a matchup archetype,' which aligns with parameters but adds no new meaning beyond the schema's detailed parameter descriptions.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states it produces a sideboard plan for a named matchup, using the full 75 and matchup archetype. It distinguishes itself from sibling tools like sideboard_matrix (likely a matrix) and suggest_sideboard (likely suggestions) by focusing on a specific matchup with reasoning.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies usage context (needs full decklist and sideboard, specific matchup) but provides no explicit guidance on when to use this tool over alternatives like sideboard_matrix or suggest_sideboard. No exclusion criteria or prerequisites are mentioned.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

sideboard_matrixA
Read-onlyIdempotent

Generate a sideboard matrix for a deck across common matchups.

Matrix shows which sideboard cards come IN/OUT/FLEX for each matchup. Auto-detects top matchups from metagame data or uses provided matchup list.

ParametersJSON Schema
NameRequiredDescriptionDefault
decklistYesMain deck card names (e.g. ['4 Lightning Bolt', '4 Goblin Guide'])
sideboardYesSideboard card names (e.g. ['2 Hydroblast', '3 Tormod\'s Crypt'])
formatYesCompetitive format (e.g. 'Modern', 'Pauper')
matchupsNoMatchup names to include — omit to auto-detect from metagame data
response_formatNoOutput verbosity: 'detailed' (default) or 'concise'detailed

TDQS

A3.9/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already indicate read-only, idempotent, and open-world behavior. The description adds meaningful context by explaining that the tool auto-detects top matchups from metagame data or uses a provided list, which is behavioral information beyond the annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is extremely concise at two sentences, with the first sentence immediately stating the purpose and the second adding essential details about the matrix content and auto-detection. Every word earns its place.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the complexity and absence of an output schema, the description provides a basic understanding of the output (IN/OUT/FLEX matrix) but lacks details on the format or structure of the matrix. It is adequate but leaves some ambiguity for the agent.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema has 100% description coverage, so parameters are well-documented. The description does not add significant new information about parameters beyond what is already in the schema; it only reiterates the auto-detection behavior for the matchups parameter.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool generates a sideboard matrix for a deck, showing which sideboard cards come IN/OUT/FLEX for each matchup. It distinguishes from sibling tools like sideboard_guide by specifying it produces a matrix format with auto-detection of matchups.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies usage when you have a decklist and sideboard and want to see matchup-specific sideboard plans. It mentions auto-detection of matchups or providing a custom list, but does not explicitly state when to use this tool over alternatives like sideboard_guide or when not to use it.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

spellbook_combo_detailsA
Read-onlyIdempotent

Get detailed steps for a specific combo by its Spellbook ID.

Use an ID from find_combos results (e.g. "1414-2730-5131-5256").

ParametersJSON Schema
NameRequiredDescriptionDefault
combo_idYesSpellbook combo ID from find_combos results (e.g. '1414-2730-5131-5256')

TDQS

A4.2/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already provide readOnlyHint, idempotentHint, openWorldHint. The description adds that the output is 'detailed steps,' which gives behavioral context beyond annotations. No contradiction.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is two sentences, front-loaded with the main purpose, and every word adds value. No fluff or redundancy.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the simple single-parameter tool with comprehensive annotations, the description is mostly complete. It explains what to provide and where to get it, though it could elaborate on what 'detailed steps' includes, but it is still adequate.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema has 100% coverage, describing combo_id as the Spellbook combo ID from find_combos. The description repeats this information without adding new parameter semantics, so baseline 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states it retrieves detailed steps for a specific combo by its Spellbook ID, using a verb+resource structure. It distinguishes from siblings like spellbook_find_combos by specifying this is for detailed steps of a single combo.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description explicitly instructs to use an ID from find_combos results, providing a clear prerequisite. It implies when to use (after finding combos) but does not explicitly state when not to use or list alternatives, though the context is sufficient.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

spellbook_estimate_bracketA
Read-onlyIdempotent

Estimate the Commander bracket (power level) for a decklist.

Provide commander name(s) and a list of card names in the main deck. Returns bracket tag and any bracket-relevant findings.

ParametersJSON Schema
NameRequiredDescriptionDefault
commandersYesCommander card name(s) (e.g. ['Muldrotha, the Gravetide'])
decklistYesList of card names in the main deck

TDQS

A3.8/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint, idempotentHint, openWorldHint. Description adds that it returns bracket tag and findings, but no additional behavioral context (e.g., no mention of card database reliance or special cases).

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two sentences, front-loaded with purpose and inputs. No unnecessary words; every sentence adds value.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Output is described as returning bracket tag and findings, which is sufficient given the tool's simplicity. Minimal but complete.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%. Description essentially paraphrases schema descriptions without adding new semantic value, so baseline 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Description clearly states it estimates the Commander bracket (power level) for a decklist, with specific inputs and outputs. Distinct from sibling tools like deck_analysis.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Description explains how to use (provide commander names and decklist) but does not indicate when to prefer this over sibling tools or any exclusions.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

spellbook_find_combosA
Read-onlyIdempotent

Search for known combos involving a specific card.

Optionally filter by color identity (e.g. "sultai", "BUG", "wubrg"). Returns up to limit combos with cards involved and results produced.

ParametersJSON Schema
NameRequiredDescriptionDefault
card_nameYesCard name to search for combos (e.g. 'Muldrotha, the Gravetide')
color_identityNoFilter by color identity — name ('sultai'), letters ('BUG'), or 'wubrg'
limitNoMaximum number of combos to return

TDQS

A4.2/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations readOnlyHint, idempotentHint, openWorldHint indicate safe read and volatility. Description adds that it 'Returns up to `limit` combos with cards involved and results produced', providing output structure. No contradictions. Additional context like rate limits or auth not needed given annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two sentences, front-loaded with purpose. No unnecessary words. Efficiently conveys purpose, optional filtering, and output structure.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple search tool with good annotations and thorough schema coverage, the description is adequate. It mentions output includes cards and results, sufficient for an agent. No output schema exists, but the description compensates. Could add more detail on combo format, but not essential.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% with descriptions for all three parameters. Description adds value by providing examples for color_identity ('sultai', 'BUG', 'wubrg') and clarifying that limit controls max combos returned. This enhances understanding beyond the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Description clearly states 'Search for known combos involving a specific card.' This is a specific verb-resource pair. Sibling tools include spellbook_find_decklist_combos (combos in a decklist) and spellbook_combo_details (details of a specific combo), making this tool's purpose distinct.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

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. The description implies usage when searching combos by card, but does not mention when not to use it or point to sibling tools like spellbook_combo_details or spellbook_find_decklist_combos. The context is clear but lacks exclusions.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

spellbook_find_decklist_combosA
Read-onlyIdempotent

Find combos present in (or nearly present in) a Commander decklist.

Provide commander name(s) and a list of card names in the main deck. Returns combos that are fully included and those that are almost included.

ParametersJSON Schema
NameRequiredDescriptionDefault
commandersYesCommander card name(s) (e.g. ['Muldrotha, the Gravetide'])
decklistYesList of card names in the main deck

TDQS

A4.2/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint, idempotentHint, and openWorldHint, so the description adds value by specifying that it returns both fully included and almost included combos. This behavioral detail is not captured by annotations, enhancing transparency.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is concise, consisting of two sentences that front-load the core action and provide clear instructions. No superfluous text is present.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the straightforward nature of the tool and the complete schema coverage, the description adequately explains what the tool returns. It lacks details on exact output structure (e.g., how combos are listed), but for a simple query tool, this is acceptable.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema provides 100% coverage with descriptions for both parameters ('commanders' and 'decklist'). The description does not add additional semantic detail beyond what the schema already offers, so a baseline of 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool finds combos present in or nearly present in a Commander decklist. It uses specific verb 'find' and resource 'combos present in decklist', distinguishing it from sibling tools like spellbook_find_combos which likely searches combos without a decklist.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description explicitly instructs to provide commander name(s) and a decklist, making the usage context clear. It does not, however, explicitly exclude alternative tools or state when not to use this tool, but the context implies it is for decklist-based combo analysis.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

spicerack_format_decklistsA
Read-onlyIdempotent

Find top-performing decklists across recent tournaments for a format.

Collects top-4 finishers with Moxfield decklists from recent events. Use moxfield_decklist to fetch the full card list for a deck.

ParametersJSON Schema
NameRequiredDescriptionDefault
formatYesMTG format name (e.g. 'Modern', 'Legacy', 'Pauper')
num_daysNoNumber of days to look back (default 14)
limitNoMaximum number of decklists to return (default 10)
response_formatNoOutput verbosity: 'detailed' (default) or 'concise'detailed

TDQS

A4.2/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations indicate readOnly, idempotent, and openWorld. The description adds behavior detail: it collects top-4 finishers with Moxfield decklists from recent events, which aligns with and expands on the annotations. There is no contradiction.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is extremely concise: two sentences for purpose and one cross-reference. It is front-loaded with the main action and avoids any unnecessary words.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the 4 parameters (all documented in schema), annotations, and no output schema, the description sufficiently explains the tool's purpose and output (list of decklists with Moxfield links). It could mention result ordering or pagination, but is generally complete for understanding.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so baseline is 3. The description adds context about the tool's overall behavior (top-4, recent events) but does not provide additional semantics for individual parameters beyond what the schema already offers.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states it finds top-performing decklists for a format from recent tournaments. It specifically mentions collecting top-4 finishers with Moxfield decklists, distinguishing it from sibling tools like 'moxfield_decklist' which fetches full card lists for a specific deck.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description advises using 'moxfield_decklist' to fetch the full card list for a deck, providing a clear sequential usage hint. It does not explicitly contrast with other sibling tools like 'spicerack_tournament_results', but the context of siblings is available through the tool names.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

spicerack_recent_tournamentsA
Read-onlyIdempotent

List recent tournaments for a format with dates, player counts, and IDs.

Use the tournament ID from the results with tournament_results to see full standings and decklists.

ParametersJSON Schema
NameRequiredDescriptionDefault
formatYesMTG format name (e.g. 'Modern', 'Legacy', 'Pauper')
num_daysNoNumber of days to look back (default 14)
limitNoMaximum number of tournaments to return (default 10)
response_formatNoOutput verbosity: 'detailed' (default) or 'concise'detailed

TDQS

A4.2/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint, idempotentHint, and openWorldHint, covering safety and repeatability. The description adds value by stating the output includes dates, player counts, and IDs. No contradictions. It could mention pagination or default limits, but schema covers defaults.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is two sentences with no fluff. The first sentence delivers the core purpose and output, the second provides immediate usage guidance. Perfectly front-loaded and concise.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given no output schema, the description mentions return fields (dates, player counts, IDs) but does not specify exact structure or list format. It successfully links to sibling tool and covers required parameter. Could be slightly more explicit about return format, but sufficient for a list tool with good schema coverage.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% with clear descriptions for all 4 parameters. The description does not add extra semantics beyond the schema; it only mentions 'format' implicitly. Baseline 3 is appropriate as schema already adequately documents parameters.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's purpose: 'List recent tournaments for a format with dates, player counts, and IDs.' It uses a specific verb ('List') and identifies the resource ('recent tournaments'), effectively differentiating it from siblings like spicerack_tournament_results by explicitly referencing the workflow to use the returned IDs.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides explicit guidance: 'Use the tournament ID from the results with tournament_results to see full standings and decklists.' This tells the agent when to use this tool (to get IDs) and directs toward a sibling for further detail. While it does not list explicit when-not-to-use scenarios, the context is clear and actionable.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

spicerack_tournament_resultsA
Read-onlyIdempotent

Get full standings and decklists for a specific tournament.

Look up a tournament by its Spicerack ID. Use recent_tournaments first to find tournament IDs.

ParametersJSON Schema
NameRequiredDescriptionDefault
tournament_idYesSpicerack tournament ID (e.g. '3135276')
formatNoFormat to search within (optional, helps narrow results)
num_daysNoNumber of days to look back (default 30)
top_nNoNumber of top standings to show (default 8)
response_formatNoOutput verbosity: 'detailed' (default) or 'concise'detailed

TDQS

A4.2/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint, idempotentHint, and openWorldHint as true. The description adds value by specifying that the tool returns full standings and decklists, but does not contradict annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two sentences, front-loaded with purpose, then a usage hint. No unnecessary words.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Despite no output schema, the description conveys the main output (full standings and decklists) and references parameters like top_n and response_format implicitly. It does not detail pagination but is adequate for the tool's simplicity.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Input schema has 100% description coverage, so the description adds minimal meaning beyond the schema. It only implicitly references 'tournament_id' but does not elaborate on other parameters.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool retrieves full standings and decklists for a specific tournament by its Spicerack ID, distinguishing it from sibling tools like 'spicerack_recent_tournaments' by specifying the resource and action.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicitly instructs to use 'recent_tournaments' first to find tournament IDs, providing clear context for usage, though it does not explicitly mention when not to use this tool.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

suggest_cutsA
Read-onlyIdempotent

Identify the weakest cards to cut from a commander decklist.

Scores cards by synergy, inclusion rate, and combo membership. Degrades gracefully if EDHREC or Spellbook backends fail (uses whatever data is available).

ParametersJSON Schema
NameRequiredDescriptionDefault
decklistYesList of card names in the deck
commander_nameYesCommander the deck is built around
num_cutsNoNumber of cut candidates to suggest
response_formatNoOutput verbosity: 'detailed' (default) or 'concise'detailed

TDQS

A4.1/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already provide readOnly/ idempotent/ openWorld hints. Description adds value by explaining scoring factors (synergy, inclusion rate, combo membership) and fallback behavior, which is beyond annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Description is very concise with three front-loaded sentences, each providing essential information without fluff.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Adequately describes purpose and behavior, but lacks mention of output format or that response_format parameter controls verbosity. With no output schema, more detail on return values would be helpful.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so baseline is 3. Description does not add significant parameter details beyond schema; it briefly ties num_cuts to the purpose, but schema already describes parameters adequately.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Description clearly states the tool identifies weakest cards to cut from a commander decklist, using a specific verb and resource. It differentiates from sibling tools like deck_analysis by focusing on cuts.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Implied usage for cut suggestions, and mentions graceful degradation when backends fail, providing context. However, no explicit when-not-to-use or alternatives compared to siblings.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

suggest_mana_baseA
Read-onlyIdempotent

Suggest a mana base for a decklist based on color pip distribution.

Analyzes color requirements, recommends land count, and suggests format-legal dual lands. Handles hybrid and phyrexian mana.

ParametersJSON Schema
NameRequiredDescriptionDefault
decklistYesNon-land card names in the deck
formatYesFormat for land legality checking (e.g. 'commander', 'modern')
total_landsNoOverride total land count (default: auto-calculated from avg CMC)
response_formatNoOutput verbosity: 'detailed' (default) or 'concise'detailed

TDQS

A4.2/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Description discloses that the tool analyzes color requirements and suggests lands, adding context beyond annotations (readOnlyHint, idempotentHint, openWorldHint). However, it does not detail return values or failure modes; with high annotation coverage, this is acceptable.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Three well-structured sentences: first states purpose, second elaborates core functionality, third notes special mana handling. No wasted words; front-loaded with key information.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Combined with annotations and schema descriptions, the description provides sufficient context for using the tool. It lacks explicit mention of external data dependencies, but openWorldHint partially addresses this.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema descriptions cover all parameters (100% coverage). The description adds minor value by mentioning hybrid/phyrexian mana handling, which relates to the decklist parameter, but does not significantly augment the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Description clearly states it suggests a mana base based on color pip distribution, recommending land count and format-legal dual lands. It handles hybrid and phyrexian mana, making the purpose specific and differentiating from sibling tools.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Description implies usage for mana base construction in deck building but does not explicitly state when to use versus alternatives. Sibling tools do not overlap directly, so the context is clear enough.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

suggest_sideboardA
Read-onlyIdempotent

Suggest a 15-card sideboard for a competitive deck.

Analyzes the main deck's weaknesses and recommends sideboard cards with per-card reasoning. Works with heuristic analysis alone; enhanced with MTGGoldfish frequency data when available.

ParametersJSON Schema
NameRequiredDescriptionDefault
decklistYesMain deck card names (e.g. ['4 Lightning Bolt', '4 Goblin Guide'])
formatYesCompetitive format (e.g. 'Modern', 'Pauper')
meta_contextNoOptional context about local metagame (e.g. 'heavy on Mono-Red and Affinity')
response_formatNoOutput verbosity: 'detailed' (default) or 'concise'detailed

TDQS

A4/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint, idempotentHint, and openWorldHint. The description adds behavioral context: it analyzes weaknesses, provides per-card reasoning, and can be enhanced with external data. No contradictions with annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is two sentences, front-loading the purpose and concisely explaining functionality. Every sentence adds value, with no redundancy or wasted words.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the annotations and 100% schema coverage, the description sufficiently covers the tool's behavior. It lacks explicit mention of output structure (no output schema), but the text implies a list of cards with reasoning, which is adequate for a recommendation tool.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% with clear parameter descriptions. The description adds minimal extra meaning beyond the schema, such as confirming the output is a 15-card sideboard, but does not elaborate on parameter details.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool suggests a '15-card sideboard for a competitive deck,' using a specific verb and resource. It distinguishes itself from sibling tools like 'sideboard_guide' or 'sideboard_matrix' by focusing on generating a concrete sideboard with per-card reasoning.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies usage contexts (analyzing deck weaknesses, works with or without data) but does not explicitly state when to use this tool over siblings. No guidance on when not to use it or specific alternatives is provided.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

tribal_staplesA
Read-onlyIdempotent

Best cards for a creature type — lords, synergy pieces, and top members.

Groups results by: lords/anthems, tribal synergy, best members, tribal support.

ParametersJSON Schema
NameRequiredDescriptionDefault
tribeYesCreature type (e.g. 'Goblin', 'Merfolk', 'Samurai')
color_identityNoColor identity filter (e.g. 'sultai', 'WR')
formatNoFormat legality filter (e.g. 'commander', 'modern')
limitNoMaximum number of results
response_formatNoOutput verbosity: 'detailed' (default) or 'concise'detailed

TDQS

A4/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already indicate read-only and idempotent behavior. The description adds valuable context on how results are grouped (lords/anthems, tribal synergy, etc.), which is beyond what annotations provide. No contradictions.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two sentences, front-loaded with the action and resource, zero waste. Every word earns its place.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With 100% schema coverage and annotations, the description effectively conveys purpose and grouping. It lacks examples or mention of return format, but is largely complete for a staple-finding tool.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so parameters are well-documented. The description does not add new meaning to parameters; it only describes output grouping. Baseline 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states it returns the best cards for a creature type, grouped by categories like lords, synergy pieces, etc. This is specific and distinct from sibling tools like color_identity_staples.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies usage when needing tribal staples, but does not explicitly state when to use this tool over alternatives like goldfish_format_staples or color_identity_staples, nor does it provide when-not-to-use guidance.

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. Dates show when Glama detected each change.

  1. 56 tool updatesv3.0.0
    • First observedarchetype_comparison
    • First observedarchetype_decklist
    • First observedbudget_upgrade
    • First observedbuild_around
    • First observedcard_comparison
    • First observedcolor_identity_staples
    • First observedcombat_calculator
    • First observedcommander_comparison
    • First observedcommander_overview
    • First observedcomplete_deck
    • First observeddeck_analysis
    • First observeddeck_validate
    • First observeddraft_log_review
    • First observeddraft_pack_pick
    • First observeddraft_signal_read
    • First observedevaluate_upgrade
    • First observedformat_entry_guide
    • First observedgoldfish_archetype_list
    • First observedgoldfish_deck_price
    • First observedgoldfish_format_staples
    • First observedgoldfish_metagame
    • First observedkeyword_explain
    • First observedmetagame_snapshot
    • First observedmoxfield_deck_info
    • First observedmoxfield_decklist
    • First observedmoxfield_search_decks
    • First observedmoxfield_user_decks
    • First observedping
    • First observedprecon_upgrade
    • First observedprice_comparison
    • First observedrotation_check
    • First observedrules_interaction
    • First observedrules_lookup
    • First observedrules_scenario
    • First observedscryfall_card_details
    • First observedscryfall_card_price
    • First observedscryfall_card_rulings
    • First observedscryfall_search_cards
    • First observedscryfall_set_info
    • First observedscryfall_whats_new
    • First observedsealed_pool_build
    • First observedset_overview
    • First observedsideboard_guide
    • First observedsideboard_matrix
    • First observedspellbook_combo_details
    • First observedspellbook_estimate_bracket
    • First observedspellbook_find_combos
    • First observedspellbook_find_decklist_combos
    • First observedspicerack_format_decklists
    • First observedspicerack_recent_tournaments
    • First observedspicerack_tournament_results
    • First observedsuggest_cuts
    • First observedsuggest_mana_base
    • First observedsuggest_sideboard
    • First observedtheme_search
    • First observedtribal_staples

TDQS

A4.1/5.0
Disambiguation5/5

Each tool targets a specific aspect of Magic: archetypes, drafting, rules, deck analysis, etc. Despite the large number, no two tools have identical purposes; descriptions clearly differentiate them.

Naming Consistency5/5

All tool names use snake_case with a consistent verb_noun or noun_verb pattern (e.g., archetype_comparison, scryfall_card_details). The only exception is 'ping', which is a standard health check and fits the pattern's spirit.

Tool Count4/5

56 tools is many, but the domain is broad (drafting, constructed, rules, pricing, deck building). Each tool serves a distinct function, so the count, while high, is justified for comprehensive MTG coverage.

Completeness5/5

The tool set covers nearly every aspect of Magic: deck analysis, drafting, sideboarding, combos, rules, prices, tournament data, and more. No obvious gaps exist for the stated purpose of an MTG assistant.

Maintenance

ActivityInactive
ResponsivenessSyncing

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Connectors

Related MCP Servers

  • F
    license
    Not graded
    quality
    D
    maintenance
    Enables Magic: The Gathering players to manage decks and access card information through Claude, supporting gameplay actions like drawing cards and mulligans while providing Scryfall API integration for card lookups.
    15
    -
  • A
    license
    Not graded
    quality
    C
    maintenance
    A 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.
    1
    MIT
  • A
    license
    Not graded
    quality
    D
    maintenance
    Provides AI assistants with access to Magic: The Gathering card data via Scryfall API, enabling card search, image downloads, and database management.
    33
    2
    Apache 2.0

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/j4th/mtg-mcp-server'

If you have feedback or need assistance with the MCP directory API, please join our Discord server