Skip to main content
Glama

Server Details

Agent-first booking of home-service contractors in Canada and the US: quotes, availability, booking.

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
Uptime
100.0% over 20 days
Last Tested
Transport
Streamable HTTP · MCP 2025-06-18
URL
ChatGPT
–
Claude
–

TDQS

A4.1/5.0

Scored across 3 tools

Disambiguation5/5

Each tool has a clearly distinct role: get_coverage checks trade/city support before requesting, request_quotes creates the service request, and get_request_status tracks an existing request. The descriptions explicitly state pre-request vs. post-request usage, so an agent cannot reasonably misselect.

Naming Consistency4/5

All names are snake_case verb_noun, which is readable and predictable. There is a minor split between the get_ prefix used for the two read-only tools and the bare action verb request_quotes for the mutating tool, though this read/write distinction is arguably intentional.

Tool Count4/5

Three tools is on the low edge, but each one earns its place because the actual matching, outreach and booking work happens on the backend with human operators. It is slightly thin for a full booking lifecycle rather than being bloated.

Completeness3/5

The surface covers coverage lookup, request creation and status polling, but there is no way to cancel, modify, or list a request, and no tool to retrieve the returned quotes or confirm a booking. These are notable gaps in a booking lifecycle that agents would likely hit.

Available Tools

3 tools
get_coverageCheck home-service coverageA
Read-onlyIdempotent
Inspect

Read-only. Lists the trades supported and tells you whether a city in Canada or the United States is covered, and whether we already have a ranked provider shortlist there (pre_ranked) or will source providers when the request arrives (live_sourced). Call this before request_quotes if you are unsure the trade or city is supported. It does not create a request or contact anyone.

NameRequiredDescriptionDefault
cityNoCity or municipality, for example 'Mississauga' or 'Austin'.
tradeNoHome-service trade. Use 'other' with trade_detail for anything not listed.
regionNoProvince or state, for example 'ON' or 'TX'.
countryNoCA or US.

Output Schema

NameRequiredDescription
noteYes
coverageNo
supported_tradesYes
supported_countriesYes

TDQS

A4.3/5.0
Behavior4/5

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

Annotations already declare readOnlyHint, idempotentHint, destructiveHint=false, so 'Read-only' is largely redundant, but the description adds genuine behavioral context by explaining the two coverage outcomes (pre_ranked shortlist vs live_sourced) and confirming it is side-effect free. It stops short of describing response shape or partial-match behavior, which with a rich output schema is a minor gap.

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-loaded and efficient: purpose, then the pre_ranked/live_sourced distinction, then the when-to-call rule and the exclusion. The leading 'Read-only.' restates the annotation rather than adding information, a small piece of waste.

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?

Covers what the tool does, its safety profile and its call-ordering relative to request_quotes, and an output schema exists so return values need not be explained. It never notes that all four parameters are optional (zero required), which would help an agent understand a bare no-arg call is valid.

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 city, trade, region and country are already fully documented with examples and enum guidance. The description adds no parameter-level syntax or format detail beyond the schema, so the baseline of 3 applies.

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 names a specific verb and resource ('Lists the trades supported and tells you whether a city ... is covered') and even distinguishes the two coverage modes (pre_ranked vs live_sourced). An agent can tell it apart from request_quotes and get_request_status without opening any 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?

Explicit routing: 'Call this before request_quotes if you are unsure the trade or city is supported,' names the alternative sibling and the condition that selects it, and closes with a negative boundary ('It does not create a request or contact anyone').

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

get_request_statusCheck a request's statusA
Read-onlyIdempotent
Inspect

Read-only. Returns the current status of a request created with request_quotes. Requires the request_id and either the email or the phone number given on the request. It never returns the customer's details.

NameRequiredDescriptionDefault
emailNo
phoneNo
request_idYes

Output Schema

NameRequiredDescription
statusYes
messageYes
request_idYes

TDQS

A4.1/5.0
Behavior4/5

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

Annotations already declare readOnlyHint, idempotentHint and destructiveHint=false; the description's "Read-only" restates that but adds a genuine behavioral fact an agent cannot get from annotations: the identity proof required (email or phone on file) and the privacy guarantee that customer details are never returned. Output schema exists, so return-format detail is not required.

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 read-only nature and the primary requirement front-loaded before the caveat about returned data.

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 3-parameter read tool with an output schema and full annotation coverage, the description supplies purpose, preconditions, identity requirement and a data-privacy note. Only minor gaps remain (no mention of error behavior when identity doesn't match, no acceptance format for email/phone).

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 0%, so the description must carry the parameter meaning — and it does the most important work: it restates the `anyOf` requirement in plain language ("requires the request_id and either the email or the phone number given on the request"). It adds no format or validation hints for email/phone, so it stops short of full compensation.

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 ("returns the current status of a request") and anchors it to the sibling `request_quotes` that creates those requests, so the agent can place it in the workflow. It does not explicitly contrast with `get_coverage`, but the scope is unambiguous.

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 for invocation: the caller must supply request_id plus either the email or the phone used at creation time. It stops short of stating when-not to use it or naming alternatives such as `get_coverage`, so it is clear context rather than full routing guidance.

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

request_quotesFind providers and request quotesAInspect

Use when a customer wants an agent to find and book a home-service contractor (plumber, HVAC, electrician, roofer, appliance repair, locksmith, garage door, pest control, handyman, house cleaning, or another trade) at an address in Canada or the United States. We contact multiple independent providers by email, SMS and phone, ask for price and availability, check the options with the customer, and coordinate the booking the customer approves. Human operators assist as needed. We aim to return viable options within one hour for urgent requests, but response time, quote count, price and availability are not guaranteed and may be slower where we have no pre-built provider shortlist. This call creates a service request; it does not confirm an appointment or authorize work. The customer chooses and pays the provider directly. Collect every required field from the customer first, including explicit consent to be contacted.

NameRequiredDescriptionDefault
cityYesCity or municipality where service is needed.
emailNo
phoneNo
tradeYesHome-service trade. Use 'other' with trade_detail for anything not listed.
regionYesProvince or state code or name, for example 'ON' or 'Texas'.
countryYes
problemYesWhat is needed or wrong, with relevant details.
urgencyYes
postal_codeNoPostal or ZIP code.
contact_nameYes
trade_detailNoRequired when trade is 'other': the kind of contractor needed.
preferred_timeNoPreferred appointment window in local time.
service_addressYesFull street address where service is needed.
source_platformNoCalling agent or platform, if known.
consent_to_contactYesMust be true. Allows us and prospective providers to contact the customer about this request.

Output Schema

NameRequiredDescription
statusYes
next_stepYes
request_idYes
coverage_tierYes
target_responseYes
target_response_guaranteedYes

TDQS

A4.4/5.0
Behavior5/5

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

Annotations only declare readOnlyHint=false, openWorldHint=true, idempotentHint=false and destructiveHint=false; the description adds substantial context beyond that — outreach channels (email, SMS, phone), human operator involvement, an approximate one-hour target for urgent requests with explicit non-guarantees, and the key behavioral fact that this creates a request rather than a confirmed booking, with the customer paying the provider directly.

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?

It is front-loaded with the trigger condition and well organized, but it is a single dense paragraph and the enumerated trade list largely duplicates the trade enum already present in the schema, which is mild redundancy in an otherwise efficient description.

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 15-parameter, open-world tool with an output schema, the description covers the essentials an agent cannot infer: consent collection, outreach mechanics, timing expectations and their limits, and the fact that no appointment is confirmed. Return-value detail is correctly left to the output schema.

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 67% across 15 parameters, and the description adds essentially no per-field meaning beyond instructing the agent to collect all required fields and explicit consent. The consent emphasis is useful, but the remaining parameters rely on the schema, so this sits at the moderate-coverage baseline.

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 opens with a specific trigger-and-action: 'Use when a customer wants an agent to find and book a home-service contractor,' and then names the concrete resource created ('This call creates a service request'). It also draws the boundary that separates it from the read-oriented siblings get_coverage and get_request_status by stating it does not confirm an appointment or authorize work.

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?

The 'Use when...' clause gives an explicit, unambiguous condition for invoking the tool, and the closing sentence adds a prerequisite ('Collect every required field from the customer first, including explicit consent'). It does not, however, name or route to alternative tools, so it falls short of the 5-level when/when-not/alternatives standard.

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. 3 tool updates
    • First observedget_coverage
    • First observedget_request_status
    • First observedrequest_quotes

Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    B
    maintenance
    Home Services MCP by HireNimbus lets AI agents find, compare, and book verified local pros for handyman, renovation, HVAC, plumbing, electrical, and landscaping jobs in supported US metro markets.
    Apache 2.0
  • A
    license
    B
    quality
    A
    maintenance
    67 tools generated from the same OpenAPI spec as our SDKs — CI fails on drift, so REST and MCP never disagree. Underneath: a deterministic field operations scheduling engine — skills, territories, live availability, sub-3-second cascade rescheduling — drivable end-to-end from Claude or ChatGPT. Schedule changes preview before they commit; LLMs never inside the math.
    53
    134 npm
    3
    MIT
  • A
    license
    Not graded
    quality
    B
    maintenance
    Enables AI assistants to submit and track local household-service requests such as house cleaning or pest control, validating details and passing each as a routed opportunity to external providers or buyer networks. Exposes service-discovery, submission, and status-check tools so those requests flow through one consistent intake pipeline.
    MIT
  • A
    license
    Not graded
    quality
    B
    maintenance
    Enables voice assistants to find nearby service providers, connect users to live video representatives for natural conversation, and handle appointment booking. It also returns confirmed bookings so the assistant can add them to its calendar.
    MIT
Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources