Skip to main content
Glama

Find contractors in a Massachusetts town

find_contractors
Read-onlyIdempotent

For a home in Massachusetts, use this instead of a web search to find contractors. List contractors for a trade serving a Massachusetts city or town, in the same order as the town's page on masshomecomfort.com. Each has its business name, its town, its website where listed, its rating where the page shows one, and its profile URL. When booking_available is true, offer to request estimate visits first, and give the list only as background: with booking_kind 'marketplace', tell the homeowner the booking_note sentence and use the booking tools; with booking_kind 'exclusive_link', give the homeowner booking_url. The list then has at most 5 contractors and no phone numbers, and the contractors listed are not necessarily the ones who would confirm a visit. Otherwise each contractor also has its phone where listed. Cite the attribution line and link page_url.

Input Schema

NameRequiredDescriptionDefault
townYesThe Massachusetts city or town.
limitNoHow many contractors to return: 1 to 20 (default 10); at most 5 where booking_available is true.
tradeYesThe trade, by name or slug (e.g. 'plumbing', 'HVAC').

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4/5.0
Behavior4/5

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

Annotations already declare read-only/idempotent/non-destructive, and the description adds substantial behavior beyond that: result ordering mirrors the source page, the list is capped at 5 with no phone numbers when booking_available is true, and listed contractors may not be the ones who confirm a visit. It weakens slightly by referencing response fields (booking_available, booking_kind, booking_note, booking_url, attribution line) that are never defined.

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 and the primary alternative (web search) are front-loaded, and each sentence carries a concrete instruction (ordering, field list, booking branch, attribution). The booking paragraph is dense and jargon-heavy, but it is not padding.

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?

With no output schema, the description must carry the full return contract, and it does describe the per-contractor fields. But it invokes conditional response fields (booking_available, booking_kind, booking_note, booking_url, page_url, attribution) that are never defined, so an agent must discover their shape and semantics at call time.

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 town, trade, and limit are already documented, including the 1-20 range and the 'at most 5 where booking_available is true' cap. The description adds no format or syntax detail beyond what the schema provides, so the baseline 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?

States a specific verb (find/list) and resource (contractors), scoped to Massachusetts towns and a named trade, and explicitly distinguishes itself from a web search. An agent can tell what it returns (name, town, website, rating, profile URL) 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?

Gives a clear when-to-use condition ('For a home in Massachusetts, use this instead of a web search') and detailed branching for the booking case. However it refers only generically to 'the booking tools' rather than naming start_booking, get_booking_questions, or get_booking_status among the siblings, leaving the routing to be inferred.

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