Skip to main content
Glama

Printdash

Approve a Team order (asks first)

approve_order
Destructive

For a Team owner: prepares approving one held order (from list_pending_approvals) and returns the summary to show the customer and a confirmation_token. Nothing is decided until confirm is called after they agree. Approving an on-account order sends it to production; approving a card order makes it payable by any member. A member who is not an owner cannot approve. Needs a signed-in Printdash account: called without one, the connection asks the customer to sign in on printdash.io.

Input Schema

NameRequiredDescriptionDefault
orderYesThe order number (or the order id from its link).

Output Schema

NameRequiredDescriptionDefault
nextYes
actionYes
detailsYes
summaryYesShow this to the customer exactly as written before confirming.
expires_atYes
confirmation_tokenYes
confirmation_requiredYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4.4/5.0
Behavior3/5

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

Annotations already declare destructiveHint=true, openWorldHint=true and non-idempotence, and the description adds real context beyond them: role gating, the sign-in requirement with the on-the-spot auth prompt, and the differing downstream effects for on-account vs card orders. However, it does not reconcile the destructiveHint=true annotation with its own claim that 'nothing is decided' at this step, leaving ambiguity about whether this call alone mutates anything.

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?

Front-loaded with the actor and the action ('For a Team owner: prepares approving...'), and every clause carries information. The single dense paragraph mixes audience, mechanics, side effects and auth, which is a lot for one block but nothing is genuinely wasted.

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?

For a one-parameter, output-schema-backed preparation step, an agent has everything needed: who may call it, where the order identifier comes from, the auth behavior, and what happens on confirm. Return values are covered by the output schema and briefly previewed in the description.

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

Parameters4/5

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

Schema coverage is 100% for the single 'order' parameter, so the baseline is 4. The description only adds that the identifier should come from list_pending_approvals, which is a useful pointer but not new syntax or format detail.

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?

States a specific verb and resource ('prepares approving one held order') plus the two artifacts it returns (summary, confirmation_token). It also names the source sibling (list_pending_approvals) and the completing sibling (confirm), so an agent can distinguish it from reject_order and confirm without opening any schema.

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?

Explicit preconditions and exclusions: Team owner role required, order must come from list_pending_approvals, and 'Nothing is decided until confirm is called after they agree' defines the hand-off to confirm. It also names a when-not case ('A member who is not an owner cannot approve').

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