Skip to main content
Glama

ShipMyCar Vehicle Logistics Quote Connector

Generate quote

quote_generate

Use this after the user explicitly confirms a complete ShipMyCar quote draft. Quotes UK domestic transport or EU/international imports to the UK with transport and HMRC estimates only. VIN, DVLA/IVA and exports are disabled. It calculates pricing, writes a private quote continuation/API usage record, and returns a continueQuoteUrl. It does not send email or create a public booking.

Input Schema

NameRequiredDescriptionDefault
draftYesComplete MCP quote draft.
confirmYesMust be true to generate the quote.
contactConsentNoSet true only when the user consents to storing supplied contact details in the continuation payload.

Output Schema

NameRequiredDescriptionDefault
codeNo
draftYes
quoteNo
statusNo
detailsNo
messageNo
successYes
requirementsNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed1 schema field changed
    • addedInput schema / properties / draft / anyOf
      Added value: +[
      +  {
      +    "additionalProperties": {},
      +    "properties": {
      +      "collection": {
      +        "anyOf": [
      +          {
      +            "additionalProperties": {},
      +            "properties": {
      +              "address": {
      +                "description": "Collection or delivery address, town or postcode.",
      +                "type": "string"
      +              },
      +              "city": {
      +                "type": "string"
      +              },
      +              "country": {
      +                "description": "Country name, for example United Kingdom.",
      +                "type": "string"
      +              },
      +              "countryCode": {
      +                "description": "Two-letter country code, for example GB.",
      +                "type": "string"
      +              },
      +              "postcode": {
      +                "type": "string"
      +              },
      +              "region": {
      +                "type": "string"
      +              }
      +            },
      +            "type": "object"
      +          },
      +          {
      +            "description": "Address including country, for example London, United Kingdom.",
      +            "type": "string"
      +          }
      +        ]
      +      },
      +      "contact": {
      +        "additionalProperties": {},
      +        "description": "Optional. Store these details only with contactConsent on quote_generate.",
      +        "properties": {
      +          "email": {
      +            "type": "string"
      +          },
      +          "firstName": {
      +            "type": "string"
      +          },
      +          "lastName": {
      +            "type": "string"
      +          },
      +          "phone": {
      +            "type": "string"
      +          }
      +        },
      +        "type": "object"
      +      },
      +      "delivery": {
      +        "anyOf": [
      +          {
      +            "additionalProperties": {},
      +            "properties": {
      +              "address": {
      +                "description": "Collection or delivery address, town or postcode.",
      +                "type": "string"
      +              },
      +              "city": {
      +                "type": "string"
      +              },
      +              "country": {
      +                "description": "Country name, for example United Kingdom.",
      +                "type": "string"
      +              },
      +              "countryCode": {
      +                "description": "Two-letter country code, for example GB.",
      +                "type": "string"
      +              },
      +              "postcode": {
      +                "type": "string"
      +              },
      +              "region": {
      +                "type": "string"
      +              }
      +            },
      +            "type": "object"
      +          },
      +          {
      +            "description": "Address including country, for example London, United Kingdom.",
      +            "type": "string"
      +          }
      +        ]
      +      },
      +      "destinationCostDetails": {
      +        "additionalProperties": {},
      +        "properties": {
      +          "hmrcDetails": {
      +            "additionalProperties": {},
      +            "description": "HMRC estimate answers. Prefer booleans for yes/no questions and ask the user when unknown; never assume relief eligibility.",
      +            "properties": {
      +              "hasEuExporterNumber": {
      +                "description": "Can the seller supply the required EU Registered Exporter Number?",
      +                "type": [
      +                  "boolean",
      +                  "string",
      +                  "number",
      +                  "null"
      +                ]
      +              },
      +              "hasEuStatementOnOrigin": {
      +                "description": "Can the seller supply a Statement on Origin proving EU manufacture?",
      +                "type": [
      +                  "boolean",
      +                  "string",
      +                  "number",
      +                  "null"
      +                ]
      +              },
      +              "hasJapanCorporateNumber": {
      +                "description": "Can the seller supply their 13-digit Japan Corporate Number?",
      +                "type": [
      +                  "boolean",
      +                  "string",
      +                  "number",
      +                  "null"
      +                ]
      +              },
      +              "hasJapanStatementOnOrigin": {
      +                "description": "Can the seller supply a Japanese Statement on Origin?",
      +                "type": [
      +                  "boolean",
      +                  "string",
      +                  "number",
      +                  "null"
      +                ]
      +              },
      +              "importDuration": {
      +                "description": "temporary or permanent",
      +                "type": "string"
      +              },
      +              "importPurpose": {
      +                "description": "personal or commercial",
      +                "type": "string"
      +              },
      +              "importReason": {
      +                "description": "Personal: personal-use, moving-to-uk, gift, inheritance or returning. Commercial: vat-registered or not-vat-registered. Purchase and relocation aliases are accepted.",
      +                "type": "string"
      +              },
      +              "isBuiltInJapan": {
      +                "description": "Was the vehicle manufactured in Japan? Ask when required by quote_get_requirements.",
      +                "type": [
      +                  "boolean",
      +                  "string",
      +                  "number",
      +                  "null"
      +                ]
      +              },
      +              "isReturningVehicle": {
      +                "description": "For returning vehicles: was it UK registered before export?",
      +                "type": [
      +                  "boolean",
      +                  "string",
      +                  "number",
      +                  "null"
      +                ]
      +              },
      +              "livedOutsideUk12Months": {
      +                "description": "For moving-to-uk: has the importer lived outside the UK for at least 12 months?",
      +                "type": [
      +                  "boolean",
      +                  "string",
      +                  "number",
      +                  "null"
      +                ]
      +              },
      +              "ownedCar6Months": {
      +                "description": "For moving-to-uk: has the importer owned and used the vehicle abroad for at least 6 months?",
      +                "type": [
      +                  "boolean",
      +                  "string",
      +                  "number",
      +                  "null"
      +                ]
      +              },
      +              "previouslyRegisteredInUk": {
      +                "description": "For returning vehicles previously UK registered: did the importer own it at export and continuously while abroad?",
      +                "type": [
      +                  "boolean",
      +                  "string",
      +                  "number",
      +                  "null"
      +                ]
      +              },
      +              "registrationCountry": {
      +                "description": "Country where the vehicle is currently registered. Required even if collection country is known.",
      +                "type": "string"
      +              }
      +            },
      +            "type": "object"
      +          }
      +        },
      +        "type": "object"
      +      },
      +      "options": {
      +        "additionalProperties": {},
      +        "properties": {
      +          "includeDestinationImportTaxes": {
      +            "description": "Always enabled for UK imports; domestic quotes cover transport only.",
      +            "type": "boolean"
      +          },
      +          "targetCurrency": {
      +            "description": "Currency for the quote, normally GBP.",
      +            "type": "string"
      +          }
      +        },
      +        "type": "object"
      +      },
      +      "partnerReference": {
      +        "type": "string"
      +      },
      +      "transport": {
      +        "additionalProperties": {},
      +        "properties": {
      +          "nonRunner": {
      +            "description": "True if the vehicle cannot be driven.",
      +            "type": "boolean"
      +          },
      +          "shippingMethod": {
      +            "description": "open or enclosed; open is the default.",
      +            "type": "string"
      +          }
      +        },
      +        "type": "object"
      +      },
      +      "vehicle": {
      +        "additionalProperties": {},
      +        "description": "Manual vehicle details. VINs are ignored and never sent for lookup.",
      +        "properties": {
      +          "currency": {
      +            "description": "Currency of the actual vehicle value, for example EUR, USD, JPY or GBP. Required for imports.",
      +            "type": "string"
      +          },
      +          "engineSize": {
      +            "type": [
      +              "number",
      +              "string"
      +            ]
      +          },
      +          "fuelType": {
      +            "type": "string"
      +          },
      +          "make": {
      +            "type": "string"
      +          },
      +          "model": {
      +            "type": "string"
      +          },
      +          "shippingSizeId": {
      +            "description": "Known shipping size identifier, if available. Supply year, make and model manually; VIN lookups are disabled.",
      +            "type": [
      +              "number",
      +              "string"
      +            ]
      +          },
      +          "value": {
      +            "description": "Actual purchase or current market value, required for every import to the UK. UK domestic quotes may use an approximate value or valueBand.",
      +            "type": [
      +              "number",
      +              "string"
      +            ]
      +          },
      +          "valueBand": {
      +            "description": "UK-to-UK alternative to value: 0-10000, 10001-50000, 50001-100000, 100001-500000 or 500000-plus, in GBP.",
      +            "type": "string"
      +          },
      +          "vehicleType": {
      +            "type": "string"
      +          },
      +          "year": {
      +            "type": [
      +              "number",
      +              "string"
      +            ]
      +          }
      +        },
      +        "type": "object"
      +      }
      +    },
      +    "type": "object"
      +  },
      +  {
      +    "description": "Legacy natural-language quote details or a JSON-encoded draft. Prefer the object format.",
      +    "type": "string"
      +  }
      +]
  2. Changed1 schema field changed
    • changedOutput schema / (root)
      Previous value: -nullNew value: +{
      +  "$schema": "http://json-schema.org/draft-07/schema#",
      +  "additionalProperties": false,
      +  "properties": {
      +    "code": {
      +      "type": "string"
      +    },
      +    "details": {},
      +    "draft": {},
      +    "message": {
      +      "type": "string"
      +    },
      +    "quote": {},
      +    "requirements": {},
      +    "status": {
      +      "type": "number"
      +    },
      +    "success": {
      +      "type": "boolean"
      +    }
      +  },
      +  "required": [
      +    "success",
      +    "draft"
      +  ],
      +  "type": "object"
      +}
  3. First observed

TDQS

A4.1/5.0
Behavior4/5

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

Annotations already declare readOnlyHint=false and openWorldHint=true. The description goes further, disclosing that it calculates pricing, writes a private quote continuation/API usage record, returns a continueQuoteUrl, and does NOT send email or create a public booking. That negative-disclosure and side-effect detail adds real value beyond annotations, though it omits auth/permission requirements.

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 usage directive, then scope, then side effects. Dense but every sentence contributes; no filler. Slightly long but justified by the exclusion set.

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?

An output schema exists, so return-value details are handled structurally. The description covers scope, preconditions, side effects, and disabled features, leaving only permission/auth behavior unstated. Complete enough for an agent to call correctly.

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 description coverage is 100%, so the schema already documents draft, confirm, and contactConsent in detail. The description reinforces the confirmation concept ('after the user explicitly confirms') but adds no new per-parameter semantics. Baseline 3 applies when the schema carries the load.

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 (generate a quote) and immediately scopes it to UK domestic transport or EU/international imports with transport and HMRC estimates only. It explicitly lists disabled capabilities (VIN, DVLA/IVA, exports) and states what it does not do (email, public booking), so it is clearly distinguishable from quote_update_draft and quote_get_requirements.

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 opening clause gives an explicit trigger condition: 'Use this after the user explicitly confirms a complete ShipMyCar quote draft.' This sequences it relative to its siblings. It lacks a named when-not/alternative statement, but the precondition and exclusions make usage clear.

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