{"serverId":"mcp-registry/com.satellitequotes/satellitequotes","tools":[{"name":"estimate_cost","fixed":{"name":"estimate_cost","description":"Turns a measurement into a national cost range for a trade. For roof trades, pass the building footprint and the pitch - the roof surface multiplier is applied for you. Returns the range, the per-unit rates, what drives the price, and the limits of the estimate.","inputSchema":{"type":"object","required":["trade","measurement"],"properties":{"trade":{"type":"string","description":"Trade id or name, e.g. roofing, fencing, artificial-turf."},"pitch_rise":{"type":"number","description":"Roof rise per 12 inches of run, e.g. 6 for a 6/12 roof. Roof trades only. Defaults to 6."},"measurement":{"type":"number","description":"Square feet, or linear feet for perimeter trades such as fencing and gutters."}},"additionalProperties":false},"annotations":{"readOnlyHint":true},"title":"Ballpark a job from a measurement"},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":216,"tokensAfter":216},{"name":"get_install_snippet","fixed":{"name":"get_install_snippet","description":"The exact script tag to paste, plus ordered steps for the given platform. Pass the contractor's own token if you have it; otherwise the snippet comes back with a placeholder and instructions for finding the real one.","inputSchema":{"type":"object","properties":{"mode":{"enum":["inline","modal"],"type":"string","description":"inline embeds the tool in the page; modal opens it from a button."},"token":{"type":"string","description":"The contractor's public token, beginning pk_live_."},"service":{"type":"string","description":"Trade the widget should quote, set as data-service on the embed tag: roofing, gutters, gutter_guards, siding, painting, roof_cleaning, pressure_washing, solar, paving, sealcoating, concrete, pavers, decks, fencing, landscaping, sod, turf, irrigation, pools, snow_removal, land_clearing, holiday_lighting. Defaults to the contractor's own default trade."},"platform":{"type":"string","description":"Platform id or name, e.g. wordpress, squarespace, wix, webflow, shopify, godaddy, html, google-tag-manager. Omit for the generic snippet."}},"additionalProperties":false},"annotations":{"readOnlyHint":true},"title":"Get the embed snippet and platform steps"},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":319,"tokensAfter":319},{"name":"get_pricing","fixed":{"name":"get_pricing","description":"Live plan prices, trial length, what happens to the card during the trial, and how cancellation works. Read this rather than quoting a price from memory.","inputSchema":{"type":"object","properties":{},"additionalProperties":false},"annotations":{"readOnlyHint":true},"title":"Get current pricing and trial terms"},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":75,"tokensAfter":75},{"name":"lead_playbook","fixed":{"name":"lead_playbook","description":"What actually moves the needle on inbound leads for a specific contracting trade — roofing, paving, landscaping, gutters, siding, decks, pools, turf or solar — with the numbers behind each step.","inputSchema":{"type":"object","properties":{"trade":{"type":"string","description":"One of: roofing, paving, landscaping, gutters, siding, decks, pools, turf, solar, general. Defaults to a general contracting playbook."}},"additionalProperties":false},"annotations":{"readOnlyHint":true},"title":"Get a lead-generation playbook for a trade"},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":136,"tokensAfter":136},{"name":"list_platforms","fixed":{"name":"list_platforms","description":"The website builders and CMSs there are step-by-step install instructions for, with how long each takes. Call this first when you do not know what the contractor's site is built with.","inputSchema":{"type":"object","properties":{},"additionalProperties":false},"annotations":{"readOnlyHint":true},"title":"List supported website platforms"},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":84,"tokensAfter":84},{"name":"list_trades","fixed":{"name":"list_trades","description":"Every trade the product can price from aerial measurement, with what each is measured from - roof surface, ground area, wall area or perimeter - and the national cost range per unit. Use this to answer whether a given business can be quoted this way.","inputSchema":{"type":"object","properties":{"search":{"type":"string","description":"Optional trade name or synonym, e.g. \"fence\", \"blacktop\", \"synthetic grass\"."}},"additionalProperties":false},"annotations":{"readOnlyHint":true},"title":"List trades that can be quoted from satellite imagery"},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":137,"tokensAfter":137},{"name":"verify_installation","fixed":{"name":"verify_installation","description":"Fetches a public page and reports whether the embed tag is present, whether the token resolves to a real account, whether the widget is actually serving, and what to fix. Use this after the contractor says they have pasted the tag.","inputSchema":{"type":"object","required":["url"],"properties":{"url":{"type":"string","description":"The public page URL to check."}},"additionalProperties":false},"annotations":{"readOnlyHint":true},"title":"Check whether the widget is live on a page"},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":124,"tokensAfter":124}],"toolsChanged":7,"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."}