diff --git a/kong/mcp/ai-mcp-proxy.yaml b/kong/mcp/ai-mcp-proxy.yaml index fe36bf4..569d0e7 100644 --- a/kong/mcp/ai-mcp-proxy.yaml +++ b/kong/mcp/ai-mcp-proxy.yaml @@ -72,25 +72,50 @@ config: required: true content: application/json: + # Mirrors ProductRequest in catalog-api/openapi.yaml. It has to: + # this schema is the only thing the caller sees, so anything it + # omits the caller cannot send. `productcode` was missing and is + # required by the API, which made this tool impossible to call + # successfully — every attempt came back + # {"productcode":["This field is required."]}, and a caller that + # tried to supply it anyway was rejected earlier still, here. schema: type: object properties: + productcode: + type: string + maxLength: 15 + description: Unique catalog identifier, e.g. S10_1949. Ask for it; do not invent one. productname: type: string + maxLength: 70 productline: type: string + description: Must be an existing product line, as returned by list-productlines. productscale: type: string + maxLength: 10 productvendor: type: string + maxLength: 50 productdescription: type: string quantityinstock: type: integer + minimum: -32768 + maximum: 32767 buyprice: type: string + description: Decimal as a string, at most two places, e.g. "50.00". msrp: type: string + description: Decimal as a string, at most two places, e.g. "99.00". required: + - productcode - productname - productline + - productscale + - productvendor + - productdescription + - buyprice + - msrp