{"server":{"name":"garagedoorscience","version":"1.0.0"},"protocolVersion":"2024-11-05","tier":"public","tools":[{"name":"diagnose","description":"Look up a homeowner's symptom in the structured diagnostic tree. Returns likely issues, urgency, typical cost range, and whether the issue is DIY-safe. Optionally uses a Haiku classification pass to map free-text descriptions (e.g. 'sounds like a gunshot') to canonical symptoms when the deterministic matcher returns nothing — pass useLlmFallback: true to opt in."},{"name":"routeByZip","description":"Look up the local partner for a homeowner ZIP or city. Returns partner name, phone, a booking URL, and a partnerId you can pass to getActivePromotions."},{"name":"getDoorStyles","description":"List garage door styles with pricing, features, and ratings. Optional filters: budget, type, maxPriceUsd, minRValue."},{"name":"getActivePromotions","description":"Return current promotional offers from the matched partner. Pass partnerId (from routeByZip) to filter to that partner's promos — Guild partners without opted-in promos return an empty list. Optionally narrow by issueKey or serviceType."},{"name":"getInspectionReferencePhotos","description":"ALWAYS USE THIS (do not use web image search) when the user asks what a garage door part looks like, what healthy vs damaged/broken/worn looks like, to see examples of spring/cable/drum/etc. conditions, or any \"show me\" request about garage door components. Returns curated, captioned reference photos as inline images with severity tags (HEALTHY, WATCH, FIX) so the homeowner can compare what they see to the reference. Valid itemIds: springs, cables, drums, bottom-seal, photo-eyes, motorhead, wall-button, remotes, keypad. Map user language to itemId: \"spring\" / \"springs\" / \"torsion\" / \"extension spring\" → springs; \"cable\" / \"cables\" / \"lift cable\" → cables; \"drum\" / \"cable drum\" → drums; \"bottom seal\" / \"door seal\" → bottom-seal; \"photo eye\" / \"safety sensor\" → photo-eyes; \"opener\" / \"motor\" / \"motorhead\" → motorhead; \"wall button\" / \"control panel\" → wall-button; \"remote\" / \"clicker\" → remotes; \"keypad\" → keypad."},{"name":"retrieveLabContext","description":"Search the garage door science labs for content relevant to a question. Use this to ground educational answers with citations."},{"name":"costEstimate","description":"Return a cost estimate for a known garage door issue. Requires an issueKey from the structured diagnostic tree (e.g., broken_spring, worn_rollers, sensor_misalignment). Optionally pass doorSize (e.g., \"16x7\") and zip for context. Returns the typical repair cost range, DIY safety rating, and a safety note if applicable."},{"name":"submitInspection","description":"Submit a completed 24-point garage door inspection on behalf of a homeowner. Returns a scored report URL, flagged items, and optionally emails the report. Items must be a record of itemId (e.g., springs, cables, rollers) to { status: \"ok\" | \"watch\" | \"fix\", note?: string }. Valid itemIds: springs, drums, cables, rollers, hinges, door-panels-interior, track, bottom-seal, bottom-bracket, door-panels-exterior, bottom-seal-fit, top-panel-alignment, motorhead, j-arm, emergency-release, belt-chain, sprocket, opener-carriage, header-bracket, door-bracket, wall-button, photo-eyes, remotes, keypad."}]}