gradeNot graded
analyze_deckAction
Analyze the current Commander decklist (or a provided list) and return health scores, category breakdown, card counts, bracket, curve, suggestions, combos summary, and the top weaknesses. Use this before recommending changes.
View tool JSON
{
"name": "analyze_deck",
"kind": "act",
"impl": "imperative",
"description": "Analyze the current Commander decklist (or a provided list) and return health scores, category breakdown, card counts, bracket, curve, suggestions, combos summary, and the top weaknesses. Use this before recommending changes.",
"inputSchema": {
"type": "object",
"additionalProperties": false,
"properties": {
"decklist": {
"type": "string",
"description": "Commander decklist text. If omitted, analyze the deck currently on the page."
}
}
}
}propose_changesAction
Propose up to 3 cuts and 3 additions to improve the weakest categories of the current analyzed deck. Does not modify the deck. Human must approve before apply_changes.
View tool JSON
{
"name": "propose_changes",
"kind": "act",
"impl": "imperative",
"description": "Propose up to 3 cuts and 3 additions to improve the weakest categories of the current analyzed deck. Does not modify the deck. Human must approve before apply_changes.",
"inputSchema": {
"type": "object",
"additionalProperties": false,
"properties": {
"focus": {
"type": "array",
"items": {
"type": "string",
"enum": [
"ramp",
"draw",
"interaction",
"curve",
"wincons"
]
},
"description": "Optional category names to prioritize. Defaults to the weakest scores."
},
"budget": {
"type": "string",
"enum": [
"any",
"budget"
],
"description": "budget prefers commonly available staples. No price API is used."
}
}
}
}apply_changesAction
Apply previously proposed or explicitly listed cuts and additions to the on-page deck, then re-analyze. Only apply names the user/agent explicitly accepts. Recalculate scores and update the UI.
View tool JSON
{
"name": "apply_changes",
"kind": "act",
"impl": "imperative",
"description": "Apply previously proposed or explicitly listed cuts and additions to the on-page deck, then re-analyze. Only apply names the user/agent explicitly accepts. Recalculate scores and update the UI.",
"inputSchema": {
"type": "object",
"additionalProperties": false,
"properties": {
"cuts": {
"type": "array",
"items": {
"type": "string"
},
"description": "Card names to remove. Only names explicitly listed are cut."
},
"adds": {
"type": "array",
"items": {
"type": "string"
},
"description": "Card names to add. Only names explicitly listed are added."
},
"confirm": {
"type": "boolean",
"description": "Must be true. If false, the write is not performed."
}
},
"required": [
"cuts",
"adds",
"confirm"
]
}
}import_deck_urlAction
Import a Moxfield or Archidekt deck URL into the on-page workspace. Does not analyze.
View tool JSON
{
"name": "import_deck_url",
"kind": "act",
"impl": "imperative",
"description": "Import a Moxfield or Archidekt deck URL into the on-page workspace. Does not analyze.",
"inputSchema": {
"type": "object",
"additionalProperties": false,
"properties": {
"url": {
"type": "string",
"description": "Moxfield or Archidekt deck URL."
},
"confirm": {
"type": "boolean",
"description": "Must be true. If false, the write is not performed."
}
},
"required": [
"url",
"confirm"
]
}
}share_deckAction
Create an anonymous public share link for the on-page (or provided) decklist. Returns slug, URL, deletion token, and expiry.
View tool JSON
{
"name": "share_deck",
"kind": "act",
"impl": "imperative",
"description": "Create an anonymous public share link for the on-page (or provided) decklist. Returns slug, URL, deletion token, and expiry.",
"inputSchema": {
"type": "object",
"additionalProperties": false,
"properties": {
"decklist": {
"type": "string",
"description": "Decklist to share. Defaults to the on-page deck."
},
"name": {
"type": "string"
},
"commander": {
"type": "string"
},
"confirm": {
"type": "boolean",
"description": "Must be true. If false, the write is not performed."
}
},
"required": [
"confirm"
]
}
}load_shared_deckAction
Load a previously shared deck by slug and place it on the page.
View tool JSON
{
"name": "load_shared_deck",
"kind": "act",
"impl": "imperative",
"description": "Load a previously shared deck by slug and place it on the page.",
"inputSchema": {
"type": "object",
"additionalProperties": false,
"properties": {
"slug": {
"type": "string",
"description": "Share slug from /d/:slug."
}
},
"required": [
"slug"
]
}
}delete_shared_deckSensitive Action
Permanently delete a shared deck using the one-time deletion token shown when the share was created.
View tool JSON
{
"name": "delete_shared_deck",
"kind": "transact",
"impl": "imperative",
"description": "Permanently delete a shared deck using the one-time deletion token shown when the share was created.",
"inputSchema": {
"type": "object",
"additionalProperties": false,
"properties": {
"slug": {
"type": "string"
},
"deletion_token": {
"type": "string"
},
"confirm": {
"type": "boolean",
"description": "Must be true. If false, the write is not performed."
}
},
"required": [
"slug",
"deletion_token",
"confirm"
]
}
}get_healthAnswer
Return the public /api/health payload (app and upstream checks). No user data.
View tool JSON
{
"name": "get_health",
"kind": "answer",
"impl": "imperative",
"description": "Return the public /api/health payload (app and upstream checks). No user data.",
"inputSchema": {
"type": "object",
"additionalProperties": false,
"properties": {}
}
}get_shop_linksAnswer
Build TCGPlayer, Manapool, and Cardmarket search links for card names. No purchase is made.
View tool JSON
{
"name": "get_shop_links",
"kind": "answer",
"impl": "imperative",
"description": "Build TCGPlayer, Manapool, and Cardmarket search links for card names. No purchase is made.",
"inputSchema": {
"type": "object",
"additionalProperties": false,
"properties": {
"name": {
"type": "string",
"description": "A single card name."
},
"names": {
"type": "array",
"items": {
"type": "string"
},
"description": "Card names to link."
}
}
}
}get_meAnswer
Return the signed-in account profile, plan, capabilities, and quotas from /api/me.
View tool JSON
{
"name": "get_me",
"kind": "answer",
"impl": "imperative",
"description": "Return the signed-in account profile, plan, capabilities, and quotas from /api/me.",
"inputSchema": {
"type": "object",
"additionalProperties": false,
"properties": {}
}
}list_saved_decksAnswer
List saved Commander decks for the signed-in account.
View tool JSON
{
"name": "list_saved_decks",
"kind": "answer",
"impl": "imperative",
"description": "List saved Commander decks for the signed-in account.",
"inputSchema": {
"type": "object",
"additionalProperties": false,
"properties": {}
}
}save_deckAction
Save the on-page (or provided) decklist as an account deck version. Pro persistence required.
View tool JSON
{
"name": "save_deck",
"kind": "act",
"impl": "imperative",
"description": "Save the on-page (or provided) decklist as an account deck version. Pro persistence required.",
"inputSchema": {
"type": "object",
"additionalProperties": false,
"properties": {
"name": {
"type": "string",
"description": "Deck name. Defaults to the commander or Untitled."
},
"decklist": {
"type": "string",
"description": "Defaults to the on-page deck."
},
"deck_id": {
"type": "string",
"description": "Existing saved deck id to append a version to."
},
"confirm": {
"type": "boolean",
"description": "Must be true. If false, the write is not performed."
}
},
"required": [
"confirm"
]
}
}list_deck_versionsAnswer
List immutable versions for a saved deck id. Newest first.
View tool JSON
{
"name": "list_deck_versions",
"kind": "answer",
"impl": "imperative",
"description": "List immutable versions for a saved deck id. Newest first.",
"inputSchema": {
"type": "object",
"additionalProperties": false,
"properties": {
"deck_id": {
"type": "string"
}
},
"required": [
"deck_id"
]
}
}get_collectionAnswer
Return the signed-in account collection and card rows.
View tool JSON
{
"name": "get_collection",
"kind": "answer",
"impl": "imperative",
"description": "Return the signed-in account collection and card rows.",
"inputSchema": {
"type": "object",
"additionalProperties": false,
"properties": {}
}
}replace_collectionSensitive Action
Replace the signed-in account collection from parsed cards or pasted CSV/text. Destructive.
View tool JSON
{
"name": "replace_collection",
"kind": "transact",
"impl": "imperative",
"description": "Replace the signed-in account collection from parsed cards or pasted CSV/text. Destructive.",
"inputSchema": {
"type": "object",
"additionalProperties": false,
"properties": {
"text": {
"type": "string",
"description": "ManaBox CSV, generic CSV, or text collection."
},
"cards": {
"type": "array",
"items": {
"type": "object",
"additionalProperties": false,
"properties": {
"name": {
"type": "string"
},
"quantity": {
"type": "number"
}
},
"required": [
"name",
"quantity"
]
}
},
"source": {
"type": "string",
"enum": [
"manabox-csv",
"generic-csv",
"text"
]
},
"confirm": {
"type": "boolean",
"description": "Must be true. If false, the write is not performed."
}
},
"required": [
"confirm"
]
}
}export_accountAction
Download a JSON export of the signed-in account (profile, saved decks, collection).
View tool JSON
{
"name": "export_account",
"kind": "act",
"impl": "imperative",
"description": "Download a JSON export of the signed-in account (profile, saved decks, collection).",
"inputSchema": {
"type": "object",
"additionalProperties": false,
"properties": {}
}
}delete_accountSensitive Action
Two-step account deletion. action=start returns a deletion_request_token. action=confirm consumes that token. Both steps require confirm=true.
View tool JSON
{
"name": "delete_account",
"kind": "transact",
"impl": "imperative",
"description": "Two-step account deletion. action=start returns a deletion_request_token. action=confirm consumes that token. Both steps require confirm=true.",
"inputSchema": {
"type": "object",
"additionalProperties": false,
"properties": {
"action": {
"type": "string",
"enum": [
"start",
"confirm"
]
},
"deletion_request_token": {
"type": "string",
"description": "Required when action=confirm."
},
"confirm": {
"type": "boolean",
"description": "Must be true. If false, the write is not performed."
}
},
"required": [
"action",
"confirm"
]
}
}get_recommendationsAnswer
Fetch Pro-gated ranked issues and actions for the on-page (or provided) deck. Fails closed when unsigned or unavailable.
View tool JSON
{
"name": "get_recommendations",
"kind": "answer",
"impl": "imperative",
"description": "Fetch Pro-gated ranked issues and actions for the on-page (or provided) deck. Fails closed when unsigned or unavailable.",
"inputSchema": {
"type": "object",
"additionalProperties": false,
"properties": {
"decklist": {
"type": "string",
"description": "Defaults to the on-page deck."
},
"format": {
"type": "string",
"description": "Scoring format id. Defaults to the on-page format."
}
}
}
}run_tunerAction
Run the deterministic Bracket Tuner locally for the on-page (or provided) deck. Does not call /api/tune or a model provider.
View tool JSON
{
"name": "run_tuner",
"kind": "act",
"impl": "imperative",
"description": "Run the deterministic Bracket Tuner locally for the on-page (or provided) deck. Does not call /api/tune or a model provider.",
"inputSchema": {
"type": "object",
"additionalProperties": false,
"properties": {
"decklist": {
"type": "string",
"description": "Defaults to the on-page deck."
},
"target_bracket": {
"type": "integer",
"enum": [
2,
3,
4,
5
]
},
"budget_eur_per_card": {
"type": "number",
"description": "0 or unset uses owned-only swaps."
},
"ownership_mode": {
"type": "string",
"enum": [
"any",
"prefer-owned",
"owned-only"
]
},
"excluded_card_names": {
"type": "array",
"items": {
"type": "string"
}
},
"collection": {
"type": "array",
"items": {
"type": "string"
},
"description": "Owned card names."
}
},
"required": [
"target_bracket"
]
}
}run_pod_checkAction
Run Pro-gated Pod Check for provided decks or the decks currently on /pod.
View tool JSON
{
"name": "run_pod_check",
"kind": "act",
"impl": "imperative",
"description": "Run Pro-gated Pod Check for provided decks or the decks currently on /pod.",
"inputSchema": {
"type": "object",
"additionalProperties": false,
"properties": {
"decks": {
"type": "array",
"items": {
"type": "object",
"additionalProperties": false,
"properties": {
"decklist": {
"type": "string"
},
"label": {
"type": "string"
}
},
"required": [
"decklist"
]
}
}
}
}
}start_checkoutSensitive Action
Start Stripe Checkout for an allowlisted price key and return the hosted URL. Closed unless billing UI is enabled.
View tool JSON
{
"name": "start_checkout",
"kind": "transact",
"impl": "imperative",
"description": "Start Stripe Checkout for an allowlisted price key and return the hosted URL. Closed unless billing UI is enabled.",
"inputSchema": {
"type": "object",
"additionalProperties": false,
"properties": {
"price_key": {
"type": "string",
"enum": [
"pro_monthly",
"pro_annual"
]
},
"confirm": {
"type": "boolean",
"description": "Must be true. If false, the write is not performed."
}
},
"required": [
"price_key",
"confirm"
]
}
}open_billing_portalAction
Open the Stripe Customer Portal and return the hosted URL. Closed unless billing UI is enabled.
View tool JSON
{
"name": "open_billing_portal",
"kind": "act",
"impl": "imperative",
"description": "Open the Stripe Customer Portal and return the hosted URL. Closed unless billing UI is enabled.",
"inputSchema": {
"type": "object",
"additionalProperties": false,
"properties": {
"confirm": {
"type": "boolean",
"description": "Must be true. If false, the write is not performed."
}
},
"required": [
"confirm"
]
}
}