Skip to main content
Glama
satorntcg

satorntcg-mcp-server

Official
by satorntcg

print_packing_slip

Generate TCGplayer packing-slip PDFs for one or more order numbers and save them to a local folder for printing, with automatic format selection based on order total.

Instructions

Generate TCGplayer packing-slip PDF(s) for one or more order numbers by calling the Seller Portal's export API directly (bypasses the "Packing Slip" button, which stopped responding to automated clicks). Saves each PDF to a local packing-slips/ folder and returns its path — open or print that file yourself. If format is omitted, it's chosen automatically per order from tcgplayer_orders.order_total: orders below $20 print as "LeftWindowedEnvelope" (single #10 windowed envelope), orders at or above that print as "Default" (standard full-page). A mixed batch under auto mode is split into one export call per format, producing multiple PDFs. Pass format explicitly to force one format for every requested order instead. Requires TCGPLAYER_COOKIE in .env: a session cookie captured from a logged-in Seller Portal tab (DevTools → Network → any request → Copy as cURL → take the Cookie header value). That cookie expires/rotates periodically — a 401/403 here means it needs refreshing.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
formatNoOptional explicit override applied to every order in the request. "Default" is the standard full-page packing slip. "LeftWindowedEnvelope" is the Seller Portal's "Print #10 Left Window (Single)" option. Omit to auto-select per order by order_total (see tool description).
order_numbersYesOne or more order_number values, e.g. ["F0DFDDC3-36957C-6C74A"].

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.0

TDQS

A5/5.0
Behavior5/5

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 disclosure. It reveals that it calls an export API directly, saves PDFs locally, returns paths, requires a session cookie, and that the cookie expires (with 401/403 as a signal). It also explains the auto-format splitting behavior for mixed batches, making side effects and prerequisites explicit.

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 long but dense, with every sentence earning its place. It is front-loaded with the core purpose, then details format logic, cookie requirements, and error handling. The structure is logical and efficient, avoiding redundancy while covering all necessary aspects.

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 tool's complexity (format selection, multiple orders, cookie dependency), the description is remarkably complete. It explains the return value (path), the auto-format rules, the cookie acquisition and refresh, and the error indication. There is no output schema, so the description adequately covers what an agent needs to call it correctly.

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

Parameters5/5

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

Schema coverage is 100%, but the description adds significant meaning beyond the schema: it explains the auto-selection of format based on order_total, the meaning of each format enum value, and the behavior of mixed batches. This goes well beyond the schema's basic descriptions, providing the agent with decision-making context.

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 specific verb (generate), resource (packing-slip PDFs), and scope (for one or more order numbers). It distinguishes itself from sibling tools by being the only one that produces packing slips, and it explicitly mentions bypassing the Seller Portal button, which further clarifies its unique role.

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?

The description explains exactly when to use this tool (to generate packing slips) and provides the alternative (the Packing Slip button) that it replaces. It also details the auto-format selection logic and the cookie prerequisite, giving clear operational context without ambiguity.

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