Measure property from satellite imagery, price 24 trades, and install contractor quote widgets.
Maintain this server? Claim it
Call this server's tools from your browser. Nothing to install.
Requests go through mcptry because browsers can't call most MCP servers directly. Header values are sent to the server for that request only and are never stored or logged.
Tool list from our last check. Connect live to refresh it.
Creates a contractor account and returns their widget token and embed tag, ready to install with get_install_snippet. No password and no card: the owner is emailed a link to choose a password, and the widget switches on when they sign in through it (that confirms the email is theirs). Leads from their website are kept until they add a card in the dashboard ($0 today, free for the trial). Only use it when the person you are helping owns the business or has asked you to set this up for them, with their real business email; test, disposable and placeholder addresses are refused.
What the business quotes: 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.
The owner's real email. They receive the set-password link and lead alerts here.
The business name, as homeowners know it.
Business phone, optional.
The website the widget will go on, optional.
Towns or region served, optional.
This tool isn't marked read-only, so it may change something on the server or in an account you connected.
Creates a contractor account and returns their widget token and embed tag, ready to install with get_install_snippet. No password and no card: the owner is emailed a link to choose a password, and the widget switches on when they sign in through it (that confirms the email is theirs). Leads from their website are kept until they add a card in the dashboard ($0 today, free for the trial). Only use it when the person you are helping owns the business or has asked you to set this up for them, with their real business email; test, disposable and placeholder addresses are refused.
| Argument | Type | Description |
|---|---|---|
| phone | string | Business phone, optional. |
| trade* | string | What the business quotes: 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. |
| website | string | The website the widget will go on, optional. |
| owner_email* | string | The owner's real email. They receive the set-password link and lead alerts here. |
| company_name* | string | The business name, as homeowners know it. |
| service_area | string | Towns or region served, optional. |
{
"type": "object",
"required": [
"company_name",
"owner_email",
"trade"
],
"properties": {
"phone": {
"type": "string",
"description": "Business phone, optional."
},
"trade": {
"type": "string",
"description": "What the business quotes: 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."
},
"website": {
"type": "string",
"description": "The website the widget will go on, optional."
},
"owner_email": {
"type": "string",
"description": "The owner's real email. They receive the set-password link and lead alerts here."
},
"company_name": {
"type": "string",
"description": "The business name, as homeowners know it."
},
"service_area": {
"type": "string",
"description": "Towns or region served, optional."
}
},
"additionalProperties": false
}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.
| Argument | Type | Description |
|---|---|---|
| trade* | string | Trade id or name, e.g. roofing, fencing, artificial-turf. |
| pitch_rise | number | Roof rise per 12 inches of run, e.g. 6 for a 6/12 roof. Roof trades only. Defaults to 6. |
| measurement* | number | Square feet, or linear feet for perimeter trades such as fencing and gutters. |
{
"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
}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.
| Argument | Type | Description |
|---|---|---|
| mode | string | inline embeds the tool in the page; modal opens it from a button. |
| token | string | The contractor's public token, beginning pk_live_. |
| service | string | 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 | string | Platform id or name, e.g. wordpress, squarespace, wix, webflow, shopify, godaddy, html, google-tag-manager. Omit for the generic snippet. |
{
"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
}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.
No arguments.
{
"type": "object",
"properties": {},
"additionalProperties": false
}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.
| Argument | Type | Description |
|---|---|---|
| trade | string | One of: roofing, paving, landscaping, gutters, siding, decks, pools, turf, solar, general. Defaults to a general contracting playbook. |
{
"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
}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.
No arguments.
{
"type": "object",
"properties": {},
"additionalProperties": false
}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.
| Argument | Type | Description |
|---|---|---|
| search | string | Optional trade name or synonym, e.g. "fence", "blacktop", "synthetic grass". |
{
"type": "object",
"properties": {
"search": {
"type": "string",
"description": "Optional trade name or synonym, e.g. \"fence\", \"blacktop\", \"synthetic grass\"."
}
},
"additionalProperties": false
}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.
| Argument | Type | Description |
|---|---|---|
| url* | string | The public page URL to check. |
{
"type": "object",
"required": [
"url"
],
"properties": {
"url": {
"type": "string",
"description": "The public page URL to check."
}
},
"additionalProperties": false
}