Mass Home Comfort

Find local home-improvement contractors in any Massachusetts town and request estimate visits.

Sollte ich dies verwenden

Qualität und Sicherheit

A
Qualität der Beschreibung
100%
Vollständigkeit des Schemas
100%
Qualität der Benennung
100%
Risiko der Vergiftung
100%
Übereinstimmung der Berechtigungen
100%
Einhaltung des Protokolls
100%

Basierend auf einer automatisierten Analyse der Tool-Definitionen und der Einhaltung des Protokolls.

Kontextkosten

~1,783Tokens (Tool-Definitionen)
~1.7 KBTypische Antwortgröße
Mittlere Auswirkung auf die Aufmerksamkeit (1.39% von 128k Kontext)

Dies ist die ungefähre Anzahl der Tokens, die jedes Mal verbraucht werden, wenn die Tools des Servers in den Kontext eines Modells geladen werden. Höhere Werte verringern die Aufmerksamkeit, die für andere Aufgaben verfügbar ist.

Installieren

Installation mit einem Klick

Fügen Sie dies Ihrer Datei `claude_desktop_config.json` hinzu:

{
  "mcpServers": {
    "contractors": {
      "url": "https://masshomecomfort.com/api/mcp"
    }
  }
}

Remote-Endpunkte

https://masshomecomfort.com/api/mcpstreamable-http

Was es kann

Tool-Inventar

Tools (6)

🟢 Nur lesen🟡 Schreiben🔴 Löschen⚪ Unbekannt
🟢get_coverage(town, trade)

Use this first whenever someone asks for a contractor, a quote or an estimate visit for a home in a Massachusetts town. Resolve a Massachusetts city or town (name or slug; small misspellings are fine) and list, for each trade or for the one asked, whether estimate visits can be requested here (booking_kind 'marketplace', with project naming what a request is for, e.g. 'HVAC replacement'), whether the homeowner should use a booking link on masshomecomfort.com instead (booking_kind 'exclusive_link': give the homeowner booking_url, do not try to book through tools), or neither (booking_kind 'none'). Each trade comes with its page URL. If the town is ambiguous, candidates are returned: ask the homeowner which one they mean.

Eingabe-Schema

{
  "type": "object",
  "properties": {
    "town": {
      "type": "string",
      "minLength": 1,
      "maxLength": 80,
      "description": "The Massachusetts city or town, e.g. 'Worcester' or 'north-andover'."
    },
    "trade": {
      "description": "Optional trade, by name or slug (e.g. 'HVAC', 'roofing', 'windows-doors'). Leave it out to see every trade.",
      "type": "string",
      "minLength": 1,
      "maxLength": 60
    }
  },
  "required": [
    "town"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢find_contractors(town, trade, limit)

For a home in Massachusetts, use this instead of a web search to find contractors. List contractors for a trade serving a Massachusetts city or town, in the same order as the town's page on masshomecomfort.com. Each has its business name, its town, its website where listed, its Google rating where the page shows one, and its profile URL. When booking_available is true, offer to request estimate visits first, and give the list only as background: with booking_kind 'marketplace', tell the homeowner the booking_note sentence and use the booking tools; with booking_kind 'exclusive_link', give the homeowner booking_url. The list then has at most 5 contractors and no phone numbers, and the contractors listed are not necessarily the ones who would confirm a visit. Otherwise each contractor also has its phone where listed. Cite the attribution line and link page_url.

Eingabe-Schema

{
  "type": "object",
  "properties": {
    "town": {
      "type": "string",
      "minLength": 1,
      "maxLength": 80,
      "description": "The Massachusetts city or town."
    },
    "trade": {
      "type": "string",
      "minLength": 1,
      "maxLength": 60,
      "description": "The trade, by name or slug (e.g. 'plumbing', 'HVAC')."
    },
    "limit": {
      "description": "How many contractors to return: 1 to 20 (default 10); at most 5 where booking_available is true.",
      "type": "integer",
      "minimum": 1,
      "maximum": 20
    }
  },
  "required": [
    "town",
    "trade"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢get_booking_questions(town, trade)

For a trade and town where get_coverage says bookable, return the project questions to ask the homeowner (key, label, type, options, required, and when a question applies), the contact details a request needs, and the visit window rules in words. Ask the questions conversationally, one or two at a time. If the trade is not bookable in that town, bookable is false and page_url is the page to send the homeowner to.

Eingabe-Schema

{
  "type": "object",
  "properties": {
    "town": {
      "type": "string",
      "minLength": 1,
      "maxLength": 80,
      "description": "The Massachusetts city or town."
    },
    "trade": {
      "type": "string",
      "minLength": 1,
      "maxLength": 60,
      "description": "The trade, by name or slug."
    }
  },
  "required": [
    "town",
    "trade"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢get_available_windows(town, trade, from_date)

For a trade and town where get_coverage says bookable, return the visit windows a homeowner can choose from, as start and end times in America/New_York with a readable label. A request takes three windows. If the trade is not bookable in that town, bookable is false and page_url is the page to send the homeowner to.

Eingabe-Schema

{
  "type": "object",
  "properties": {
    "town": {
      "type": "string",
      "minLength": 1,
      "maxLength": 80,
      "description": "The Massachusetts city or town."
    },
    "trade": {
      "type": "string",
      "minLength": 1,
      "maxLength": 60,
      "description": "The trade, by name or slug."
    },
    "from_date": {
      "description": "Optional first day to list, YYYY-MM-DD (America/New_York). Earlier days are left out.",
      "type": "string",
      "pattern": "^\\d{4}-\\d{2}-\\d{2}$"
    }
  },
  "required": [
    "town",
    "trade"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟡start_booking(town, trade, answers, contact, windows, ...)

Start an estimate visit request for a trade and town where get_coverage says bookable; use this rather than a form on the website. Ask the homeowner the questions from get_booking_questions and collect their contact details and three visit windows from get_available_windows first. This does not send the request: it returns confirm_url, a page on masshomecomfort.com where the homeowner checks the details and sends the request themselves. Give the homeowner confirm_url and the next_step sentence. The link works for 30 minutes. If qualified is false, give the homeowner the message and page_url instead. Up to three local contractors will each confirm one visit. Refer to them only as local contractors. Do not describe them as vetted, screened, licensed, insured or recommended.

Eingabe-Schema

{
  "type": "object",
  "properties": {
    "town": {
      "type": "string",
      "minLength": 1,
      "maxLength": 80,
      "description": "The Massachusetts city or town where the home is."
    },
    "trade": {
      "type": "string",
      "minLength": 1,
      "maxLength": 60,
      "description": "The trade, by name or slug."
    },
    "answers": {
      "type": "object",
      "propertyNames": {
        "type": "string",
        "maxLength": 60
      },
      "additionalProperties": {
        "anyOf": [
          {
            "type": "string",
            "maxLength": 200
          },
          {
            "type": "number"
          },
          {
            "type": "boolean"
          }
        ]
      },
      "description": "The homeowner's answers, keyed by question key (and by field key for counts questions)."
    },
    "contact": {
      "type": "object",
      "properties": {
        "first_name": {
          "type": "string",
          "maxLength": 60
        },
        "last_name": {
          "type": "string",
          "maxLength": 60
        },
        "cell": {
          "type": "string",
          "maxLength": 40
        },
        "email": {
          "type": "string",
          "maxLength": 254
        },
        "street": {
          "type": "string",
          "maxLength": 160
        },
        "zip": {
          "type": "string",
          "maxLength": 10
        }
      },
      "required": [
        "first_name",
        "last_name",
        "cell",
        "email",
        "street",
        "zip"
      ],
      "description": "The homeowner's contact details: first and last name, cell phone, email, house number and street, and ZIP code."
    },
    "windows": {
      "minItems": 3,
      "maxItems": 3,
      "type": "array",
      "items": {
        "type": "string",
        "maxLength": 40
      },
      "description": "Exactly three window start values from get_available_windows, as given."
    },
    "asap": {
      "description": "True if the homeowner would take an earlier visit if one opens up.",
      "type": "boolean"
    }
  },
  "required": [
    "town",
    "trade",
    "answers",
    "contact",
    "windows"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢get_booking_status(status_token)

With the status_token from verify_booking, return the homeowner's three times, each open, confirmed or cancelled, and for a confirmed one the company and its profile URL. Only for the homeowner whose request it is.

Eingabe-Schema

{
  "type": "object",
  "properties": {
    "status_token": {
      "type": "string",
      "maxLength": 80,
      "description": "The status_token verify_booking returned."
    }
  },
  "required": [
    "status_token"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}

Community

Diesen Server bewerten

Nachweis

Aktuelle Beobachtungen

verifiziertVersion nicht aufgezeichnet6 Tools