[{"slug":"ZV-2026-0025","server_name":"mcp.totalparks.com.au","severity":"breaking","title":"mcp.totalparks.com.au: Field title was removed from tp_render_result_cards output; consumers reading it will break.","summary":"[breaking] Field title was removed from tp_render_result_cards output; consumers reading it will break. [breaking] Field groups was removed from tp_render_result_cards output; consumers reading it will break. [breaking] Field layout was removed from tp_render_result_cards output; consumers reading it will break. [breaking] Field caveats was removed from tp_render_result_cards output; consumers reading it will break. [breaking] Field warnings was removed from tp_render_result_cards output; consumers reading it will break. [breaking] Field contract_version was removed from tp_render_result_cards output; consumers reading it will break. [safe] Resource ui://total-parks/result-cards.v3.html was added.","changes":[{"kind":"output_property_removed","path":"outputSchema.properties.title","tool":"tp_render_result_cards","before":{"anyOf":[{"type":"string","maxLength":200},{"type":"null"}],"default":null},"detail":"Field `title` was removed from `tp_render_result_cards` output; consumers reading it will break.","severity":"breaking"},{"kind":"output_property_removed","path":"outputSchema.properties.groups","tool":"tp_render_result_cards","before":{"type":"array","items":{"type":"object","required":["key","label"],"properties":{"key":{"type":"string","maxLength":80,"minLength":1},"cards":{"type":"array","items":{"type":"object","required":["card_id","source","title","primary_cta"],"properties":{"tier":{"anyOf":[{"enum":["bookable","likely","discovery"],"type":"string"},{"type":"null"}],"default":null},"price":{"anyOf":[{"type":"object","required":["amount_text","stay_kind"],"properties":{"caveat":{"anyOf":[{"type":"string","maxLength":500},{"type":"null"}],"default":null,"description":"Optional price recheck caveat to preserve search trust copy."},"suffix":{"type":"string","default":"/night","maxLength":40},"qualifier":{"type":"string","default":"from","maxLength":40},"stay_kind":{"enum":["site","accommodation"],"type":"string"},"amount_text":{"type":"string","maxLength":40,"minLength":1,"description":"Formatted hero price amount, e.g. '$58'."}}},{"type":"null"}],"default":null},"title":{"type":"string","maxLength":200,"minLength":1,"description":"Primary card title."},"badges":{"type":"array","items":{"type":"object","required":["code","label"],"properties":{"code":{"type":"string","maxLength":80,"minLength":1,"description":"Stable badge code for host widgets, e.g. instant_book."},"tone":{"enum":["neutral","success","warning","muted"],"type":"string","default":"neutral"},"label":{"type":"string","maxLength":80,"minLength":1,"description":"Short traveller-facing badge label."}}}},"rating":{"anyOf":[{"type":"object","required":["value","label"],"properties":{"label":{"type":"string","maxLength":80,"minLength":1,"description":"Formatted compact rating label, e.g. '4.7 (128)'."},"value":{"type":"number","maximum":5,"minimum":0,"description":"Star rating value."},"review_count":{"anyOf":[{"type":"integer","minimum":0},{"type":"null"}],"default":null}}},{"type":"null"}],"default":null},"source":{"enum":["search_candidate","assess_stay_option"],"type":"string","description":"Source payload type used to build the card."},"card_id":{"type":"string","minLength":1,"description":"Stable per-card key suitable for widget rendering."},"caveats":{"type":"array","items":{"type":"string"},"description":"Trust caveats that must remain visible near the card."},"subtitle":{"anyOf":[{"type":"string","maxLength":200},{"type":"null"}],"default":null,"description":"Optional second-line card label."},"image_alt":{"type":"string","default":"Holiday park","maxLength":200,"description":"Fallback alt text for card images."},"confidence":{"anyOf":[{"enum":["confirmed","inferred"],"type":"string"},{"type":"null"}],"default":null},"image_urls":{"type":"array","items":{"type":"string"},"description":"Approved public image URLs in display order."},"tier_label":{"anyOf":[{"type":"string","maxLength":80},{"type":"null"}],"default":null},"primary_cta":{"type":"object","required":["label","url"],"properties":{"url":{"type":"string"},"kind":{"enum":["primary","secondary"],"type":"string","default":"primary"},"label":{"type":"string"},"tool_hint":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null,"description":"Optional MCP tool name that should usually precede this CTA."}}},"availability":{"anyOf":[{"type":"object","required":["label","tone"],"properties":{"tone":{"enum":["available","limited","unavailable"],"type":"string","description":"Presentation tone for the availability pill."},"label":{"type":"string","maxLength":120,"minLength":1,"description":"Traveller-facing availability phrase."}}},{"type":"null"}],"default":null},"property_ref":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null,"description":"Public property reference accepted by MCP tools."},"room_type_ref":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null,"description":"Public room/site reference accepted by MCP tools."},"location_label":{"anyOf":[{"type":"string","maxLength":200},{"type":"null"}],"default":null,"description":"Compact traveller-facing location label."},"matched_labels":{"type":"array","items":{"type":"string"},"description":"Short match labels safe to render under or beside the card."},"secondary_ctas":{"type":"array","items":{"type":"object","required":["label","url"],"properties":{"url":{"type":"string"},"kind":{"enum":["primary","secondary"],"type":"string","default":"primary"},"label":{"type":"string"},"tool_hint":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null,"description":"Optional MCP tool name that should usually precede this CTA."}}}}},"description":"Host-agnostic card contract for MCP Apps result widgets."}},"label":{"type":"string","maxLength":120,"minLength":1},"layout":{"anyOf":[{"enum":["carousel","grid","compact"],"type":"string"},{"type":"null"}],"default":null,"description":"Optional group-specific layout. When omitted, the card list's top-level layout applies."},"description":{"anyOf":[{"type":"string","maxLength":300},{"type":"null"}],"default":null}}}},"detail":"Field `groups` was removed from `tp_render_result_cards` output; consumers reading it will break.","severity":"breaking"},{"kind":"output_property_removed","path":"outputSchema.properties.layout","tool":"tp_render_result_cards","before":{"enum":["carousel","grid"],"type":"string","default":"carousel","description":"How a visual host should arrange the groups. 'carousel' peeks a horizontal scroll row (multi-park search); 'grid' wraps every card into view (single-park stay assessments) so no option is hidden."},"detail":"Field `layout` was removed from `tp_render_result_cards` output; consumers reading it will break.","severity":"breaking"},{"kind":"output_property_removed","path":"outputSchema.properties.caveats","tool":"tp_render_result_cards","before":{"type":"array","items":{"type":"string"}},"detail":"Field `caveats` was removed from `tp_render_result_cards` output; consumers reading it will break.","severity":"breaking"},{"kind":"output_property_removed","path":"outputSchema.properties.warnings","tool":"tp_render_result_cards","before":{"type":"array","items":{"type":"string"}},"detail":"Field `warnings` was removed from `tp_render_result_cards` output; consumers reading it will break.","severity":"breaking"},{"kind":"output_property_removed","path":"outputSchema.properties.contract_version","tool":"tp_render_result_cards","before":{"type":"string","const":"mcp_cards.v1","default":"mcp_cards.v1"},"detail":"Field `contract_version` was removed from `tp_render_result_cards` output; consumers reading it will break.","severity":"breaking"},{"kind":"resource_added","tool":"ui://total-parks/result-cards.v3.html","after":"ui://total-parks/result-cards.v3.html","detail":"Resource `ui://total-parks/result-cards.v3.html` was added.","severity":"safe"}],"published_at":"2026-08-14T00:01:27.751Z"}]