Skip to main content
Glama

Server Details

Find checked US roofers, siding and gutter contractors by city. Read-only, no login.

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-11-25
URL

TDQS

A3.9/5.0

Scored across 2 tools

Disambiguation5/5

get_contractor retrieves one contractor by id, while search_contractors finds contractors by city and service type. The two tools have clearly distinct purposes with no overlap.

Naming Consistency5/5

Both tool names follow a consistent snake_case verb_noun pattern: get_contractor and search_contractors. The singular/plural noun difference is natural and does not break the pattern.

Tool Count4/5

Only two tools are provided, which is slightly below the typical 3–15 range. However, for a simple read-only contractor directory, search and get-by-id cover the core lookup needs, so the count is reasonable.

Completeness4/5

The surface covers the essential read operations: searching for contractors and retrieving a specific contractor by id. Minor gaps exist, such as no dedicated tool to fetch reviews or browse all contractors, but these are workable around.

Available Tools

2 tools
get_contractorGet contractorA
Read-onlyIdempotent
Inspect

Get one contractor from The Roofing List by id. Returns nothing for a business that is closed or no longer listed.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesThe contractor id from search_contractors.

Output Schema

ParametersJSON Schema
NameRequiredDescription
idYes
cityYes
nameYes
phoneYes
stateYes
ratingNoFrom reviews published on The Roofing List only. Absent when there are none.
tradesYes
claimedYes
websiteNoOnly present for claimed profiles.
profileUrlYes

TDQS

A3.6/5.0
Behavior4/5

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

Annotations already declare readOnly, idempotent, non-destructive and closed-world, so the safety profile is covered. The description adds genuine value beyond that by disclosing the null-result semantics: nothing is returned for a closed or delisted business, which an agent could otherwise misread as an error. It does not go further (e.g., error vs empty distinction, auth requirements).

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?

Two short sentences, zero filler, with the core action front-loaded and the edge-case caveat second. Nothing to trim.

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?

With an output schema present, the description need not explain the returned record, and it correctly covers the empty-result case. The only gap is the absence of any usage/routing context relative to search_contractors, which would make it fully self-sufficient.

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?

Only one parameter and schema description coverage is 100%, so the schema already fully explains 'id' as coming from search_contractors. The description adds no syntax, format, or range 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?

States a specific verb and resource ('Get one contractor from The Roofing List by id'), which is clear and unambiguous. The singular 'one contractor ... by id' implicitly distinguishes it from the sibling search_contractors, but the description never names or contrasts with that sibling explicitly, so it falls short of a 5.

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

Usage Guidelines2/5

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

There is no explicit when-to-use statement, no exclusions, and no named alternative (search_contractors is only referenced inside the schema's id parameter, not the description). Usage is only inferable from the phrase 'by id', which is thin guidance for a lookup tool.

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

search_contractorsSearch contractorsA
Read-onlyIdempotent
Inspect

Find roofing, siding or gutter contractors in a US city from The Roofing List. Returns only listed businesses that are open and passed our contact check. Ratings come from reviews published on The Roofing List only.

ParametersJSON Schema
NameRequiredDescriptionDefault
cityYesUS city name, for example "Austin".
limitNoHow many results, 1 to 25. Default 10.
stateYesUS state as a USPS code ("TX") or a full name ("Texas").
tradeYesThe trade: roofing, siding or gutters.

Output Schema

ParametersJSON Schema
NameRequiredDescription
contractorsYes

TDQS

A3.8/5.0
Behavior4/5

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

Annotations already declare this a safe, idempotent, closed-world read, so the bar is lower. The description adds genuinely useful behavioral context beyond them: results are filtered to listed businesses that are open and passed the contact check, and ratings come only from The Roofing List reviews, which tells the agent the result set is curated and that rating values are not cross-platform aggregates.

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, purpose first, then result filtering, then rating provenance — each sentence carries distinct, non-redundant information with no filler or repetition of the schema.

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?

With an output schema present, return shape need not be described, and the description covers what the tool searches, where data comes from, and what is excluded. The only meaningful gap is behavior when more matches exist than the limit allows (truncation vs. pagination), which is not addressed anywhere.

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 trade enum values, state format, and the limit range are already documented in the schema. The description restates the trade values but adds no new parameter semantics such as sorting, pagination, or how limit interacts with total matches, so it sits at the baseline.

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?

Specific verb (find) plus resource (roofing/siding/gutter contractors), scoped to a US city, with the data source named (The Roofing List). It never distinguishes itself from the sibling get_contractor, so an agent must infer that search returns lists while get_contractor fetches one record.

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?

"Find ... in a US city" implies the use case (location+trade lookup) and the required trade/city/state combination is discoverable. There is no explicit when-to-use versus get_contractor, no statement about when results would be empty, and no guidance on paging through more than 25 results.

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. 2 tool updates
    • First observedget_contractor
    • First observedsearch_contractors

Related MCP Connectors

Related MCP Servers

  • A
    license
    A
    quality
    B
    maintenance
    Provides free EagleView-style satellite roof measurements and modular Xactimate-style estimating from Google Solar API data, enabling contractors to generate reports and estimates from any address.
    3
    MIT
  • A
    license
    A
    quality
    A
    maintenance
    Unofficial Thumbtack MCP server for searching local service professionals and reading their profiles, ratings, reviews, and credentials. Read-only and anonymous.
    6
    340 npm
    MIT
  • A
    license
    A
    quality
    D
    maintenance
    Real-time contractor license verification across 45 US states. Verifies license status, expiration, and disciplinary history directly against state licensing board portals.
    4
    40 npm
    MIT
  • F
    license
    Not graded
    quality
    B
    maintenance
    Retrieves vetted Local Services Ads businesses (Google Guaranteed or Screened) as clean JSON for any service and US city, enabling lead generation, local SEO monitoring, and competitor tracking.
    -
Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources