{"serverId":"mcp-registry/com.metalroofcostcalculator/site","tools":[{"name":"calculate","fixed":{"name":"calculate","description":"Run the Metal roof cost calculator calculator: Actual roof area; Roofing squares (100 sq ft each); Panel area to order, including waste; Installed rate used, per sq ft. Missing inputs fall back to their documented defaults.","inputSchema":{"type":"object","$schema":"http://json-schema.org/draft-07/schema#","properties":{"rate":{"type":"number","default":0,"maximum":60,"minimum":0,"description":"Your own installed price per sq ft (0 uses the panel default)"},"panel":{"enum":["7","11","13","14"],"type":"string","default":"14","description":"Panel type (sets a starting price per sq ft)"},"pitch":{"enum":["1.014","1.031","1.054","1.083","1.118","1.202","1.302","1.414"],"type":"string","default":"1.118","description":"Roof pitch"},"waste":{"type":"number","default":10,"maximum":40,"minimum":0,"description":"Waste allowance on material"},"tearoff":{"type":"string","default":"1","description":"Tear off the existing roof"},"footprint":{"type":"number","default":2000,"maximum":20000,"minimum":100,"description":"Roof footprint (ground area under the roof)"},"tearoffRate":{"type":"number","default":1.5,"maximum":15,"minimum":0,"description":"Tear-off and disposal, per sq ft"}},"additionalProperties":false},"annotations":{"readOnlyHint":true},"title":"Metal roof cost calculator"},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":348,"tokensAfter":348},{"name":"calculator_describe","fixed":{"name":"calculator_describe","description":"The inputs this calculator takes (with units, ranges and defaults), the outputs it returns, and the assumptions and tables behind it.","inputSchema":{"type":"object","$schema":"http://json-schema.org/draft-07/schema#","properties":{}},"annotations":{"readOnlyHint":true},"title":"What Metal roof cost calculator computes"},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":78,"tokensAfter":78},{"name":"enquiry_describe","fixed":{"name":"enquiry_describe","description":"Read first. States plainly what submit_enquiry does on Metal Roof Cost Calculator: it starts an enquiry with human providers who quote directly. Nothing is bought, ordered or paid; no quote is guaranteed; it is free. Also returns who receives the details, the consent wording, and how the person confirms.","inputSchema":{"type":"object","$schema":"http://json-schema.org/draft-07/schema#","properties":{}},"annotations":{"readOnlyHint":true},"title":"What you get: an ENQUIRY with a human (not a purchase, not a guaranteed quote)"},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":125,"tokensAfter":125},{"name":"submit_enquiry","fixed":{"name":"submit_enquiry","description":"Submits an enquiry to Metal Roof Cost Calculator — NOT a purchase, NOT a guaranteed quote. Step 1: call with the answers (keyed by field key from enquiry_fields) and consent=true; it validates and returns a summary, the consent line and a confirmation token — show the person the summary and the consent line. Step 2: only if the person agrees, call again with the same answers, consent=true and the confirmation token; the enquiry is then submitted, and the person receives an email with a link they","inputSchema":{"type":"object","$schema":"http://json-schema.org/draft-07/schema#","required":["answers","consent"],"properties":{"answers":{"type":"object","description":"the person's answers, keyed by field key","additionalProperties":{"type":["string","number","boolean"]}},"consent":{"type":"boolean","description":"true only when the person has agreed to: Send my contact details to up to three roofing contractors, chosen by Metal Roof Cost Calculator, who'll contact me directly. I'll be emailed each firm's name as my details go to it, and can stop any more firms getting them."},"confirmation":{"type":"string","description":"the confirmation token from step 1, after the person has approved the summary"}},"additionalProperties":false},"annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":false},"title":"Submit an ENQUIRY to human providers (two steps; not a purchase)"},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: false, destructiveHint: false, idempotentHint: false (inferred from the name).","verify":true}],"tokensBefore":358,"tokensAfter":358}],"toolsChanged":4,"tokensSaved":0,"todo":[],"note":"Deterministic fixes. Changes marked verify need a human look before shipping (renames, inferred annotations, inferred types, removed text). Parameter descriptions in `todo` need to be written by someone who knows the API."}