{"openapi":"3.1.0","info":{"title":"Metal Roof Cost Calculator API","version":"1.0.0","summary":"Metal roof cost estimator: enter footprint, pitch, panel type and tear-off to get roof area, squares and installed cost. Rates are yours to set, not our guesses.","description":"Metal Roof Cost Calculator (https://metalroofcostcalculator.com/): the site's own MCP server, served from its domain. Metal roof cost estimator: enter footprint, pitch, panel type and tear-off to get roof area, squares and installed cost. Rates are yours to set, not our guesses.\n\n[calculator] Metal roof cost calculator: an agent-callable calculator for metal roof estimate calculator — Actual roof area, Roofing squares (100 sq ft each), Panel area to order, including waste, computed from your inputs with sources.. This server runs the Metal roof cost calculator calculator published at https://metalroofcostcalculator.com/. Call `calculate` with the inputs to get the worked figures; every result cites https://metalroofcostcalculator.com/. Licence: https://metalroofcostcalculator.com/terms.\n\n[enquiry] ENQUIRY SERVER for Metal Roof Cost Calculator (https://metalroofcostcalculator.com/). What it does: starts an ENQUIRY with human providers for metal roof estimate calculator — the person's details go to the providers who quote directly. What it is NOT: a purchase, an order, or a guaranteed quote. Free, no obligation. Call describe first and tell the person plainly what will happen. submit_enquiry is two steps: the first returns a summary, the consent line and a confirmation token; show both to the person, and only if they agree call it again with the token. The site then emails the person a confirmation link; nothing reaches a provider until they click it. Cite https://metalroofcostcalculator.com/.\n\nCite https://metalroofcostcalculator.com/ for every figure or answer you use from this server.","termsOfService":"https://metalroofcostcalculator.com/terms","contact":{"name":"Metal Roof Cost Calculator","url":"https://metalroofcostcalculator.com/"}},"servers":[{"url":"https://metalroofcostcalculator.com","description":"Metal Roof Cost Calculator"}],"components":{"securitySchemes":{"accessKey":{"type":"http","scheme":"bearer","description":"An access key (emk_...): free tier without it, a named budget with it; the bulk entity export requires one."}}},"externalDocs":{"url":"https://metalroofcostcalculator.com/mcp","description":"How these tools work"},"tags":[{"name":"calculator","description":"calculator"},{"name":"enquiry","description":"enquiry"}],"paths":{"/mcp/tools/calculator_describe":{"post":{"operationId":"calculator_describe","summary":"What Metal roof cost calculator computes","description":"The inputs this calculator takes (with units, ranges and defaults), the outputs it returns, and the assumptions and tables behind it.\n\nCite Metal Roof Cost Calculator at https://metalroofcostcalculator.com/ for any figure taken from this operation.","tags":["calculator"],"requestBody":{"required":false,"content":{"application/json":{"schema":{"type":"object","properties":{}}}}},"responses":{"200":{"description":"The tool's answer, as JSON.","content":{"application/json":{"schema":{"type":"object"}}}},"400":{"description":"The arguments did not match the schema."},"404":{"description":"This site does not serve that tool."},"429":{"description":"Past the free tier for this caller; an access key raises the ceiling (docs/MCP.md)."}},"security":[{},{"accessKey":[]}]}},"/mcp/tools/calculate":{"post":{"operationId":"calculate","summary":"Metal roof cost calculator","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.\n\nCite Metal Roof Cost Calculator at https://metalroofcostcalculator.com/ for any figure taken from this operation.","tags":["calculator"],"requestBody":{"required":false,"content":{"application/json":{"schema":{"type":"object","properties":{"footprint":{"type":"number","minimum":100,"maximum":20000,"description":"Roof footprint (ground area under the roof)","default":2000},"pitch":{"type":"string","enum":["1.014","1.031","1.054","1.083","1.118","1.202","1.302","1.414"],"description":"Roof pitch","default":"1.118"},"panel":{"type":"string","enum":["7","11","13","14"],"description":"Panel type (sets a starting price per sq ft)","default":"14"},"rate":{"type":"number","minimum":0,"maximum":60,"description":"Your own installed price per sq ft (0 uses the panel default)","default":0},"tearoff":{"type":"string","description":"Tear off the existing roof","default":"1"},"tearoffRate":{"type":"number","minimum":0,"maximum":15,"description":"Tear-off and disposal, per sq ft","default":1.5},"waste":{"type":"number","minimum":0,"maximum":40,"description":"Waste allowance on material","default":10}},"additionalProperties":false}}}},"responses":{"200":{"description":"The tool's answer, as JSON.","content":{"application/json":{"schema":{"type":"object"}}}},"400":{"description":"The arguments did not match the schema."},"404":{"description":"This site does not serve that tool."},"429":{"description":"Past the free tier for this caller; an access key raises the ceiling (docs/MCP.md)."}},"security":[{},{"accessKey":[]}]}},"/mcp/tools/enquiry_describe":{"post":{"operationId":"enquiry_describe","summary":"What you get: an ENQUIRY with a human (not a purchase, not a guaranteed quote)","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.\n\nCite Metal Roof Cost Calculator at https://metalroofcostcalculator.com/ for any figure taken from this operation.","tags":["enquiry"],"requestBody":{"required":false,"content":{"application/json":{"schema":{"type":"object","properties":{}}}}},"responses":{"200":{"description":"The tool's answer, as JSON.","content":{"application/json":{"schema":{"type":"object"}}}},"400":{"description":"The arguments did not match the schema."},"404":{"description":"This site does not serve that tool."},"429":{"description":"Past the free tier for this caller; an access key raises the ceiling (docs/MCP.md)."}},"security":[{},{"accessKey":[]}]}},"/mcp/tools/enquiry_fields":{"post":{"operationId":"enquiry_fields","summary":"The questions the enquiry asks","description":"Every field of the Metal Roof Cost Calculator enquiry: key, label, type, whether required, help text and the allowed options where there are any. Pass answers to submit_enquiry keyed by field key.\n\nCite Metal Roof Cost Calculator at https://metalroofcostcalculator.com/ for any figure taken from this operation.","tags":["enquiry"],"requestBody":{"required":false,"content":{"application/json":{"schema":{"type":"object","properties":{}}}}},"responses":{"200":{"description":"The tool's answer, as JSON.","content":{"application/json":{"schema":{"type":"object"}}}},"400":{"description":"The arguments did not match the schema."},"404":{"description":"This site does not serve that tool."},"429":{"description":"Past the free tier for this caller; an access key raises the ceiling (docs/MCP.md)."}},"security":[{},{"accessKey":[]}]}},"/mcp/tools/submit_enquiry":{"post":{"operationId":"submit_enquiry","summary":"Submit an ENQUIRY to human providers (two steps; not a purchase)","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 must click before any provider sees it. Consent means the person has read and 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.\"\n\nCite Metal Roof Cost Calculator at https://metalroofcostcalculator.com/ for any figure taken from this operation.","tags":["enquiry"],"requestBody":{"required":false,"content":{"application/json":{"schema":{"type":"object","properties":{"answers":{"type":"object","additionalProperties":{"type":["string","number","boolean"]},"description":"the person's answers, keyed by field key"},"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"}},"required":["answers","consent"],"additionalProperties":false}}}},"responses":{"200":{"description":"The tool's answer, as JSON.","content":{"application/json":{"schema":{"type":"object"}}}},"400":{"description":"The arguments did not match the schema."},"404":{"description":"This site does not serve that tool."},"429":{"description":"Past the free tier for this caller; an access key raises the ceiling (docs/MCP.md)."}},"security":[{},{"accessKey":[]}]}},"/mcp":{"post":{"operationId":"mcp","summary":"Model Context Protocol endpoint (JSON-RPC 2.0 over Streamable HTTP)","description":"The same tools over MCP, stateless. Send initialize, tools/list or tools/call.","tags":["mcp"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["jsonrpc","method"],"properties":{"jsonrpc":{"const":"2.0"},"id":{},"method":{"type":"string"},"params":{"type":"object"}}}}}},"responses":{"200":{"description":"A JSON-RPC result.","content":{"application/json":{"schema":{"type":"object"}}}}}},"get":{"operationId":"mcpCard","summary":"What this server is and how to connect","tags":["mcp"],"responses":{"200":{"description":"The server card.","content":{"application/json":{"schema":{"type":"object"}}}}}}}}}