Skip to main content
Glama

Harris Boat Works - Mercury Repower

submit_quote_lead

Submit a quote lead through the existing public quote API. Requires consent=true and a contact block with name and email. consent is explicit permission to store that contact with the calculated quote. This tool does not issue a consent receipt and does not change pricing, financing, or warranty. Confirm storage only from the returned lead_captured flag. Annotations are hints, not authorization.

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": {
      "consent": "<consent>",
      "contact": "<contact>"
    },
    "name": "submit_quote_lead"
  }
}

Input Schema

NameRequiredDescriptionDefault
familyNo
consentYes
contactYes
motor_idNo
trade_inNo
boat_infoNo
horsepowerNo
purchase_pathNo
financing_offer_idNo
customer_has_propellerNoTrue: reuse, subject to fit checks. False: include allowance. Omitted: reuse for same-HP Mercury trade, otherwise allowance. Standard propeller included below 25 HP.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Added
  2. Removed
  3. Added
  4. Removed
  5. Changed3 schema fields changed
    • addedInput schema / properties / customer_has_propeller / description
      Added value: +"True: reuse, subject to fit checks. False: include allowance. Omitted: reuse for same-HP Mercury trade, otherwise allowance. Standard propeller included below 25 HP."
    • addedInput schema / properties / trade_in / properties
      Added value: +{
      +  "brand": {
      +    "maxLength": 64,
      +    "type": "string"
      +  },
      +  "condition": {
      +    "default": "good",
      +    "enum": [
      +      "excellent",
      +      "good",
      +      "fair",
      +      "poor"
      +    ],
      +    "type": "string"
      +  },
      +  "engine_hours": {
      +    "maximum": 100000,
      +    "minimum": 0,
      +    "type": "number"
      +  },
      +  "engine_type": {
      +    "enum": [
      +      "4-stroke",
      +      "2-stroke",
      +      "optimax",
      +      "proxs",
      +      "etec"
      +    ],
      +    "type": "string"
      +  },
      +  "horsepower": {
      +    "description": "Required unless model infers a single HP.",
      +    "maximum": 1000,
      +    "minimum": 1,
      +    "type": "number"
      +  },
      +  "model": {
      +    "maxLength": 120,
      +    "type": "string"
      +  },
      +  "year": {
      +    "minimum": 1950,
      +    "type": "integer"
      +  }
      +}
    • addedInput schema / properties / trade_in / required
      Added value: +[
      +  "brand",
      +  "year"
      +]
  6. Added

TDQS

B3.4/5.0
Behavior4/5

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

Annotations already declare the safety profile (readOnlyHint=false, destructiveHint=false, idempotentHint=false, openWorldHint=false), and the description adds genuine behavioral context beyond them: no consent receipt is issued, pricing/financing/warranty are untouched, and storage must be confirmed from lead_captured rather than assumed. The closing 'annotations are hints, not authorization' also correctly warns the agent not to treat hints as permission.

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 action, then requirements, then scope exclusions, then the verification rule — a sensible order with no filler sentences. Dense but each sentence carries information; only the final 'Annotations are hints' line reads slightly like boilerplate.

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?

No output schema exists, but the description compensates by naming the lead_captured flag as the authoritative success signal, which is the key return-value fact. Against 10 parameters, nested objects, and a 10% coverage schema, however, the description is not complete enough for an agent to populate the quote-related fields correctly without guessing.

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

Parameters2/5

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

Schema description coverage is only 10% across 10 parameters with two nested objects, so the description carries the burden and largely fails to meet it. It does define consent substantively ('explicit permission to store that contact with the calculated quote') and restates the required contact fields, but family, motor_id, trade_in, boat_info, horsepower, purchase_path, and financing_offer_id get no meaning at all — including which of them affect the quote versus the lead record.

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+resource ('Submit a quote lead') and names the transport ('existing public quote API'), so the agent knows this is a lead-capture submission rather than a calculation. It implicitly separates itself from build_quote by declaring it 'does not change pricing, financing, or warranty', but never names the sibling it is meant to follow, so the differentiation is inferential rather than explicit.

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?

Gives hard prerequisites (consent=true, contact with name and email) and a post-call verification rule ('confirm storage only from the returned lead_captured flag'), which is real usage guidance. It stops short of saying when to call this instead of build_quote or how it relates to estimate_trade_in, so the routing decision is left implied.

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.