Skip to main content
Glama

MTG Tools — Commander deck review and mana bases

Save a private collection plan to my account

save_collection_plan
Destructive

Create or update a private collection plan for the signed-in Landfiller account. Updates replace the saved inputs and require the current plan ID and revision.

Tool call template

Replace each placeholder with a value matching the input schema. Only required parameters are included; add optional parameters as needed.

{
  "id": 1,
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "arguments": {
      "name": "<name>",
      "input": "<input>"
    },
    "name": "save_collection_plan"
  }
}

Input Schema

NameRequiredDescriptionDefault
idNo
nameYes
inputYes
qaTestNoInternal QA only: set true when the user explicitly says this is our test run. Excludes the call from usage/revenue statistics. Omit for normal player requests.
revisionNo
searchContextNoOptional opaque context from a preceding card search for attributing a related request.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed1 schema field changed
    • changedInput schema / properties / searchContext / description
      Previous value: -"Return the opaque searchContext from the preceding card search when the user requests a follow-up. Never invent it or run follow-ups automatically."New value: +"Optional opaque context from a preceding card search for attributing a related request."
  2. Changed1 schema field changed
    • addedInput schema / properties / searchContext
      Added value: +{
      +  "description": "Return the opaque searchContext from the preceding card search when the user requests a follow-up. Never invent it or run follow-ups automatically.",
      +  "maxLength": 400,
      +  "type": "string"
      +}
  3. Added

TDQS

A3.6/5.0
Behavior4/5

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

The annotations already declare destructiveHint=true and idempotentHint=false, and the description earns additional credit by specifying exactly what is destroyed ("Updates replace the saved inputs") and the concurrency requirement (current plan ID plus revision). It stops short of saying what happens on a stale revision or whether a new ID is returned, but what it adds is genuinely beyond the annotation layer.

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

Conciseness4/5

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

Two sentences, no filler, with the mutating nature and account scope front-loaded before the update-specific rules. Nothing is redundant, though the second sentence could be tighter about which fields it is constraining.

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?

For a destructive write with a deeply nested payload and no output schema, the description covers identity, scope, and the update precondition but leaves the outcome unspecified — no mention of what is returned, how revision conflicts surface, or what happens to fields omitted on update. Adequate to attempt the call, incomplete for calling it safely in a retry or conflict scenario.

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?

At 33% schema coverage across six parameters with nested objects, the description compensates only partially: it explains the role of id and revision for updates, which the schema itself never marks required or contextualizes. It says nothing about name, input, qaTest, or searchContext, and none of the nested deck-level fields are touched.

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?

"Create or update a private collection plan" gives a specific verb pair and a specific resource, scoped to "the signed-in Landfiller account." That is enough to separate it from delete_collection_plan and list_collection_plans, though it never names the closest conceptual sibling (plan_collection) that also produces plan-shaped output.

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 supplies a real precondition for the update path — "require the current plan ID and revision" — which tells the agent when the update form of the call is valid. It gives no guidance on when to save versus when to compute a plan with plan_collection, nor what to do if the agent lacks a revision, so usage is implied rather than directed.

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

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources