Skip to main content
Glama
ducnmm

Support Workflow Lab

by ducnmm

save_response_draft

Idempotent

Draft customer replies with separate internal notes, citing required policy sources, and keep them pending human review before sending or approval.

Instructions

Write a customer reply DRAFT and separate internal notes. Requires current policy source IDs. Always pending_human_review. Limited validation is not a guarantee of accuracy. Does not send or approve anything.

Input Schema

NameRequiredDescriptionDefault
sourcesYes
ticket_idYes
customer_textYes
internal_notesYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.0

TDQS

A4/5.0
Behavior4/5

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

Goes well beyond the annotations by disclosing the human-review gate ('Always pending_human_review'), a validation caveat ('Limited validation is not a guarantee of accuracy'), and the absence of send/approve side effects. These are exactly the traits the readOnlyHint=false / destructiveHint=false pair can't convey. It doesn't say what happens on a duplicate ticket_id or how the returned draft is identified.

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?

Four short, front-loaded sentences with no filler; the write action leads and the constraints follow. The phrasing is telegraphic in places ('Limited validation is not a guarantee of accuracy' is slightly ambiguous about what was validated), which costs a point.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a 4-required-param write tool with no output schema, the description covers safety profile, review workflow, and the critical source-quality requirement. Gaps remain around return value (is there a draft ID?) and whether it overwrites a prior draft for the same ticket.

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?

With 0% schema description coverage, the description compensates by explaining that 'sources' must be current policy source IDs (not arbitrary strings, despite the plain string array in the schema) and that customer_text and internal_notes are distinct audiences. ticket_id is left to the pattern constraint in the schema.

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?

States a specific verb and resource ('Write a customer reply DRAFT and separate internal notes'), and the emphasis on DRAFT plus 'does not send' clearly separates it from any send/approve action. It doesn't explicitly name the distinguishing sibling (save_kb_draft), so differentiation is inferable rather than stated.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

'Requires current policy source IDs' and 'Always pending_human_review' establish the precondition and the lifecycle stage for calling it, and 'Does not send or approve anything' marks the boundary. No explicit when-not or named alternative tool is given, so it stops short of full routing guidance.

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