Book It

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

¿Debería usar esto?

Calidad y seguridad

A
Calidad de la descripción
100%
Integridad del esquema
100%
Calidad de los nombres
92%
Riesgo de envenenamiento
100%
Coincidencia de permisos
100%
Cumplimiento del protocolo
100%

Basado en el análisis automatizado de las definiciones de herramientas y el cumplimiento del protocolo.

Costo de contexto

~1,489Tokens (definiciones de herramientas)
~2.0 KBTamaño de respuesta típico
Impacto moderado en la atención (1.16% del contexto de 128k)

Este es el número aproximado de tokens que se consumen cada vez que las herramientas del servidor se cargan en el contexto de un modelo. Los recuentos más altos reducen la atención disponible para otras tareas.

Instalar

Instalación con un clic

Agrega esto a tu archivo `claude_desktop_config.json`:

{
  "mcpServers": {
    "book-it": {
      "url": "https://book.modernmustardseed.com/mcp"
    }
  }
}

Puntos de conexión remotos

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

Qué puede hacer

Inventario de herramientas

Herramientas (5)

🟢 Solo lectura🟡 Escritura🔴 Eliminación⚪ Desconocido
🟢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.

Esquema de entrada

{
  "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.

Esquema de entrada

{
  "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.

Esquema de entrada

{
  "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.

Esquema de entrada

{
  "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.

Esquema de entrada

{
  "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"
}

Comunidad

Califica este servidor

Evidencia

Observaciones recientes

verificadoversión no registrada5 herramientas