Type, values and units
Find products by specifications
Find catalog products by part type and unit-aware PIES attributes without requiring a vehicle.
Follow the implementation from request to evidence.
Every node corresponds to a real resolver, operation, validation boundary, or response surface in the current code.
01 inputSpecifications- validated evidence
02 getAutoCareSearchResultsCatalog candidatesAt most 200 scanned products
- validated evidence
03 outputQualified matchesMatches, unknowns and coverage
The exact arguments the MCP server accepts.
This schema is generated from the registered Python tool. Required fields, defaults, nested models, and constraints are not maintained by hand.
interactionInteractionContext | nulloptional
nullrequestAttributeSearchInputrequired
attribute_filtersAttributeFilter[]required
include_maximumbooleanoptional
trueinclude_minimumbooleanoptional
truemaximumnumber | nulloptional
nullminimumnumber | nulloptional
nullnamestringrequired
Catalog attribute name, resolved through PAdb evidence
operatoreq | approx | range | gt | gte | lt | lteoptional
"approx"7 allowed valuessource_textstring | nulloptional
Original customer wording; not catalog evidence
nulltolerancenumber | nulloptional
Relative tolerance for approximate equality only; default 0.01, disclosed in the result
nullunitstring | nulloptional
nullvaluestring | number | integer | nulloptional
nullbrandsstring[]optional
cursor_markstring | nulloptional
nullmax_resultsintegeroptional
50min 1max 50max_scannedintegeroptional
200min 1max 200pageinteger | nulloptional
nullpart_typestringrequired
{
"request": {
"part_type": "Engine Air Filter",
"attribute_filters": [
{
"name": "Height",
"value": 55,
"unit": "mm"
}
]
}
} Find air filters with attributes: Height 55 mmWhat each upstream call needs—and earns.
Conditional calls are labeled. Validation describes the exact rule that allows evidence to advance to the next stage.
getAutoCareSearchResultsResolve the category and retrieve a bounded product set.- Requires
- part_type · attribute_filters
- Produces
- parts · attribute_evaluation · continuation
- Validation
- Missing or incomparable data cannot establish a negative.
Every important branch has a named outcome.
These are response decisions in the implemented service—not possible future behavior.
Keep verified matches and disclose unknowns.
One shared schema, highlighted for this tool.
Bright fields are populated by this path. Dimmed fields remain part of CatalogResponse but are not a normal output of this tool.
statusResultStatusrequired
summarystringrequired
reason_codeReasonCode | null
queryobject
metadataobject
completenessCompleteness
next_cursorstring | nulloptional
nullnext_pageinteger | nulloptional
nullpages_fetchedintegeroptional
0paging_modenone | page | cursor | capped | unknownoptional
"none"5 allowed valuesreturnedintegeroptional
0source_end_reachedbooleanoptional
This response reached the known end of the source query, even when earlier pages were returned separately.
falsetotalinteger | nulloptional
nulltruncatedbooleanoptional
falsevehiclesVehicleIdentity[]
partsPartRecord[]
relationshipsRelationshipRecord[]
relationship_outcomeRelationshipOutcome | null
fitmentFitmentDecision | null
interchange_validationsInterchangeValidation[]
clarificationClarification | null
pending_clarificationsClarification[]
Every open clarification dimension in one round (clarification stays = the first). Ask them together instead of one round trip per dimension.
warningsstring[]
errorCatalogError | null
evidenceEvidenceRecord[]
- No vehicle fitment inference
- Missing values are unknown
- Continuation is bound to the filters
search_parts_by_attributespoc/opticat-mcp-v2/src/opticat_mcp_v2/expansion.pyattribute_evaluationpoc/opticat-mcp-v2/src/opticat_mcp_v2/policy.pymcpToolForPlanlib/mcp.tsWhat is known, and what could become possible.
Current gaps stay separate from product concepts so the visual never implies that an idea has already shipped.
- 01
Live attribute coverage and paging entitlement require validation
Add reviewed aliases without guessing attribute IDs.