Skip to main content
Glama

HandledIQ: find and book home service

Get one shop's price and open times

get_quote

Gets this shop's own book prices for what the person needs and its next real open times. Use it when the person wants a price or a time from this shop. Returns a quote_id for hold_time, the prices (all in, US dollars), their terms and up to 6 open times. visit true means no fixed price fits exactly, so the price is the shop's visit to find the problem. A price over the owner's limit waits for the owner; work outside the shop's trade gets no quote. Sends nothing to anyone. The shop is the one business_id names; kind is one of the kinds request_service gave, or leave it out and say the need in words.

Input Schema

NameRequiredDescriptionDefault
dayNoOptional. The first day that works for the person, YYYY-MM-DD; times start that day.
kindNoOptional. One of the shop's kinds of work, as request_service gave them (work[].kind).
needYesWhat the person needs, in a line, like: AC check, a roof leak, ants in the kitchen, or a couch to haul away.
assistantYesYour own name, as the person you act for knows you, like ChatGPT, Claude or Muse. It goes in the text the shop sends them.
business_idYesThe shop's business_id: its provider_business_id in HandledIQ's business feed, or a find_help answer's.
budget_dollarsNoOptional. The most the person wants to pay, in dollars.

Output Schema

NameRequiredDescriptionDefault
nextYes
shopYes
termsYesThe terms every price here comes with: all in with no fees, paid after the work, and free to cancel within cancel_free_days of booking, before the visit.
timesYes
visitNo
pricesYes
currencyYesEvery amount is US dollars.
quote_idYesHolds a time with hold_time. Null when the shop does not do that kind of work.
holds_timesYes
waits_for_ownerNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed2 schema fields changed
    • addedOutput schema / properties / times / items / properties / time_zone
      Added value: +{
      +  "description": "The shop's time zone, like: America/Chicago.",
      +  "type": "string"
      +}
    • addedOutput schema / properties / times / items / properties / when / description
      Added value: +"The time in the shop's own time zone (time_zone), like: Today, 8 to 10 AM or Thu, Oct 22, 8 to 10 AM. Today is the shop's today."
  2. Changed1 schema field changed
    • changedInput schema / properties / assistant / description
      Previous value: -"Your own name, as the person you act for knows you, like Muse. It goes in the text the shop sends them."New value: +"Your own name, as the person you act for knows you, like ChatGPT, Claude or Muse. It goes in the text the shop sends them."
  3. Changed3 schema fields changed
    • addedOutput schema / properties / currency
      Added value: +{
      +  "description": "Every amount is US dollars.",
      +  "enum": [
      +    "USD"
      +  ],
      +  "type": "string"
      +}
    • addedOutput schema / properties / terms
      Added value: +{
      +  "description": "The terms every price here comes with: all in with no fees, paid after the work, and free to cancel within cancel_free_days of booking, before the visit.",
      +  "properties": {
      +    "all_in": {
      +      "type": "boolean"
      +    },
      +    "cancel_free_days": {
      +      "type": "integer"
      +    },
      +    "fees_cents": {
      +      "type": "integer"
      +    },
      +    "pay": {
      +      "enum": [
      +        "after_the_work"
      +      ],
      +      "type": "string"
      +    },
      +    "words": {
      +      "type": "string"
      +    }
      +  },
      +  "required": [
      +    "all_in",
      +    "fees_cents",
      +    "pay",
      +    "cancel_free_days",
      +    "words"
      +  ],
      +  "type": "object"
      +}
    • changedOutput schema / required
      Previous value: -[
      -  "quote_id",
      -  "shop",
      -  "prices",
      -  "times",
      -  "holds_times",
      -  "next"
      -]New value: +[
      +  "quote_id",
      +  "shop",
      +  "currency",
      +  "prices",
      +  "terms",
      +  "times",
      +  "holds_times",
      +  "next"
      +]
  4. First observed

TDQS

A4.6/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations only say readOnlyHint=false, destructiveHint=false, openWorldHint=false, idempotentHint=false; the description goes well beyond that by disclosing side effects and business rules: a quote_id is produced for later hold_time, visit=true means no fixed price fits and the price becomes an on-site visit, prices over the owner's limit wait for the owner, out-of-trade work returns no quote, and nothing is sent to anyone. That is the kind of context an agent cannot get from structured fields.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Purpose is front-loaded in sentence one and every following sentence carries a distinct rule (visit semantics, owner-limit, trade scope, no notifications, parameter sourcing). It is dense and uses some clipped fragments, but no sentence is filler.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

An output schema exists, yet the description still frames the important returns (quote_id for hold_time, all-in USD prices, terms, up to 6 open times) and explains the visit flag, which is the non-obvious part. Combined with the annotations, an agent has everything needed to call and interpret it.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so the baseline is 3, but the description adds relational meaning: business_id identifies the target shop, `kind` should mirror what request_service returned or be omitted, and `need` in words is the fallback when kind is left out. That clarifies the interplay between the two conceptually overlapping parameters beyond their individual schema blurbs.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The first sentence names a specific verb (Gets) and resource (this shop's book prices and next real open times), scoped to one business. It distinguishes itself from siblings by referencing request_service (source of `kind`), find_help (source of business_id) and hold_time (consumer of the returned quote_id).

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

"Use it when the person wants a price or a time from this shop" gives a clear positive trigger, and the mention that `kind` comes from request_service implies the pipeline context. It stops short of explicitly naming a sibling to prefer in other cases (e.g., find_help when the shop isn't known yet), so it is clear context without exclusions.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources