Commander Workshop MCP
Commander Workshop MCP
Commander Workshopは、Magic: The Gatheringの統率者デッキの構築、チェック、比較、および実行のためのローカルファーストなMCPサーバーです。固定ルールとカードデータを、明示的にインポートしたコレクションと組み合わせ、デッキの意図と所有権を分離し、完全な計画を引き出し、交換、代用、プロキシ、または購入に変換します。
このサーバーは、制約のない構築、在庫優先の構築、Bracket 3の計画、固定予算のプレコンアップグレードに役立ちます。制約のある完全な候補を評価し、普遍的なパワースコアや数学的に完璧なデッキを主張するのではなく、これらの制約下で見つかった最良のものを示します。
特徴
ニーズ | Commander Workshopが提供するもの |
構築またはアップグレード | 合成可能な制約下での完全な、合法性チェック済みの計画 |
デッキを理解する | マナ、カーブ、役割、パッケージ、テーマの証拠、不確実性 |
所有カードを使用する | バインダー/デッキの場所を含むManaBoxおよびマッピングされたCSVインポート |
計画を正直に保つ | デッキリストは決して所有権を暗示せず、組み立てられたデッキのコピーが報告される |
不足カードを見つける | 非予約の入手可能性と実行可能な実行計画 |
予算を尊重する | ネイティブのUSD/EUR制約と50ユニットのBracket 3アップグレードプリセット |
価格を確認する | ローカルのScryfall見積もりまたはオプションの読み取り専用CardTrader見積もり |
エージェントと統合する | 11のMCPツールと、stdio上の不変かつページネーションされたリソース |
Related MCP server: scryfall-mcp
プライバシーの約束
あなたのコレクション、バインダー名、場所、物理デッキの割り当ては、デフォルトでローカルに保たれます。ローカルインポートは設定されたルートに制限されます。サーバーはデッキをプッシュせず、コレクションを変更せず、カードを予約せず、マーケットプレイスアイテムをカートに追加せず、購入を完了しません。オプションのマーケットプレイス価格設定は、最小限の印刷要件のみを送信し、環境またはMCPホストのシークレットストアから資格情報を読み取ります。
インストール
Commander WorkshopにはPython 3.11以降が必要です。リポジトリのチェックアウトから:
python -m venv .venv
. .venv/bin/activate
python -m pip install -e .V1は現在POSIXファイルシステムのみをサポートしています。その不変の公開パスには、ディレクトリファイルディスクリプタ、O_DIRECTORY、O_NOFOLLOW、ハードリンク、fsync、およびアドバイザリロックが必要です。Windowsはサポートされていません。stdioサーバーは、次に準備される検証済みのローカル入力を期待します。
カタログとルールの設定
V1は、サーバー起動時に意図的にネットワークリクエストを行いません。Scryfallの文書化されたバルクデータAPIを通じてScryfall Default Cards JSONL gzipをダウンロードし、docs/rules-bundle.mdで指定された5ファイルのルールバンドルを準備してから、テスト済みのオフラインブートストラップコマンドを実行します:
.venv/bin/commander-workshop-bootstrap \
--data-dir /absolute/path/to/commander-workshop-data \
--catalog-jsonl-gz /absolute/path/to/default-cards.jsonl.gz \
--catalog-url https://data.scryfall.io/default-cards.jsonl.gz \
--catalog-retrieved-at 2026-08-15T12:00:00+00:00 \
--rules-bundle /absolute/path/to/rules-bundle実際のダウンロードURLと取得時間を使用してください。--data-dirは安全なインストールルートです。無関係なファイルがすでに含まれている可能性がありますが、ブートストラップはそれらを削除したり上書きしたりすることはありません。このコマンドはgzipとルールを検証し、environments/<sha256>の下にコンテンツアドレス可能な環境を構築し、完全な表現が永続化された後にのみアトミックなREADYマーカーを公開します。再試行は、不完全な環境を正確に回復し、同じバージョンを返します。公開されたカタログとルールファイルは、保持されたステージエイリアスなしの排他的なバイトコピーです。シンボリックリンクされた入力、ハードリンクエイリアス、予期しないサイドカー、競合する既存コンテンツは、失敗クローズされます。
ビルドの前に、ブートストラップはバージョン管理された入力IDによって完全に検証されたREADY環境を検出するため、通常の同一入力の再試行では新しいステージは作成されません。失敗したステージは非アクティブであり、手動検査のために残る可能性があります。ブートストラップは、自分が所有していることを証明できなくなったステージコンテンツを再帰的に削除することはありません。
印刷されたデータディレクトリは、MCPレコードがrecords/の下に書き込まれる可変のインストールルートのままです。印刷されたカタログとルールのパスは、証明された準備完了バージョンを指します。3つの値をすべて一緒に使用してください。有効なREADYマーカーのないディレクトリは不完全なブートストラップ状態であり、決して返されません。
環境変数 | 目的 | ブートストラップ出力形状 |
| コンテンツアドレス可能なMCPレコードの可変ランタイムルート |
|
| カタログ |
|
| ルールセットJSON |
|
| 許可されたローカルインポートルート(OSパス区切り文字で区切る) | ファイルインポートなし |
| オプションの読み取り専用CardTrader認証 | 未設定 |
ブートストラップ後、COMMANDER_WORKSHOP_IMPORT_ROOTSを1つ以上の既存の絶対ディレクトリに設定し、他の変数には印刷された値を使用します。欠落している、古い、または無効な重要なソースは失敗クローズされます。データフローについてはアーキテクチャガイドを参照してください。
Claude、Codex、および一般的なstdio設定
Claude Desktopまたは一般的なJSON形状を使用するその他のホストの場合、examples/mcp-config.jsonをコピーし、絶対パスのプレースホルダーを置き換えてください。
Codexは、config.tomlから同じ実行可能ファイルを使用できます:
[mcp_servers.commander_workshop]
command = "/absolute/path/to/commander-workshop-mcp/.venv/bin/commander-workshop-mcp"
args = []
[mcp_servers.commander_workshop.env]
COMMANDER_WORKSHOP_DATA_DIR = "/absolute/install-root"
COMMANDER_WORKSHOP_CATALOG_CURRENT = "/absolute/install-root/environments/<printed-sha256>/catalog/current.json"
COMMANDER_WORKSHOP_RULESET = "/absolute/install-root/environments/<printed-sha256>/rules/current.json"
COMMANDER_WORKSHOP_IMPORT_ROOTS = "/absolute/path/to/imports"任意のMCP v2クライアントは、その絶対的な仮想環境実行可能ファイルを、これらの環境変数を使用してローカルのstdioサブプロセスとして起動できます。v1にはHTTPサービスやアカウント設定はありません。pipxインストールも可能です:pipx environment --value PIPX_BIN_DIRで返される絶対パスにcommander-workshop-mcpを結合したものを使用してください。
エンドツーエンドの例:制約のない構築
search_cardsを使用して固定カタログを検査し、構築中に生成された各完全な候補デッキに対してload_deckを使用します。操作
build、カードプールall_legal、希望するブラケット/テーマ/プロキシの次元、および1〜8の完全な候補提出物を指定してplan_deckを呼び出します。返されたcommander://plans/...リソースを読み取ります。オプションでコレクションをロードし、勝った計画に対して
resolve_availabilityを呼び出し、次にcreate_fulfillment_planを呼び出します。可用性は仮説のままです。実行は、その不変の結果内でのみコピーを割り当てます。
このフローは、構築中は在庫に制約されませんが、ユーザーが行動を決定する前に、手持ちのものと不足しているものを表示できます。完全なplan_deckリクエストテンプレートは、受け入れスイートによってスキーマ検証されています。
エンドツーエンドの例:所有のみの構築
物理コレクションをManaBox CSVまたは明示的な列マッピングを持つCSVとしてエクスポートし、厳密モードで
load_collection_snapshotを呼び出します。search_libraryを使用して、名前、印刷、バインダー、または組み立てられたデッキの割り当てによって候補カードを見つけます。カードプール
owned_onlyとコレクションスナップショットIDを指定してplan_deckを呼び出します。所有していない基本でないカードを持つ候補は、ハード制約に失敗します。計画と可用性リソースを読み取り、バインダーの引き出しと競合を確認します。すでにデッキに割り当てられているコピーは報告され、無料として暗黙的に扱われることはありません。
完全な所有のみのリクエストテンプレートを、デッキとコレクションIDを以前のツール結果に置き換えて使用してください。
エンドツーエンドの例:Bracket 3 USD/EUR 50プレコンアップグレード
プレコンをエクスポートまたは貼り付けて
load_deckを呼び出します。これはデッキの意図のままであり、所有権の主張ではありません。完全なアップグレード候補をロードし、操作
upgrade、開始デッキとしてstarting_deck_id、Bracket 3、およびprecon-upgrade-50-usdまたはprecon-upgrade-50-eurのシナリオプリセットセマンティクスを指定してplan_deckを呼び出します。正確な追加/削除、日付付きのブラケット証拠、Game Changers、テーマの事実、および保証されたネイティブ通貨の取得上限を検査します。必要な価格証拠がない場合、上限をゼロとして通過できません。
オプションで在庫を解決し、
create_fulfillment_planで引き出し/スワップ/代用/プロキシを選択し、残りの購入ラインに対してprice_purchasesを呼び出します。価格設定は情報提供であり、注文は行われません。
USD 50リクエストテンプレートには、完全なシナリオ、候補証拠、スコア定義、ブラケットポリシー、開始デッキフィールドが含まれています。EURプリセットの場合は、通貨と合計ポリシーの両方を変更してください。
サポートされるインポート
ManaBoxコレクションCSV:物理バインダーと登録デッキをウィッシュリストやその他の非所有リストから分離します。
汎用コレクションCSV:数量と正確なカードIDの明示的なマッピング、およびオプションの印刷と場所フィールド。
Arenaスタイルおよび一般的な数量/名前/セット/コレクター番号のデッキテキスト。
Moxfield、Archidekt、Deckbox、Deckstats、TopDeckedなどのユーザーエクスポートデッキテキスト(サポートされるテキスト方言と一致する場合)。
使用が許可されているエクスポートを貼り付けるか選択してください。V1はアカウントページをスクレイピングしたり、ブラウザクッキーを再利用したり、文書化されていないデッキホストのエンドポイントを呼び出したりしません。直接ホストされたURLはunsupported_sourceを返します。デッキをエクスポートしてテキストをインポートしてください。
ツール
公開インターフェースは正確に11のツールです:
ツール | 目的 |
| 境界付きフィルターとページネーションを使用して検証済みローカルカタログを検索。 |
| 厳密または明示的に部分的なローカルコレクションスナップショットを正規化。 |
| 所有権を推測せずにデッキテキストを正規化。 |
| 物理コピー、場所、印刷、デッキ割り当てを検索。 |
| 正確な構築、合法性、Rule Zero、シナリオの事実をチェック。 |
| 構造メトリクス、役割、パッケージ、証拠、不確実性を報告。 |
| 構成されたシナリオの下で、完全な最良の候補を選択。 |
| 集約パワースコアなしで正確な変更と証拠を比較。 |
| 予約せずに正確なコピー、競合、代替、プロキシ、ギャップを見つける。 |
| 未解決の購入に対する日付付き読み取り専用価格スナップショットを作成。 |
| 引き出し、デッキスワップ、代用、プロキシ、購入を選択。 |
すべてのツールは、安定した結果ID、ステータス、簡潔な要約、問題、ソーススタンプ、および通常はリソースURIを含むバージョン管理されたエンベロープを返します。
リソース
commander://cards/{oracle_id}
commander://searches/{result_id}
commander://collections/{snapshot_id}
commander://decks/{deck_id}
commander://plans/{plan_id}
commander://availability/{resolution_id}
commander://prices/{snapshot_id}
commander://fulfillment/{plan_id}
commander://rules/current
commander://presetsレコードは不変であり、コンテンツアドレス可能です。コレクションと広範な検索は境界付きでページネーションされます。ツールの要約はコレクションの内容をエコーしないようにします。
シナリオの次元
計画シナリオは、これらの独立した選択肢を構成します:
操作:build、upgrade、またはanalyze。
ブラケット:1〜5。日付付きのターンとGame Changerの証拠を含む。
カードプール:
all_legal、prefer_owned、またはowned_only。予算:ネイティブ通貨の合計とオプションのカードごとの上限。USD/EUR 50のプレコンアップグレードプリセットを含む。
プロキシポリシー:none、owned-once、またはプレイグループが許可する場合はunlimited。
テーマポリシー:厳格な契約、柔軟な優先、または強度指向。
保護された組み立て済みデッキ、固定ルールセット、決定論的シード。
ブラケットの適合性と戦略的パワーは1つのスコアにまとめられません。公式のCommanderルールは引き続き権威を持ち、Rule Zeroのオーバーライドは明示的である必要があります。
価格設定の意味論
price_purchasesは、アイテム小計、プロバイダー小計、配送料、および推定通関総額を分離します。不明なアイテムや配送料はnullのままであり、ゼロにはなりません。保証された予算は、必要なすべての購入が選択されたポリシーの下で適格な既知の証拠を持っている場合にのみパスできます。
Scryfallカタログの値は、チェックアウト時の見積もりではなく、指標的なPriceEstimateの観察結果です。CardTraderのリストは読み取り専用のPurchaseQuote観察結果です。計画見積もりは、宣言された鮮度ウィンドウを最大24時間とします。CardTraderはより短いリストの有効期間を使用する場合があります。部分的な観察結果や古い観察結果には、明示的なunknown_price、認証、障害、またはレート制限の問題が伴います。
プロバイダーの制限
Scryfallの見積もりは、検証済みのローカルカタログから得られ、通貨、仕上げ、状態、言語、数量、または配送が欠如している可能性があり、購入可能ではありません。
CardTraderはオプションであり、
CARDTRADER_API_TOKENが必要で、文書化された固定のGETエンドポイントのみを使用し、リダイレクトに従わず、複数売り手による完璧なバスケットを最適化しません。CardmarketおよびTCGplayerはデフォルトでは有効になっていません。アクセス制限とプロバイダーの利用規約は、将来のアダプターによって尊重されなければなりません。
どのプロバイダーもデッキの合法性、コレクションの所有権、プロキシポリシー、または在庫予約を変更できません。どのプロバイダーもカートや購入操作を公開しません。
通常のテストとCIは、ライブのマーケットプレイスやデッキホストのリクエストを行いません。
開発
python -m pip install -e '.[test]'
python scripts/check_public_tree.py
ruff check src tests scripts
pytest -q
python -m buildプライバシースキャナーは、追跡されたツリー内のプライベートパス、認証情報、データベース、安全でないデータエクスポート、シンボリックリンク、および文書化されていない/過大なフィクスチャを検査します。すべてのテストデータは合成され、決定論的です。
アーキテクチャ
コンポーネントの境界、不変ストレージ、信頼の境界、計画/フルフィルメントフロー、拡張ポイントについては、docs/architecture.mdを参照してください。
セキュリティ報告
SECURITY.mdに従ってください。プライベートなセキュリティアドバイザリと最小限の合成再現を使用してください。コレクションのエクスポート、バインダー在庫、トークン、またはその他の個人データを添付しないでください。
帰属
カード名、ルールテキスト、およびカタログメタデータは、Scryfallから派生する場合があり、そのデータと帰属要件が適用されます。Magic: The GatheringのルールとCommanderブラケットポリシーは、Wizards of the Coastによって公開されています。プロバイダー名とマーケットプレイスデータは、それぞれの所有者の財産です。
非提携
Commander Workshop MCPは非公式のファンソフトウェアです。Wizards of the Coast、Scryfall、CardTrader、またはその他のデッキホストやマーケットプレイスとは提携、承認、スポンサー、または承認されていません。Magic: The Gathering、Commander、および関連する商標は、Wizards of the Coastおよびそのそれぞれの所有者に帰属します。
Commander Workshop MCPは、ファンコンテンツポリシーの下で許可された非公式のファンコンテンツです。Wizardsによって承認/支持されていません。使用される素材の一部はWizards of the Coastの財産です。©Wizards of the Coast LLC。
ライセンス
本ソフトウェアはMIT Licenseの下でリリースされています。サードパーティのカード、ルール、およびマーケットプレイスデータは、それ自身の利用規約の対象となります。
Available Tools
11 toolsanalyze_deckC
Store evidence-backed structural metrics without a scalar power score.
| Name | Required | Description | Default |
|---|---|---|---|
| request | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| issues | No | |
| status | Yes | |
| summary | Yes | |
| result_id | Yes | |
| resource_uri | Yes | |
| source_stamps | No | |
| schema_version | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must disclose behavioral traits like whether this tool is read-only, destructive, has side effects, requires authorization, or has rate limits. The description only says it stores structural metrics, which implies a write operation, but it does not explain persistence, idempotency, or what happens to existing data. This is insufficient for a tool that accepts a complex request with nested objects.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is very brief (one short sentence). While it is efficient, it omits critical information that could be added without much more text. It earns a 4 for being concise, not verbose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Despite having an output schema and a single parameter, the tool is conceptually complex (involves scenarios, win packages, score definitions) and has many sibling tools. The description does not explain the return format, how the analysis is performed, what constitutes 'evidence-backed metrics', or how the output relates to the input. The tool is under-described for its complexity.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, meaning the description must add meaning to the parameters, but it does not. The input schema defines a single 'request' parameter containing multiple nested objects (ScenarioInput, WinPackageInput, ScoreDefinitionInput, etc.), yet the description offers no explanation of how these fields relate to the analysis or what values they accept. For a complex tool with one parameter that is a nested object, this is a significant gap.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description includes a verb (Store) and a resource (structural metrics, no scalar power score), which suggests the tool persists or records analysis results. However, the meaning of 'evidence-backed structural metrics' and 'without a scalar power score' is vague and does not clearly distinguish this from sibling tools like 'check_deck' or 'plan_deck'. The score is 3 because it indicates what the tool does but lacks specificity.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool versus alternatives such as 'check_deck', 'plan_deck', or 'compare_decks'. The description does not explain prerequisites, expected input context, or conditions under which this tool is appropriate. This is a critical gap given the complex input schema with nested objects.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
check_deckC
Check exact construction legality without inferring bracket fit.
| Name | Required | Description | Default |
|---|---|---|---|
| request | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| issues | No | |
| status | Yes | |
| summary | Yes | |
| result_id | Yes | |
| resource_uri | Yes | |
| source_stamps | No | |
| schema_version | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description bears full responsibility for disclosing behavioral traits. It states 'without inferring bracket fit' but fails to explain whether the tool is read-only, what permissions it requires, what side effects exist, or the nature of its return value. For a legality-checking tool, this is insufficient.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, front-loaded sentence that wastes no words. It efficiently communicates the purpose without fluff. However, it is perhaps too concise—adding a brief sentence about input or output could improve it without sacrificing conciseness.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the complexity of the input schema (nested objects with many properties) and the presence of an output schema, the description is too sparse. It does not explain what the output represents (pass/fail, detailed violations), what 'bracket fit' means in context, or note any prerequisites like authentication or specific game format. The tool is moderately complex but the description covers almost none of the needed context.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has 0% description coverage for parameters, and the tool description adds no information whatsoever about the 'request' object or its nested properties. The agent receives no guidance on how to construct the required input (e.g., deck_id, scenario), making parameter understanding entirely reliant on the schema structure alone.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses the specific verb 'Check' and identifies the resource as 'deck construction legality', clearly stating the tool's core function. It further distinguishes itself by noting 'without inferring bracket fit', which sets it apart from potential sibling tools like analyze_deck or plan_deck that might involve inference. This makes the purpose unambiguous and differentiated.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no explicit guidance on when to use this tool versus alternatives. The description hints at a distinction ('without inferring bracket fit') but does not specify situations where this tool is preferred over analyze_deck, plan_deck, or others. No alternatives are named, nor are when-not scenarios provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
compare_decksB
Compare two to eight raw decks or plan winners without scalar scoring.
| Name | Required | Description | Default |
|---|---|---|---|
| request | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| issues | No | |
| status | Yes | |
| summary | Yes | |
| result_id | Yes | |
| resource_uri | Yes | |
| source_stamps | No | |
| schema_version | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description discloses a key behavioral trait: it does not produce a scalar score. Since no annotations are provided, the description carries the full burden of behavioral transparency. It also hints at a comparison output (likely showing differences or side-by-side). However, it does not explain what the output format looks like, whether it's read-only or has side effects, or how it handles invalid or missing IDs.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single concise sentence that packs key information: action, item count range, items compared, and what is NOT done (no scalar scoring). It is front-loaded and efficient. However, given the complexity of the tool and the 0% schema coverage, a slightly longer description might add necessary clarity without being verbose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool has 1 parameter with 0% schema coverage, no annotations, and an output schema exists (but its content is not shown). The description provides the count constraint and item type, but fails to explain what the output contains (e.g., a comparison table, list of differences), how conflicts are resolved (e.g., if IDs are invalid), or whether the tool is read-only. Given the complexity of comparing multiple decks, the description is somewhat incomplete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
There is a single parameter 'deck_or_plan_ids' with a type of array of strings. Schema description coverage is 0%, so the description must compensate. The description says 'compare two to eight raw decks or plan winners', which adds the constraint of min/max count (2-8) and the types of strings ('deck_or_plan_ids' → decks or plan winners). However, it does not specify the format of each ID (e.g., should they be full IDs or partial?), whether the order matters, or how mixed types (e.g., both deck and plan IDs) are handled.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses specific verbs ('compare', 'without scalar scoring') and names the resource ('raw decks or plan winners'). It clearly states the tool compares decks, not scalar scores, and implies a parallel/cross comparison. However, 'plan winners' is a domain term that may need more explanation, and 'raw decks' could be clarified to avoid confusion with 'check_deck' or 'analyze_deck'.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description states a use case (compare decks without scalar scoring) and implies it's an alternative to scoring-based evaluation. However, it does not explicitly say when NOT to use this tool (e.g., when you need a numeric score, use 'check_deck' or 'analyze_deck') or mention any prerequisites (e.g., deck/plan IDs must exist). The sibling tools suggest possible alternatives, but no guidance is provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
create_fulfillment_planB
Allocate each physical copy once inside an immutable plan result.
| Name | Required | Description | Default |
|---|---|---|---|
| request | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| issues | No | |
| status | Yes | |
| summary | Yes | |
| result_id | Yes | |
| resource_uri | Yes | |
| source_stamps | No | |
| schema_version | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations are missing, so the description carries the full weight. It hints at immutability ('immutable plan result') which implies the plan cannot be modified post-creation, a key behavioral trait. However, it does not disclose whether the action is destructive (overwrites existing allocations), requires authentication/authorization, or has rate limits. A 3 reflects partial disclosure but missing critical behavioral details for a mutation tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, concise sentence of only 8 words, with no redundant phrases. Every word ('allocate', 'physical copy', 'once', 'immutable', 'plan result') serves a purpose. It fits the tool's likely complexity and is front-loaded with the action and key constraint ('immutable').
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool has a complex structure (nested object with 3 fields), no annotations, no output schema explanation (though output schema exists, context signals say 'has output schema: true', but description doesn't leverage it), the description is insufficient. It covers the core purpose but omits parameter details, error scenarios, and return values. The completeness is adequate for a simple tool but gaps remain for the nested input schema.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% (context signals), so the description must compensate entirely. The description does not elaborate on the parameters (resolution_id, mode, exact_target_id). However, because there is only one parameter (request) that is an object with nested fields, and the description is minimal, it cannot adequately explain their semantics. Average baseline is 3, but given the very low coverage, a 4 would require description to fully cover parameters. Here it fails, but schema has no descriptions at all, so 4 is too generous. Actually, since coverage is 0% and description doesn't clarify params, score should be 2.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description 'Allocate each physical copy once inside an immutable plan result' clearly identifies the verb (Allocate) and resource (physical copy within an immutable plan result), distinguishing it from sibling tools like 'search_cards' or 'compare_decks'. It specifies a unique action ('allocate') and context ('immutable plan'), making the purpose unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives like 'resolve_availability' or 'plan_deck'. It does not mention any prerequisites (e.g., a plan must exist), exclusions (e.g., cannot modify after allocation), or conditions (e.g., requires permissions). Context signals show sibling tools share similar domains (planning/resolving), making such guidance critical.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
load_collection_snapshotC
Normalize a supported local collection file into an immutable snapshot.
| Name | Required | Description | Default |
|---|---|---|---|
| path | Yes | ||
| format | No | auto | |
| mapping | No | ||
| observed_at | Yes | ||
| allow_partial | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| issues | No | |
| status | Yes | |
| summary | Yes | |
| result_id | Yes | |
| resource_uri | Yes | |
| source_stamps | No | |
| schema_version | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries full burden. It states the tool 'normalizes' and creates an 'immutable snapshot', implying a read-only transformation, but does not disclose potential side effects (e.g., does it modify the original file? Consume significant memory? Require specific permissions?). The term 'supported' is left undefined.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Extremely concise at 8 words, but overly terse. Lacks contextual sentences that would help the agent understand usage (e.g., supported formats, snapshot benefits). Edge cases like not providing any parameter details make it under-specified rather than efficiently written.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the complexity (5 parameters, output schema exists) and no annotations, the description is incomplete. The output schema exists but the description doesn't hint at what the snapshot contains (e.g., card objects? aggregated data?). Required distinction from 'load_deck' or 'search_library' is missing. Agent would likely misuse the tool without external knowledge.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, meaning the description adds zero meaning beyond parameter names and types. For example, 'mapping' parameter is described only by schema (object mapping strings to strings) with no context on what it maps (e.g., field names? column indexes?). 'allow_partial' defaults to false but the description never explains partiality. The description does not compensate for the low schema coverage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb ('Normalize') and resource ('local collection file'), clearly stating the output ('immutable snapshot'). It distinguishes this from siblings like 'load_deck' by emphasizing the 'collection' context.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool versus alternatives (e.g., search_cards, load_deck, analyze_deck). The description does not mention prerequisites (e.g., file must exist locally, supported format) or what 'supported' means.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
load_deckC
Normalize deck text without treating it as evidence of ownership.
| Name | Required | Description | Default |
|---|---|---|---|
| text | Yes | ||
| label | Yes | ||
| format | No | arena |
Output Schema
| Name | Required | Description |
|---|---|---|
| issues | No | |
| status | Yes | |
| summary | Yes | |
| result_id | Yes | |
| resource_uri | Yes | |
| source_stamps | No | |
| schema_version | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Since annotations are missing entirely, the description carries the full burden for behavioral disclosure. It states a key behavioral trait: the tool does not treat the deck as evidence of ownership, which implies it is a safe, non-destructive operation. However, it fails to describe side effects, authorization needs, or what happens with invalid input. The output schema exists but the description does not reference return behavior, leaving gaps.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, concise sentence with no extraneous content. It front-loads the core action ('normalize deck text') and adds a key discriminator. While brief, it earns its place by being focused.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool has 3 parameters with 0% schema description coverage, an output schema (which could document return values), and a complex sibling set, the description is too sparse. It does not explain the normalization process, input requirements, output structure, or how this differs from similar tools like 'check_deck'. Substantial gaps remain for the agent to select and invoke correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must compensate for documenting parameters. It mentions none of the three parameters ('text', 'label', 'format') explicitly. 'text' and 'label' are required but their purpose is only inferred from the tool's context. The 'format' parameter has a default but no explanation of its role. This is a significant gap.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description 'Normalize deck text without treating it as evidence of ownership' uses a specific verb ('normalize') and identifies the resource ('deck text'). However, the phrase 'without treating it as evidence of ownership' is ambiguous and does not clearly differentiate this tool from siblings like 'check_deck' or 'analyze_deck'. The lack of clarity on what 'normalize' means reduces the score.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus alternatives like 'check_deck' or 'analyze_deck'. The description implies a specific constraint (not treating as evidence) but does not explain what that means for usage. No exclusion criteria or context signals (e.g., prerequisites like deck format constraints) are given.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
plan_deckC
Evaluate one to eight complete client-submitted candidates.
| Name | Required | Description | Default |
|---|---|---|---|
| request | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| issues | No | |
| status | Yes | |
| summary | Yes | |
| result_id | Yes | |
| resource_uri | Yes | |
| source_stamps | No | |
| schema_version | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral transparency. It discloses only that candidates must be 'complete' and between 'one to eight', but it does not mention side effects, read-only status, permissions, or what the evaluation returns. This is a minimal disclosure for a complex tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence of eight words, stating the action and key constraints with no redundant or extraneous information. It is highly concise and front-loaded with the main verb.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the extremely complex input schema and the presence of an output schema, a one-sentence description is wholly inadequate. It does not explain what a 'candidate' is, what the evaluation entails, or how the tool fits into the overall workflow, making it insufficient for an agent to understand and use the tool correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The description adds a meaningful constraint on the 'candidates' parameter by specifying 'one to eight' and requiring completeness, which the schema itself does not enforce. However, it gives no details about the many other fields in the 'request' object, leaving the agent to rely solely on the schema structure and names.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly uses the verb 'Evaluate' with a specific resource ('candidates') and a scope ('one to eight'), making the core action understandable. However, it does not clarify that these are deck candidates or that the tool produces a plan, which would distinguish it from sibling tools like analyze_deck or compare_decks.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives. It neither explains prerequisites, exclusions, nor mentions any competing tools, leaving the agent without contextual selection cues.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
price_purchasesC
Price unresolved purchases without adding to a cart or buying anything.
| Name | Required | Description | Default |
|---|---|---|---|
| request | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| issues | No | |
| status | Yes | |
| summary | Yes | |
| result_id | Yes | |
| resource_uri | Yes | |
| source_stamps | No | |
| schema_version | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must carry the full burden. It only mentions that pricing does not add to cart or buy, but lacks details on authentication, rate limits, side effects, or output format. The presence of an output schema is not leveraged.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence, so it is concise. However, it is too short for the tool's complexity; conciseness should not come at the expense of completeness.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the complex nested input schema, the lack of annotations, and no output schema documentation, the description is woefully incomplete. The agent would not know how to properly construct the request or interpret results.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, and the description does not explain any parameters. The agent must guess the meaning of fulfillment_plan_id, provider_id, and the nested policy object with its fields (currency, accepted_finishes, etc.). This is a critical gap.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb 'price' and resource 'unresolved purchases', and distinguishes the action from adding to cart or buying. However, 'unresolved purchases' is somewhat vague and could be more specific.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus alternatives (e.g., create_fulfillment_plan), prerequisites, or when not to use it. The description is purely functional.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
resolve_availabilityC
Resolve complete decks against physical copies without reserving them.
| Name | Required | Description | Default |
|---|---|---|---|
| request | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| issues | No | |
| status | Yes | |
| summary | Yes | |
| result_id | Yes | |
| resource_uri | Yes | |
| source_stamps | No | |
| schema_version | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description bears full responsibility for behavioral disclosure. It only reveals that the tool does not reserve copies. Missing are details on whether it modifies any data, required permissions, side effects (e.g., caching), limitations (e.g., only checks against a specific collection), or rate limits. The single behavioral trait is helpful but insufficient.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single short sentence, which is concise but comes at the expense of necessary detail. It lacks structure such as bullet points or sections. While every word earns its place, the description is underspecified for practical use, earning an average score.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Despite having an output schema and one parameter (with complex internals), the description fails to explain how the tool is used in practice. It does not address the input's nested structure, the meaning of 'substitutes', or what the output contains. An agent would struggle to form a correct request without additional context.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%. The description does not mention any parameters or explain what 'ResolveAvailabilityRequest', 'collection_id', 'substitutes', etc., represent. The complex nested structure with arrays and enums (e.g., 'proxy_policy' likely has valid values) is entirely undocumented in the description. This leaves the AI agent with no guidance beyond raw schema names.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('resolve complete decks against physical copies') and adds a critical constraint ('without reserving them'). It distinguishes this tool from sibling tools like create_fulfillment_plan and price_purchases, which involve reservations or purchases. However, 'resolve' is somewhat abstract and could be more explicit (e.g., 'check availability').
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives. For example, it does not indicate whether this tool should be used before creating a fulfillment plan or after loading a deck. No exclusions or context are given.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_cardsB
Search the verified local card catalog with bounded pagination.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | ||
| query | Yes | ||
| offset | No | ||
| type_contains | No | ||
| color_identity | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| issues | No | |
| status | Yes | |
| summary | Yes | |
| result_id | Yes | |
| resource_uri | Yes | |
| source_stamps | No | |
| schema_version | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It mentions 'bounded pagination' (adding behavioral context) but doesn't disclose if it's read-only, what happens to the returned data, rate limits, or authentication needs. The description adds some value beyond nothing.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence with no wasted words. It could be slightly longer to add param context, but it remains concise and front-loaded with the key action.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With 5 parameters, 0% schema coverage, no annotations, and an output schema present, the description is too sparse. It leaves the agent guessing about param semantics, return structure (despite output schema existing), and behavioral boundaries.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must compensate. It only mentions 'bounded pagination', hinting at limit/offset, but gives no meaning for query, type_contains, color_identity, or how they interact. This is insufficient for 5 parameters.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states it searches a card catalog with bounded pagination, which is a specific verb-resource combination. It distinguishes from sibling tools like search_library by mentioning 'verified local card catalog', though it doesn't explicitly differentiate from all siblings.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage for searching cards with pagination but provides no guidance on when to use this tool vs siblings like search_library or load_collection_snapshot. No exclusion or alternative context is given.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_libraryC
Search a stored collection without disclosing its contents in the summary.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | ||
| query | Yes | ||
| offset | No | ||
| snapshot_id | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| issues | No | |
| status | Yes | |
| summary | Yes | |
| result_id | Yes | |
| resource_uri | Yes | |
| source_stamps | No | |
| schema_version | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description must convey all behavioral traits. It hints at a privacy feature (not disclosing contents in summary), but omits whether this is a read-only operation, what other side effects exist, or any required permissions. The agent is left to infer safety and behavior from the name alone.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence, which is concise, but it is under-informative. It earns its place by adding the disclosure constraint, yet it omits crucial details that could be added without significant bloat. Balance between brevity and completeness is off.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool has 4 parameters, 2 required, and an output schema present, the description is incomplete. It fails to cover usage context, parameter roles, or differentiation from siblings. The output schema may define return structure, but the description does not help the agent understand when or how to invoke this tool effectively.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description should explain parameters. It does not. 'snapshot_id' and 'query' are required but their meaning is entirely left to the schema title fields, which provide no context. The description adds no parameter-specific information.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's action: 'Search a stored collection'. It adds a distinguishing behavioral note about not disclosing contents in the summary. However, 'stored collection' is somewhat vague and doesn't explicitly contrast with sibling tools like 'search_cards' or 'load_collection_snapshot'.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus its siblings. The description does not mention scenarios, prerequisites, or alternatives. An agent has no context to decide between 'search_library' and 'search_cards' or other search/load operations.
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.
11 tool updates
v0.1.0- First observed
analyze_deck - First observed
check_deck - First observed
compare_decks - First observed
create_fulfillment_plan - First observed
load_collection_snapshot - First observed
load_deck - First observed
plan_deck - First observed
price_purchases - First observed
resolve_availability - First observed
search_cards - First observed
search_library
TDQS
Scored across 11 tools
Each tool targets a distinct operation: searching card catalogs vs collections, loading different file types, checking legality vs analyzing metrics vs evaluating candidates, comparing, resolving availability, creating fulfillment plans, and pricing. No two tools appear to overlap in purpose.
All tool names follow a consistent verb_noun pattern in snake_case (e.g., search_cards, load_deck, check_deck). The verbs are varied but clear, and the nouns accurately describe the target resource. The pattern is uniform across all 11 tools.
With 11 tools, the server covers the essential workflows for a Commander deck workshop: searching, loading, checking, analyzing, planning, comparing, fulfillment, and pricing. The count feels well-scoped without being overwhelming or insufficient.
The tool set covers the full lifecycle from card and collection intake through deck validation, comparison, availability resolution, and fulfillment. There is no obvious missing operation; all necessary steps for the intended domain are present.
Maintenance
Related MCP Connectors
Organize and track your Magic: The Gathering collection, decks, prices and imports.
Live TCG card and decklist prices for AI assistants. 22+ games, no account, ready-to-buy links.
MTG market data: search 114K+ cards, price signals, AI analysis. Free tier available.
Magic: The Gathering card prices, movers, arbitrage, sealed box EV, and seller inventory tools.
Related MCP Servers
- AlicenseNot gradedqualityCmaintenanceA comprehensive Model Context Protocol server that provides AI assistants with rich Magic: The Gathering information, including card data, comprehensive rules, EDHREC recommendations, combo interactions, and intelligent Commander deck generation.88 PyPI1MIT
- FlicenseNot gradedqualityDmaintenanceProvides access to Magic: The Gathering card data via Scryfall API, including search, rulings, sets, and local deck management with multi-owner support.-
- AlicenseAqualityBmaintenanceProvides AI assistants with comprehensive Magic: The Gathering data including card info, combos, draft analytics, Commander metagame, constructed formats, sideboard strategy, deck building, and rules.74MIT
- FlicenseNot gradedqualityAmaintenanceProvides Magic: The Gathering card, deck, provider, and statistical evidence tools for LLMs to make informed deckbuilding decisions.-