deck_analysis
Analyze a Magic: The Gathering decklist for mana curve, colors, combos, synergy, budget, and bracket. Compares owner-declared categories against actual composition to detect drift.
Instructions
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.
Pass declared_categories for any count the deck's owner asserted: it is measured
against the list and reported as drift. A number stated once and never re-checked is
how a deck ends up evaluated against a composition it no longer has.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| decklist | Yes | List of card names in the deck (99 cards for Commander) | |
| commander_name | Yes | Commander the deck is built around | |
| response_format | No | Output verbosity: 'detailed' (default) or 'concise' | detailed |
| declared_categories | No | Counts the deck's owner stated, checked against the actual list. Each entry is {name, filter, expected} — e.g. {"name": "cheap creatures", "filter": "mv<=1 t:creature", "expected": 13}. Filter supports mv/cmc comparisons, t:, o:, name:, kw:. An entry may carry an explicit {name, cards, expected} instead of a filter. |