Skip to main content
Glama

ShipMyCar Vehicle Logistics Quote Connector

Get quote requirements

quote_get_requirements
Read-onlyIdempotent

Use this when a ShipMyCar quote draft needs checking before generation. It only inspects the draft and returns route requirements, enabled services, missing fields, and next questions.

Input Schema

NameRequiredDescriptionDefault
draftYesCurrent MCP quote draft to inspect.

Output Schema

NameRequiredDescriptionDefault
draftYes
successYes
warningsYes
routeTypeYes
capabilityYes
missingFieldsYes
nextQuestionsYes
readyForQuoteYes
enabledRouteTypesYes
enabledServiceModulesYes
requiredServiceModulesYes

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": {
      +    "capability": {},
      +    "draft": {},
      +    "enabledRouteTypes": {
      +      "items": {
      +        "type": "string"
      +      },
      +      "type": "array"
      +    },
      +    "enabledServiceModules": {
      +      "items": {
      +        "type": "string"
      +      },
      +      "type": "array"
      +    },
      +    "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",
      +    "enabledRouteTypes",
      +    "enabledServiceModules"
      +  ],
      +  "type": "object"
      +}
  3. First observed

TDQS

A4/5.0
Behavior4/5

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

Annotations already declare readOnlyHint=true, idempotentHint=true, destructiveHint=false and openWorldHint=false, so the safety profile is covered. The description adds genuine context beyond that: this is a pre-generation checkpoint and it surfaces missing fields and follow-up questions. It does not mention auth requirements or limits, so not a 5.

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?

Two sentences, zero filler, and the usage trigger is front-loaded ahead of the behavioral detail. Every clause earns its place.

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, return values need not be detailed, yet the description helpfully names the kinds of results anyway. For a single-parameter inspection tool gated by strong read-only annotations, the definition is nearly complete; only the legacy string draft alternative is left entirely to the schema.

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% for the single required 'draft' parameter, which the schema itself describes as 'Current MCP quote draft to inspect.' The description adds no syntax, format, or fallback guidance (e.g. the legacy string/JSON option), so 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?

States a specific verb (inspects/checks) and resource (ShipMyCar quote draft) and enumerates what it returns: route requirements, enabled services, missing fields, next questions. The phrase 'before generation' and 'only inspects the draft' implicitly separates it from quote_generate and quote_update_draft, though neither sibling is named.

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 ShipMyCar quote draft needs checking before generation' gives a clear triggering condition. 'It only inspects the draft' signals the read-only alternative to quote_update_draft, but there is no explicit when-not or named alternative, so it falls short of a full 5.

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