Book It

Find enrolled home-service and trade businesses by trade and ZIP, and send a booking request.

Sollte ich dies verwenden

Qualität und Sicherheit

A
Qualität der Beschreibung
100%
Vollständigkeit des Schemas
100%
Qualität der Benennung
92%
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,489Tokens (Tool-Definitionen)
~2.0 KBTypische Antwortgröße
Mittlere Auswirkung auf die Aufmerksamkeit (1.16% 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": {
    "book-it": {
      "url": "https://book.modernmustardseed.com/mcp"
    }
  }
}

Remote-Endpunkte

https://book.modernmustardseed.com/mcpstreamable-http

Was es kann

Tool-Inventar

Tools (5)

🟢 Nur lesen🟡 Schreiben🔴 Löschen⚪ Unbekannt
🟢find_provider(trade, zip, need)

Find home-service and trade businesses enrolled in Book It that serve a US ZIP code for a trade, such as HVAC, plumbing, roofing or lawn care. Returns each business's name, phone, website, the services that match the stated need, and its next open request window. Only businesses that enrolled and list that ZIP in their own service area appear; the result states the ordering rule, which is a fair daily rotation and never paid placement. An empty list means no enrolled business covers that trade and ZIP yet.

Eingabe-Schema

{
  "type": "object",
  "properties": {
    "trade": {
      "type": "string",
      "minLength": 2,
      "maxLength": 80,
      "description": "The trade or a common name for it: \"hvac\", \"furnace repair\", \"plumber\", \"roofer\", \"lawn care\", \"tree service\"."
    },
    "zip": {
      "type": "string",
      "pattern": "^\\d{5}$",
      "description": "The 5-digit US ZIP code where the work is."
    },
    "need": {
      "description": "What the person needs in a few words, such as \"furnace blowing cold air\". Used to surface matching services.",
      "type": "string",
      "maxLength": 300
    }
  },
  "required": [
    "trade",
    "zip"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢get_services(business_id)

Get one Book It business's services with any price range the business entered, its service-area ZIPs, its weekly hours for requests, its next open window, and the consent text a person agrees to before a booking request is sent.

Eingabe-Schema

{
  "type": "object",
  "properties": {
    "business_id": {
      "type": "string",
      "minLength": 3,
      "maxLength": 80,
      "description": "The business_id exactly as find_provider returned it, such as \"juniper-ridge-roofing\"."
    }
  },
  "required": [
    "business_id"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢quote_range(business_id, service_id, service)

Return the price range a Book It business entered for one of its services, labelled as the business's own range and not a quote. When the business entered no range, says so. Book It never estimates, averages or invents a price.

Eingabe-Schema

{
  "type": "object",
  "properties": {
    "business_id": {
      "type": "string",
      "minLength": 3,
      "maxLength": 80,
      "description": "The business_id exactly as find_provider returned it, such as \"juniper-ridge-roofing\"."
    },
    "service_id": {
      "description": "The service_id from get_services or find_provider.",
      "type": "string",
      "maxLength": 40
    },
    "service": {
      "description": "Instead of service_id, the service name as the business lists it, such as \"Furnace repair\".",
      "type": "string",
      "maxLength": 80
    }
  },
  "required": [
    "business_id"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢check_availability(business_id, from_date, days)

List the windows a Book It business accepts booking requests for, by date in the business's time zone, after its minimum notice and without its days off, for up to 14 days at a time. Each window has a window_id for request_booking. A window is when the business says it can take work, not a confirmed slot.

Eingabe-Schema

{
  "type": "object",
  "properties": {
    "business_id": {
      "type": "string",
      "minLength": 3,
      "maxLength": 80,
      "description": "The business_id exactly as find_provider returned it, such as \"juniper-ridge-roofing\"."
    },
    "from_date": {
      "description": "First date to show, YYYY-MM-DD, in the business's time zone. Defaults to today there.",
      "type": "string",
      "maxLength": 10
    },
    "days": {
      "description": "How many days to show, 1 to 14. Defaults to 7.",
      "type": "integer",
      "minimum": 1,
      "maximum": 14
    }
  },
  "required": [
    "business_id"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟡request_booking(business_id, customer_name, customer_phone, customer_zip, need, ...)

Send a Book It business a booking request on a person's behalf. Collects only the person's name, phone, ZIP, what they need and a preferred time. The business receives it by email and in its inbox and confirms a time with the person directly; the request is never a confirmed appointment. Requires consent_confirmed true, which means the person read and agreed to the business's booking_consent_text (from get_services or check_availability). US and Canadian phone numbers only. A repeat request from the same phone to the same business within 24 hours returns the first request instead of sending another.

Eingabe-Schema

{
  "type": "object",
  "properties": {
    "business_id": {
      "type": "string",
      "minLength": 3,
      "maxLength": 80,
      "description": "The business_id exactly as find_provider returned it, such as \"juniper-ridge-roofing\"."
    },
    "customer_name": {
      "type": "string",
      "minLength": 2,
      "maxLength": 80,
      "description": "The person's name, at least a first name."
    },
    "customer_phone": {
      "type": "string",
      "minLength": 10,
      "maxLength": 25,
      "description": "A US or Canadian phone number the business can call or text, such as (406) 555-0123."
    },
    "customer_zip": {
      "type": "string",
      "pattern": "^\\d{5}$",
      "description": "The 5-digit ZIP where the work is. It must be in the business's service area."
    },
    "need": {
      "type": "string",
      "minLength": 5,
      "maxLength": 600,
      "description": "What the person needs, in their words, such as \"Furnace runs but blows cold air.\""
    },
    "service_id": {
      "description": "Optional service_id from get_services.",
      "type": "string",
      "maxLength": 40
    },
    "preferred_window_id": {
      "description": "A window_id from check_availability, such as \"2026-10-15@08:00-12:00\".",
      "type": "string",
      "maxLength": 40
    },
    "preferred_time_note": {
      "description": "A short preferred time in words, such as \"any weekday morning\", when no window fits.",
      "type": "string",
      "maxLength": 120
    },
    "consent_confirmed": {
      "type": "boolean",
      "description": "True only after the person read the business's booking_consent_text and agreed to it."
    }
  },
  "required": [
    "business_id",
    "customer_name",
    "customer_phone",
    "customer_zip",
    "need",
    "consent_confirmed"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}

Community

Diesen Server bewerten

Nachweis

Aktuelle Beobachtungen

verifiziertVersion nicht aufgezeichnet5 Tools