Skip to main content
Glama

Server Details

Verified Booqer shops. A keyless consult is confirmed when the slot is open.

If you are the author of this connector, you can claim ownership by verifying the domain or GitHub account it belongs to. Claimed connector authors can inspect health checks, view analytics, and manage their listing.
Status
Healthy
Last Tested
Transport
Streamable HTTP · MCP 2025-06-18
URL

TDQS

A4.1/5.0

Scored across 8 tools

Disambiguation4/5

Most tools have distinct purposes: search_businesses (find many), resolve_business (resolve one from domain/phone), get_business (read one by id), check_availability, and get_booking_status are clearly separable. However, request_booking vs request_service, and request_service vs submit_service_request, sit close together (confirmed appointment vs quote widget vs actually sending the quote), which could cause misselection despite the descriptions distinguishing them.

Naming Consistency5/5

All names follow a consistent snake_case verb_noun pattern (check_availability, get_business, request_booking, search_businesses, submit_service_request). No camelCase or mixed conventions, and the verb choice reflects the action type.

Tool Count5/5

8 tools is well within the ideal 3-15 range and each tool earns its place, covering discovery, inspection, availability, booking, quote, and status with no filler.

Completeness4/5

The core lifecycle is covered: search/resolve/get business, check availability, request booking, check status, plus a quote flow. The notable gap is cancellation, since a cancel link is returned but no cancel tool exists, and there is no way to list a user's bookings, though agents can work around these.

Available Tools

8 tools
check_availabilityCheck availabilityA
Read-only
Inspect

Use this when the user wants to check availability for a local home-service appointment before booking. Lists the open 30-minute slots for one shop and one date. Booked and blocked times are left out. Each start and end is ISO-8601 with an offset. The shop timezone is America/New_York. date is YYYY-MM-DD, or start is an ISO-8601 timestamp. offering selects that shop's rules from get_business. Does not reserve a slot. Rate limited per IP and per shop.

NameRequiredDescriptionDefault
dateNoCalendar date in the shop timezone, America/New_York. Format YYYY-MM-DD. Example: 2026-10-21. Provide date or start.
startNoISO-8601 timestamp with an offset. Example: 2026-10-20T14:00:00-04:00. At least 2 hours ahead and no more than 21 days ahead.
shop_idYesEnrolled shop id from search_businesses. Examples: florida-pole-barn, florida-security-concepts, booqer-demo-shop.
offeringNoService id from get_business. Example: project_consult.

Output Schema

NameRequiredDescription

No output parameters

TDQS

A4.6/5.0
Behavior5/5

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

Goes well beyond the read-only annotations: booked and blocked times are excluded from results, times are returned as ISO-8601 with offset, the shop timezone is America/New_York, and the endpoint is rate limited per IP and per shop. These are exactly the operational traits an agent needs before calling.

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?

The trigger condition is front-loaded and most sentences carry distinct facts (exclusions, timezone, non-reservation, rate limits). A few sentences restate format details already present in the schema, which is mild redundancy rather than bloat.

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?

With an output schema present, return values need no explanation, and the description still covers trigger, exclusions, timezone, dependency on get_business/search_businesses, non-reservation, and rate limits. Nothing needed to invoke it correctly is missing.

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 already 100%, so the baseline is 3; the description adds the semantic role of offering ('selects that shop's rules from get_business') and reiterates the date/start formats and timezone. Most format detail duplicates the schema, but the offering behavior is genuinely new information.

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?

States a specific verb and resource ('check availability ... Lists the open 30-minute slots for one shop and one date') and constrains scope to a single shop/date, which clearly separates it from get_booking_status and request_booking. An agent can identify what it returns without opening the schema.

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 this when the user wants to check availability ... before booking' gives clear trigger context, and 'Does not reserve a slot' rules it out as a write path. It does not, however, explicitly name request_booking as the follow-up tool, so the alternative is implied rather than stated.

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

get_booking_statusBooking statusA
Read-only
Inspect

Use this when the user wants to check the status of a local home-service appointment. status is confirmed, pending, canceled, or failed. No customer name, phone, or email.

NameRequiredDescriptionDefault
request_idYesBooking id returned by request_booking. UUID. Example: 11111111-1111-4111-8111-111111111111.

Output Schema

NameRequiredDescription

No output parameters

TDQS

A3.6/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true, destructiveHint=false, and openWorldHint=false, so the safety profile is covered. The description's remaining contribution is the set of possible status values, which is largely redundant because an output schema exists, plus the useful constraint that no customer identifiers are needed. It adds some invocation context but nothing deep about behavior.

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?

Three brief sentences with the usage trigger front-loaded and zero filler. The enumeration of status values is the one element that could be trimmed given the output schema, keeping it out of the top tier.

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

Completeness4/5

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

For a read-only, single-parameter lookup with a full output schema and complete annotations, the description covers the trigger, input scope, and result vocabulary. It omits only edge behavior such as unknown or expired request ids, a minor gap for this tool's complexity.

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

Parameters3/5

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

Schema description coverage is 100% and the single request_id parameter is fully documented in the schema (UUID type, example value, and its origin in request_booking). The description adds only the negative note that name/phone/email are not inputs, so the baseline 3 applies.

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

Purpose4/5

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

The description states a specific verb and resource (check the status of an appointment) and scopes the resource to local home-service bookings, which separates it from request_booking, check_availability, and request_service. It is clear without naming a sibling explicitly, so it lands just below the top tier.

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 this when the user wants to check the status of a local home-service appointment" gives an explicit trigger condition, and "No customer name, phone, or email" usefully tells the agent not to solicit extra identifiers. There is no explicit when-not or named alternative, so it stops short of a 5.

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

get_businessGet a businessA
Read-only
Inspect

Use this when the user wants to read one enrolled local home-service business and search_businesses or resolve_business already returned its id. Returns one enrolled shop as JSON: id, brand, legal_name, page, booking_url, phone when published, sms, services as id and name, hours, timezone, verification status and verify_url, and booking_rules and emergency_phone when that shop has them.

NameRequiredDescriptionDefault
shop_idYesEnrolled shop id from search_businesses. Examples: florida-pole-barn, florida-security-concepts, booqer-demo-shop.

Output Schema

NameRequiredDescription
idYesShop id.
hoursNoPublished hours for this shop.
servicesNoPublished services, each with id and name.
timezoneNoIANA timezone for the hours and slots.
booking_urlNoBooking page URL.

TDQS

A4.4/5.0
Behavior4/5

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

Annotations already declare readOnlyHint, destructiveHint=false and openWorldHint=false, so the safety profile is covered. The description adds real value beyond that by disclosing conditional field presence — phone 'when published' and booking_rules/emergency_phone 'when that shop has them' — which tells the agent output shape can vary.

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?

Usage guidance is front-loaded ahead of the return description, and both sentences carry weight. Enumerating the return fields is somewhat redundant given an output schema exists, but it remains compact and readable.

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?

For a single-parameter read tool with an output schema and full annotation coverage, this is complete: the agent knows when to call it, what id to pass, and what shape of data varies conditionally. Nothing needed to invoke it correctly is missing.

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

Parameters3/5

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

Schema description coverage is 100% and shop_id is already documented with examples, so baseline is 3. The description reinforces the provenance of the id (from search_businesses) but adds no syntax or format detail the schema lacks.

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?

States a specific verb (read) and resource (one enrolled home-service business), and explicitly contrasts it with search_businesses and resolve_business, so an agent can distinguish it from siblings without opening the schema.

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

Usage Guidelines5/5

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

Gives an explicit precondition: use when the user wants one business AND search_businesses or resolve_business already returned its id. This names the alternative tools and the condition that selects this one rather than them.

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

request_bookingRequest a consultA
Destructive
Inspect

Use this when the user wants to book a local home-service appointment and has already chosen an open time. Confirms a free consult when the slot is open. Calling this again with the same details can create a second booking; if unsure, check get_booking_status first. Requires consent: before calling, show the user the consent text in the consent field and get their agreement. Also requires a name, a valid email, and a problem description. service_address is optional for a phone consult and required for an on-site visit. Disposable, reserved, and blocked email domains are rejected. job_summary falls back to problem. service_area is inferred from the address or city, otherwise the shop city. A phone consult accepts a street, a city and ZIP, or a PO Box. An on-site visit needs a street address. Shop-specific booking rules and emergency_phone come from get_business. offering is an id from get_business. start is an ISO-8601 timestamp, for example 2026-10-20T14:00:00-04:00. The start is at least 2 hours ahead and no more than 21 days ahead. A start outside that window names the field start. Returns status confirmed, a cancel link, and verify_url when the signed receipt is ready. The receipt page does not show the customer. An optional idempotency_key repeats the same result for that shop. Rate limited per IP and per shop, with a per-shop daily cap.

NameRequiredDescriptionDefault
nameYesCustomer name. Example: Ada Lovelace.
emailYesCustomer email on a real domain. Example: ada@gmail.com. Disposable and example.com addresses are rejected.
phoneNoCustomer phone. Example: 3525550100. Optional.
startYesISO-8601 timestamp with an offset. Example: 2026-10-20T14:00:00-04:00. At least 2 hours ahead and no more than 21 days ahead.
consentYesRequired. Before you call this tool, show the user this exact text and get their agreement: "I agree to Booqer's Terms and Privacy Policy and consent to Booqer sharing my request with this shop so they can contact me about it." Terms: https://booqer.ai/terms. Privacy Policy: https://booqer.ai/privacy. Set true only after the user agrees. Without consent true the call is rejected and nothing is stored.
problemYesWhat is wrong, in the customer's words. Example: Gate will not close.
shop_idYesEnrolled shop id from search_businesses. Examples: florida-pole-barn, florida-security-concepts, booqer-demo-shop.
offeringYesService id from get_business. Example: project_consult.
job_summaryNoShort job summary. Falls back to problem when omitted.
service_areaNoCity or county. Inferred from the address when omitted. Example: Clermont.
idempotency_keyNoOptional key of 8 to 80 letters, numbers, dots, underscores, colons, or hyphens. A repeat with the same key and shop returns the first booking instead of creating another.
service_addressNoStreet, city and ZIP, or PO Box. Optional for a phone consult. Required for an on-site visit. Example: 100 Demo Drive, Clermont FL 34711.

Output Schema

NameRequiredDescription

No output parameters

TDQS

A4.3/5.0
Behavior5/5

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

Goes well beyond the annotations: it warns that a repeat call can create a duplicate booking, explains idempotency_key behavior, requires consent text be shown first, lists rejected email domains, states per-IP/per-shop rate limits and a daily cap, and defines the 2-hour/21-day start window. This is exactly the mutation-risk context an agent needs on top of destructiveHint=true.

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?

Dense single block, but front-loaded with the trigger condition and duplicate-booking warning, and every clause carries a rule the agent must apply. Some sentences duplicate the schema verbatim (ISO-8601 example, disposable-domain rejection), which is minor redundancy rather than padding.

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?

For a 12-parameter mutation tool with 7 required fields, it covers consent, validation, timing windows, deduplication, rate limits, and return values; with an output schema and destructive annotation present, nothing an agent needs to call this correctly is missing.

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 description coverage is 100%, so the baseline is 3, but the description adds cross-field semantics the schema does not: job_summary falling back to problem, service_area inference, address requirements per consult type, and offering/start provenance. It does repeat some schema content (start format, email rejection), which keeps it from a 5.

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

Purpose4/5

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

States a specific verb and resource ('book a local home-service appointment', 'Confirms a free consult when the slot is open'), which cleanly separates the consult flow from the general service flows. Sibling differentiation is partial: it explicitly references get_booking_status and get_business as supporting tools but never says when to prefer request_service or submit_service_request instead of this one.

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?

Gives a clear precondition ('has already chosen an open time') and an explicit alternative ('if unsure, check get_booking_status first'), both of which direct agent behavior. It stops short of naming the competing booking siblings as alternatives for non-consult cases, so routing is clear but not exhaustive.

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

request_serviceRequest a quoteA
Read-onlyIdempotent
Inspect

Use this when the user wants to open a quote form for a local home-service business rather than book a confirmed appointment time. Opens the quote widget for one enrolled business. business_id is the provider_business_id from the business feed. shop_id is accepted when business_id is empty. The widget is ui://widget/request-service.html. This call does not store a request and does not confirm a booking. It is rate-limited.

NameRequiredDescriptionDefault
shop_idNoEnrolled shop id. Used only when business_id is empty. Example: florida-security-concepts.
business_idYesEnrolled business id from search_businesses. Example: florida-pole-barn.

Output Schema

NameRequiredDescription

No output parameters

TDQS

A4.7/5.0
Behavior5/5

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

Beyond the readOnly/idempotent annotations, it discloses important behavior: the call does not store a request, does not confirm a booking, and is rate-limited. It also names the widget URI, adding useful operational context.

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

Conciseness5/5

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

The description is compact and front-loads the usage condition, followed by behavior, parameter mapping, widget URI, and constraints. Each sentence contributes useful information without unnecessary repetition.

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?

Given the annotations, complete input schema, and output schema, the description provides enough context for correct selection and invocation. It covers the key non-obvious behavior: no persistence, no booking confirmation, and rate limiting.

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

Parameters3/5

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

Schema description coverage is 100%, so both parameters are already well documented in the schema. The description adds source terminology for business_id and repeats the shop_id fallback rule, but it does not materially expand parameter semantics beyond the structured fields.

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 description states a specific action and resource: opening a quote form/widget for one enrolled home-service business. It explicitly distinguishes this from booking a confirmed appointment time, so an agent can separate it from request_booking.

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

Usage Guidelines5/5

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

It gives a clear trigger condition: use when the user wants to open a quote form rather than book a confirmed appointment. It also explains business_id versus shop_id fallback behavior, which helps invocation.

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

resolve_businessResolve a businessA
Read-only
Inspect

Use this when the user wants to resolve one enrolled local home-service business from a domain, a place, or a phone number. An ambiguous match is refused. Returns that one identity. No phone, email, or street address is returned.

NameRequiredDescriptionDefault
phoneNoPublished phone number. Example: (352) 282-0692.
placeNoCity or county. Example: Orange County. Refuses a place that matches more than one shop.
domainNoBusiness website domain. Example: floridapolebarn.com.

Output Schema

NameRequiredDescription
enrolledYesTrue when the business is in the Booqer directory.
business_nameNoBrand name when the match is verified.
identity_matchYesverified, none, or ambiguous.

TDQS

A4/5.0
Behavior4/5

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

Annotations already declare readOnlyHint=true, destructiveHint=false and openWorldHint=false, so the safety profile is covered. The description adds non-obvious behavior beyond that: ambiguous matches are refused, exactly one identity is returned, and phone/email/street address are deliberately withheld. That refusal and output-scoping detail is genuinely useful and not derivable from the annotations.

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

Conciseness5/5

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

Three short sentences, zero filler, with the primary usage condition front-loaded and the behavioral caveats (refusal, withheld fields) trailing. Every sentence carries distinct information.

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

Completeness4/5

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

An output schema exists, so the description is not obliged to explain the return shape, and it correctly spends its words on the refusal rule and the fields deliberately excluded from the response. Coverage is solid for a 3-optional-parameter resolver; the only gap is the absence of routing guidance to sibling lookup tools.

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

Parameters3/5

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

Schema description coverage is 100%, with each of the three parameters already carrying an example and the 'place' parameter documenting its own ambiguity refusal. The description restates the input modes but adds no syntax or format detail beyond the schema, so the baseline 3 applies.

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

Purpose4/5

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

The description states a specific verb and resource ('resolve one enrolled local home-service business') and enumerates the three input modes (domain, place, phone). It distinguishes the tool as a single-entity resolver rather than a search, but never names the sibling tools (search_businesses, get_business) it contrasts with, so the differentiation is implied rather than explicit.

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?

It gives a clear triggering condition ('when the user wants to resolve one... business') and the qualifying inputs, so an agent knows the context in which to reach for it. There are no exclusions or explicit alternative routes (e.g., use search_businesses when the match is ambiguous or when several businesses are wanted), which keeps it short of a 5.

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

search_businessesSearch businessesA
Read-only
Inspect

Use this when the user wants to find a local home-service business or appointment: plumber, HVAC, electrician, gate, fence, or security install, pole barn, or builder. Searches the Booqer directory of enrolled home-service businesses by name, category, service, location, or phone. Coverage is limited to enrolled businesses (currently Florida pole barn and gate/security). Returns id, name, domain, booking URL, and booking status. A trade that is not enrolled returns no businesses and the message says no shop is available. A city outside a business's service area is left out. booqer-demo-shop is omitted unless the query is that shop's exact name or id.

NameRequiredDescriptionDefault
queryYesWhat the user wants found. Examples: "pole barn Clermont", "gate repair Winter Garden", "plumber Orlando". At least 2 characters.

Output Schema

NameRequiredDescription
messageNoSays no shop is available when the list is empty.
availableNoFalse when no shop is available.
businessesYesMatching businesses. Empty when none are enrolled for that search.

TDQS

A4.6/5.0
Behavior5/5

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

Goes well beyond the readOnly/openWorld annotations by disclosing directory coverage limits (Florida pole barn and gate/security), the exact return fields, and several edge behaviors: non-enrolled trades return no businesses with an explanatory message, out-of-service-area cities are excluded, and booqer-demo-shop is suppressed unless matched by exact name or id.

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?

Front-loads the usage trigger, then coverage, then return shape, then caveats in a logical sequence with no filler. It is on the long side, but nearly every clause carries distinct information an agent needs; minor tightening of the return/suppression sentences is possible.

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 already exists, so return values are partly redundant, yet the description still gives the agent the coverage boundaries, failure semantics, and the demo-shop suppression rule that no structured field expresses. Nothing needed to call it correctly is missing.

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?

With one parameter at 100% schema coverage the baseline is 3, but the description adds real semantics: the query matches across name, category, service, location, or phone. That tells the agent what kinds of strings are valid beyond the schema's three examples.

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?

States a precise verb (searches) and resource (Booqer directory of enrolled home-service businesses) and enumerates the trade categories it covers. It is clearly distinguishable from siblings like get_business, resolve_business, and check_availability because it describes directory lookup by name/category/service/location/phone.

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?

Opens with an explicit trigger ('Use this when the user wants to find a local home-service business or appointment'), which is clear context for invocation. It does not name a sibling alternative or state when to prefer get_business over search, but the coverage constraints implicitly scope usage.

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

submit_service_requestSubmit a service requestB
Destructive
Inspect

Sends the user's quote request (name, email, optional phone, service location, preferred time) to the chosen business. Called by the quote form only.

NameRequiredDescriptionDefault
nameYesCustomer name. Example: Ada Lovelace.
emailYesCustomer email on a real domain. Example: ada@gmail.com.
phoneNoCustomer phone. Optional when an email is present. Example: 3525550100.
startYesPreferred time as an ISO-8601 timestamp. Example: 2026-10-21T14:00:00-04:00.
consentYesRequired. Before you call this tool, show the user this exact text and get their agreement: "I agree to Booqer's Terms and Privacy Policy and consent to Booqer sharing my request with this shop so they can contact me about it." Terms: https://booqer.ai/terms. Privacy Policy: https://booqer.ai/privacy. Set true only after the user agrees. Without consent true the call is rejected and nothing is stored.
offeringYesService id from get_business. Example: project_consult.
business_idYesEnrolled business id. Example: florida-pole-barn.
service_addressNoStreet address. Optional for a phone consult. Required for an on-site visit. Example: 100 Demo Drive, Clermont FL 34711.

Output Schema

NameRequiredDescription

No output parameters

TDQS

B3.4/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=false, destructiveHint=true, openWorldHint=true and idempotentHint=false, so the safety profile is covered. The description adds that the payload is forwarded to a third-party business and is form-scoped, but it does not explain the destructive/non-idempotent consequences (e.g., duplicate submissions, whether a request can be withdrawn).

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?

Two short sentences with the action and target front-loaded; the scoping sentence carries real information. No filler or restated boilerplate, though it stops just short of maximal density.

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

Completeness3/5

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

An output schema exists, so return values need no explanation, and the schema fully documents the 8 parameters. What remains missing is the consequence of a destructive, non-idempotent write to an external business and the relationship to the request_* siblings, which is thin for an 8-parameter mutation tool.

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

Parameters3/5

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

Schema description coverage is 100%, so every parameter including the consent gate, ISO-8601 start format and optional phone/service_address rules is already documented in the schema. The description merely restates a subset of those fields, adding no format or constraint detail beyond the structured data.

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

Purpose4/5

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

The description states a specific verb and resource: it 'sends the user's quote request ... to the chosen business', and it enumerates the payload fields. It is clear on its own, but it never distinguishes itself from closely named siblings like request_service or request_booking, leaving overlap unresolved.

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

Usage Guidelines3/5

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

'Called by the quote form only' is a real usage constraint that tells the agent this is not a general-purpose submission tool, which is more than nothing. However, it names no alternatives and gives no condition for choosing request_service or request_booking instead, so the routing guidance is only implied.

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

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

  1. 8 tool updates
    • First observedcheck_availability
    • First observedget_booking_status
    • First observedget_business
    • First observedrequest_booking
    • First observedrequest_service
    • First observedresolve_business
    • First observedsearch_businesses
    • First observedsubmit_service_request

Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    C
    maintenance
    Enables users to query multiple authorized Accio stores through separate fixed-identity, read-only channels bound to existing store conversations, with live seller identity verification before and after account-summary queries.
    MIT
  • A
    license
    A
    quality
    A
    maintenance
    Buy at cash-only or unsupported shops by paying crypto (BTC signet, USDC) to a proxy shopper through a 2-of-3 escrow with timelocks over Nostr, or earn as a proxy shopper. Tools that move money act only with confirm: true.
    19
    MIT
  • A
    license
    Not graded
    quality
    C
    maintenance
    Enables AI assistants to manage a digital card-key trading platform's shop through its open API, covering products, categories, card inventory, sourcing purchases, orders, complaints, and wallet balance with signed requests and configurable safety controls. It also provides endpoint discovery and generic signed POST calls while default-denying spending, refunding, or deletion operations unless explicitly allowed.
    1
    MIT
Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources