Skip to main content
Glama

Finalise a quote and get the customer link

finalise_quote

Lock a draft so the customer can answer it. Sets today's date and the valid-until date, and returns the customer link, the PDF link and a short ready-to-send message. Nothing is sent by this server: the trade sends the link by their own text, WhatsApp or email. Free allowance: 5 finalised quotes per calendar month (UK time) per trade, shown as free_allowance in the answer and in get_trade; past it the quote stays a saved draft and can be finalised from the 1st of next month. Drafts, revisions of quotes already sent, replies and exports never count.

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": {
      "trade_key": "<trade_key>",
      "quote": "<quote>"
    },
    "name": "finalise_quote"
  }
}

Input Schema

NameRequiredDescriptionDefault
quoteYesQuote number, for example BLE-0007.
trade_keyYesThe trade's secret key from setup_trade (starts qbk_).

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4.5/5.0
Behavior5/5

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

Goes well beyond the annotations: it discloses that the server sends nothing (the trade must send the link themselves), that it stamps today's date and the valid-until date, and critically the quota behaviour of 5 finalised quotes per calendar month with the consequence that the quote stays a draft past that limit until the 1st of next month. Non-idempotency from the annotations is indirectly supported by 'lock a draft', and the quota is exactly the kind of state-dependent risk an agent needs.

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?

Front-loaded with the core action, then outputs, then the no-send caveat, then the quota rules. Every sentence carries distinct operational information with no repetition of the title or schema.

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?

There is no output schema, yet the description enumerates the return payload (customer link, PDF link, message, free_allowance). It also covers the failure mode an agent would otherwise misread as an error: exceeding the allowance leaves a draft rather than failing outright.

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?

Schema coverage is 100% and both parameters are documented in the schema itself (quote number format, trade_key origin from setup_trade), so the baseline applies. The description adds nothing parameter-specific beyond referencing get_trade as a place to see free_allowance.

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 action ('Lock a draft so the customer can answer it') on a specific resource, and names the concrete outputs (customer link, PDF link, ready-to-send message). This clearly separates it from draft_quote and revise_quote, which operate on drafts rather than locking them for the customer.

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?

The 'so the customer can answer it' framing makes the trigger condition clear: use this once a draft is ready to go out. It also carves out scope by saying drafts, revisions of already-sent quotes, replies, and exports never count against the allowance, which implies those are other operations. It stops short of explicitly naming which sibling to call for those cases.

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.