Skip to main content
Glama

ShipMyCar Vehicle Logistics Quote Connector

Update quote draft

quote_update_draft
Read-onlyIdempotent

Use this when a user provides or corrects ShipMyCar quote details. It returns a stateless draft plus next questions and does not create records, send email, or contact ShipMyCar.

Input Schema

NameRequiredDescriptionDefault
draftNoCurrent MCP quote draft returned by a previous tool call.
patchYesNew quote details collected from the user.

Output Schema

NameRequiredDescriptionDefault
draftYes
successYes
warningsYes
routeTypeYes
capabilityYes
missingFieldsYes
nextQuestionsYes
readyForQuoteYes
requiredServiceModulesYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed2 schema fields 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"
      +  }
      +]
    • addedInput schema / properties / patch / 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": {
      +    "capability": {},
      +    "draft": {},
      +    "missingFields": {
      +      "items": {},
      +      "type": "array"
      +    },
      +    "nextQuestions": {
      +      "items": {
      +        "type": "string"
      +      },
      +      "type": "array"
      +    },
      +    "readyForQuote": {
      +      "type": "boolean"
      +    },
      +    "requiredServiceModules": {
      +      "items": {
      +        "type": "string"
      +      },
      +      "type": "array"
      +    },
      +    "routeType": {
      +      "type": "string"
      +    },
      +    "success": {
      +      "type": "boolean"
      +    },
      +    "warnings": {
      +      "items": {
      +        "type": "string"
      +      },
      +      "type": "array"
      +    }
      +  },
      +  "required": [
      +    "success",
      +    "draft",
      +    "routeType",
      +    "capability",
      +    "readyForQuote",
      +    "requiredServiceModules",
      +    "missingFields",
      +    "nextQuestions",
      +    "warnings"
      +  ],
      +  "type": "object"
      +}
  3. First observed

TDQS

A3.9/5.0
Behavior4/5

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

Annotations already declare readOnly, idempotent, non-destructive and closed-world, so the safety bar is low. The description adds real value beyond them: it discloses that the return is a stateless draft plus next questions, and that it does not create records, send email, or contact ShipMyCar—consistent with, and enriching, the declared hints.

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?

Two sentences, front-loaded with the usage trigger followed by the behavior/return statement; no filler. It is tight, though slightly terse on the merge behavior.

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?

With an output schema present and annotations covering the safety profile, the description need not restate return fields or read-only status. It supplies the essential invocation context (when to call, statelessness, no side effects), which is sufficient for a two-parameter draft tool.

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 and patch in detail. The description adds no parameter-level meaning (e.g., how patch merges into draft), so the baseline 3 applies.

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?

The description states a specific action—updating a quote draft when a user provides or corrects ShipMyCar quote details—and clarifies the output is a stateless draft plus next questions. It distinguishes itself functionally from a record-creating tool, though it never names the siblings quote_generate or 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?

'Use this when a user provides or corrects ShipMyCar quote details' gives a clear triggering context. It stops short of explicitly naming alternatives or when-not-to-use conditions, but the note that it does not create records implicitly routes creation work elsewhere.

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