Skip to main content
Glama
www-joyautomart-com

JOY Automart MCP Server

Official

Search car parts

search_parts
Read-onlyIdempotent

Find spare-part candidates in JOY's Bangladesh catalogue by part name, OEM reference, vehicle make, chassis, category, price, and stock status; use vehicle search for whole cars.

Instructions

Find spare-part candidates in JOY's Bangladesh catalogue; use search_vehicles for whole cars.

  • Build filters from the buyer's intent: query names the item or OEM reference; make/chassis identify its vehicle. For example, combine Toyota, NZE141 and 'brake pads'. If nothing matches, clarify item text/category before changing a known vehicle identity.

  • Ask whether the buyer needs stocked supply or human sourcing before choosing the stock/RFQ flags. A catalogue-only match is an enquiry candidate, not a confirmed offer. Keep the chosen filters fixed while paging.

  • Anonymous live read. Empty results are valid; an uninterpretable Bangla query returns an error. Read get_part for the selected part_id, then prepare_part_handoff after fitment review. Search does not reserve stock.

Input Schema

NameRequiredDescriptionDefault
makeNoVehicle manufacturer, e.g. Toyota; narrows part candidates alongside the query. Omit if unknown.
pageNoOne-based results page, 1 through 500; defaults to 1. Increment to retrieve the next page with the same filters.
queryNoPart name, OEM reference or vehicle words in English, Bangla or Banglish; e.g. 'Axio brake pads' or 'টয়োটা এক্সিও ব্রেক প্যাড'. Omit for filtered browsing; not a part_id lookup.
chassisNoVehicle chassis/model code, e.g. NZE141 or G05; not a full VIN. Narrows candidates and does not certify fitment.
categoryNoPublic category label from a catalogue result, e.g. Brakes. Omit if the category is unknown.
page_sizeNoMaximum results requested per page, 1 through 20; defaults to 10. total describes all matches, not this page's item count.
in_stock_onlyNoTrue requests currently in-stock candidates; false (default) permits other public availability states. This does not reserve stock.
max_price_bdtNoInclusive maximum retail asking price in Bangladesh taka (BDT), e.g. 5000 means ৳5,000; omit for no budget ceiling. Not lakh units and not a currency conversion.
include_rfq_catalogueNoTrue also includes catalogue-only templates requiring a human parts request; false (default) omits them. Inclusion does not make an item directly purchasable.

Output Schema

NameRequiredDescriptionDefault

No arguments

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed1 schema field changedv1.0.2
    • changedOutput schema / (root)
      Previous value: -nullNew value: +{
      +  "$defs": {
      +    "classification": {
      +      "additionalProperties": false,
      +      "properties": {
      +        "classification_status": {
      +          "type": "string"
      +        },
      +        "installation_type": {
      +          "type": "string"
      +        },
      +        "product_type": {
      +          "type": "string"
      +        },
      +        "universal_accessory": {
      +          "type": "boolean"
      +        },
      +        "universal_constraints_verified": {
      +          "type": "boolean"
      +        },
      +        "universal_search_eligible": {
      +          "type": "boolean"
      +        },
      +        "vehicle_specific": {
      +          "type": "boolean"
      +        }
      +      },
      +      "required": [],
      +      "type": "object"
      +    },
      +    "constraints": {
      +      "additionalProperties": false,
      +      "properties": {
      +        "constraint_type": {
      +          "type": "string"
      +        },
      +        "required_fields": {
      +          "items": {
      +            "type": "string"
      +          },
      +          "maxItems": 16,
      +          "type": "array"
      +        },
      +        "status": {
      +          "type": "string"
      +        },
      +        "verified": {
      +          "type": "boolean"
      +        }
      +      },
      +      "required": [],
      +      "type": "object"
      +    },
      +    "error": {
      +      "additionalProperties": false,
      +      "properties": {
      +        "error": {
      +          "minLength": 1,
      +          "type": "string"
      +        }
      +      },
      +      "required": [
      +        "error"
      +      ],
      +      "type": "object"
      +    },
      +    "fitment": {
      +      "additionalProperties": false,
      +      "properties": {
      +        "chassis_code": {
      +          "type": "string"
      +        },
      +        "engine": {
      +          "type": "string"
      +        },
      +        "engine_codes": {
      +          "items": {
      +            "type": "string"
      +          },
      +          "maxItems": 16,
      +          "type": "array"
      +        },
      +        "fitment_confidence": {
      +          "type": "string"
      +        },
      +        "jdm_chassis_codes": {
      +          "items": {
      +            "type": "string"
      +          },
      +          "maxItems": 16,
      +          "type": "array"
      +        },
      +        "make": {
      +          "type": "string"
      +        },
      +        "model": {
      +          "type": "string"
      +        },
      +        "year_from": {
      +          "type": "integer"
      +        },
      +        "year_to": {
      +          "type": "integer"
      +        },
      +        "years": {
      +          "items": {
      +            "type": "integer"
      +          },
      +          "maxItems": 200,
      +          "type": "array"
      +        }
      +      },
      +      "required": [],
      +      "type": "object"
      +    },
      +    "hardware": {
      +      "additionalProperties": false,
      +      "properties": {
      +        "application_note": {
      +          "type": "string"
      +        },
      +        "fitment_policy": {
      +          "type": "string"
      +        }
      +      },
      +      "required": [],
      +      "type": "object"
      +    },
      +    "part": {
      +      "additionalProperties": false,
      +      "properties": {
      +        "availability": {
      +          "type": [
      +            "string",
      +            "null"
      +          ]
      +        },
      +        "category": {
      +          "type": [
      +            "string",
      +            "null"
      +          ]
      +        },
      +        "compatibility_constraints": {
      +          "anyOf": [
      +            {
      +              "$ref": "#/$defs/constraints"
      +            },
      +            {
      +              "type": "null"
      +            }
      +          ]
      +        },
      +        "fitment_candidates": {
      +          "items": {
      +            "$ref": "#/$defs/fitment"
      +          },
      +          "maxItems": 8,
      +          "type": "array"
      +        },
      +        "hardware_specifications": {
      +          "anyOf": [
      +            {
      +              "$ref": "#/$defs/hardware"
      +            },
      +            {
      +              "type": "null"
      +            }
      +          ]
      +        },
      +        "minimum_order_quantity": {
      +          "type": [
      +            "number",
      +            "null"
      +          ]
      +        },
      +        "name": {
      +          "type": [
      +            "string",
      +            "null"
      +          ]
      +        },
      +        "oem_number": {
      +          "type": [
      +            "string",
      +            "null"
      +          ]
      +        },
      +        "oem_reference_status": {
      +          "type": [
      +            "string",
      +            "null"
      +          ]
      +        },
      +        "part_id": {
      +          "maxLength": 120,
      +          "minLength": 1,
      +          "type": "string"
      +        },
      +        "price_bdt": {
      +          "type": [
      +            "number",
      +            "null"
      +          ]
      +        },
      +        "price_label": {
      +          "type": [
      +            "string",
      +            "null"
      +          ]
      +        },
      +        "product_characteristics": {
      +          "anyOf": [
      +            {
      +              "$ref": "#/$defs/classification"
      +            },
      +            {
      +              "type": "null"
      +            }
      +          ]
      +        },
      +        "sellable": {
      +          "type": [
      +            "boolean",
      +            "null"
      +          ]
      +        },
      +        "stock_on_hand": {
      +          "type": [
      +            "number",
      +            "null"
      +          ]
      +        },
      +        "suppression_reason": {
      +          "type": [
      +            "string",
      +            "null"
      +          ]
      +        },
      +        "url": {
      +          "type": [
      +            "string",
      +            "null"
      +          ]
      +        }
      +      },
      +      "required": [
      +        "part_id",
      +        "name",
      +        "oem_number",
      +        "category",
      +        "price_bdt",
      +        "price_label",
      +        "availability",
      +        "stock_on_hand",
      +        "minimum_order_quantity",
      +        "sellable",
      +        "fitment_candidates",
      +        "url",
      +        "oem_reference_status",
      +        "suppression_reason",
      +        "compatibility_constraints",
      +        "hardware_specifications",
      +        "product_characteristics"
      +      ],
      +      "type": "object"
      +    }
      +  },
      +  "oneOf": [
      +    {
      +      "additionalProperties": false,
      +      "properties": {
      +        "currency": {
      +          "const": "BDT",
      +          "type": "string"
      +        },
      +        "fitment_notice": {
      +          "type": "string"
      +        },
      +        "items": {
      +          "items": {
      +            "$ref": "#/$defs/part"
      +          },
      +          "maxItems": 20,
      +          "type": "array"
      +        },
      +        "page": {
      +          "maximum": 500,
      +          "minimum": 1,
      +          "type": "integer"
      +        },
      +        "page_size": {
      +          "maximum": 20,
      +          "minimum": 1,
      +          "type": "integer"
      +        },
      +        "query_interpreted_as": {
      +          "type": "string"
      +        },
      +        "total": {
      +          "minimum": 0,
      +          "type": "integer"
      +        }
      +      },
      +      "required": [
      +        "total",
      +        "page",
      +        "page_size",
      +        "currency",
      +        "items",
      +        "fitment_notice"
      +      ],
      +      "type": "object"
      +    },
      +    {
      +      "$ref": "#/$defs/error"
      +    }
      +  ],
      +  "type": "object"
      +}
  2. Changed10 schema fields changedv1.0.1
    • addedInput schema / properties / category / description
      Added value: +"Public category label from a catalogue result, e.g. Brakes. Omit if the category is unknown."
    • changedInput schema / properties / chassis / description
      Previous value: -"Chassis code, e.g. NZE141 or G05."New value: +"Vehicle chassis/model code, e.g. NZE141 or G05; not a full VIN. Narrows candidates and does not certify fitment."
    • addedInput schema / properties / in_stock_only / description
      Added value: +"True requests currently in-stock candidates; false (default) permits other public availability states. This does not reserve stock."
    • changedInput schema / properties / include_rfq_catalogue / description
      Previous value: -"Include catalogue-only templates available through a parts request (RFQ)."New value: +"True also includes catalogue-only templates requiring a human parts request; false (default) omits them. Inclusion does not make an item directly purchasable."
    • changedInput schema / properties / make / description
      Previous value: -"Vehicle make, e.g. Toyota."New value: +"Vehicle manufacturer, e.g. Toyota; narrows part candidates alongside the query. Omit if unknown."
    • addedInput schema / properties / max_price_bdt / description
      Added value: +"Inclusive maximum retail asking price in Bangladesh taka (BDT), e.g. 5000 means ৳5,000; omit for no budget ceiling. Not lakh units and not a currency conversion."
    • addedInput schema / properties / page / description
      Added value: +"One-based results page, 1 through 500; defaults to 1. Increment to retrieve the next page with the same filters."
    • addedInput schema / properties / page / maximum
      Added value: +500
    • addedInput schema / properties / page_size / description
      Added value: +"Maximum results requested per page, 1 through 20; defaults to 10. total describes all matches, not this page's item count."
    • changedInput schema / properties / query / description
      Previous value: -"Part name, OEM number or vehicle, in English or Bangla."New value: +"Part name, OEM reference or vehicle words in English, Bangla or Banglish; e.g. 'Axio brake pads' or 'টয়োটা এক্সিও ব্রেক প্যাড'. Omit for filtered browsing; not a part_id lookup."
  3. First observedv1.0.0

TDQS

A4.8/5.0
Behavior5/5

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

Beyond the readOnly/idempotent annotations, it discloses that this is an anonymous live read, that empty results are valid, that an uninterpretable Bangla query returns an error, that catalogue-only matches are enquiry candidates rather than confirmed offers, and that search does not reserve stock. These are exactly the non-obvious traits an agent needs before calling.

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 one-line purpose and correctly bulleted by concern (filter building, flags, behavior/chain), with no filler. Slightly long and mixes operational imperatives addressed to the agent ('Ask whether the buyer needs...') into what is otherwise crisp reference text.

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?

For a 9-parameter, entirely optional search tool with full schema coverage, an output schema, and annotations, the description covers the remaining gaps: identity of the data source, language handling, error mode, result semantics, and downstream tool chaining. Nothing an agent needs to call it correctly is missing.

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

Parameters4/5

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

Schema coverage is already 100%, so the baseline is 3; the description adds genuine meaning by explaining how query vs make/chassis compose ('query names the item or OEM reference; make/chassis identify its vehicle') and by giving a decision rule for the stock/RFQ flags plus 'keep the chosen filters fixed while paging'. It stops short of covering every parameter (e.g. max_price_bdt, page_size semantics are left entirely to the schema).

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?

'Find spare-part candidates in JOY's Bangladesh catalogue' is a specific verb+resource with scope, and it immediately distinguishes itself from search_vehicles ('use search_vehicles for whole cars'). An agent knows exactly which of the two search tools to pick without opening a schema.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicit when-to-use (part vs whole vehicle), how to compose filters from buyer intent (make/chassis/query example: Toyota + NZE141 + 'brake pads'), a fallback rule when nothing matches, a decision point for stock vs RFQ flags, and a follow-on chain (get_part → prepare_part_handoff). Alternatives and exclusions are named rather than implied.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.