Commercial Garage Doorman
Server Details
Commercial Garage Doorman, Hamilton area commercial door service: business facts and site search.
- Status
- Healthy
- Uptime
- 100.0% over 41 days
- Last Tested
- Transport
- Streamable HTTP · MCP 2025-11-25
- URL
TDQS
Scored across 4 tools
search and fetch are a clearly delineated pair (search returns ids, fetch reads a page by id), and request_quote is unmistakably a write/side-effect action. get_business_facts overlaps with what search+fetch could retrieve since its facts also live on the public site, but its 'call this first' framing makes it a deliberate fast path rather than a competing tool.
All names are lowercase snake_case and verb-led, but two are bare verbs (fetch, search) while the other two are verb_noun (get_business_facts, request_quote). The deviation is minor and readable; the implicit object of fetch/search is clear from context.
Four tools is a tight, well-scoped surface for a small-business website plus lead capture: read facts, search pages, fetch a page, send a quote request. Nothing is redundant and nothing feels padded.
The read path (facts/search/fetch) and the conversion path (request_quote) are both covered, so core workflows have no dead ends. The one gap is that there is no way to enumerate the site's pages or get an index, so an agent can only reach content it can guess keywords for.
Available Tools
4 toolsfetchRead a page from Commercial Garage DoormanARead-onlyIdempotentInspect
The full text of one page of the Commercial Garage Doorman website, as Markdown, with its canonical URL for citation. The id comes from search.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | A page id returned by search. |
Output Schema
| Name | Required | Description |
|---|---|---|
| id | Yes | |
| url | Yes | |
| text | Yes | |
| title | Yes | |
| metadata | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint and idempotentHint, covering the safety profile. The description adds that output is Markdown and includes a canonical URL, but it does not describe error behavior or invalid-id handling. This is adequate given the annotation coverage, but not rich.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two concise sentences with no wasted words. The first sentence front-loads the core purpose and output format, and the second provides the necessary dependency on search.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple one-parameter fetch tool, the description plus annotations and output schema are nearly complete. It covers what is returned and where the id comes from. A minor gap is not stating how invalid or stale ids are handled, though the output schema likely covers the return structure.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the single parameter id is well documented. The description repeats the same information ('The id comes from search') without adding new meaning such as format or constraints, so it stays at the baseline set by the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The title and description clearly state that the tool reads one page of the Commercial Garage Doorman website and returns its full text as Markdown with a canonical URL. It is easily distinguished from siblings: search is the source of the id, and get_business_facts implies a different data type.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explicitly says 'The id comes from search,' which tells an agent to use search first and then fetch with the returned id. This is clear context, though it does not explicitly name get_business_facts as an alternative or state when not to use fetch.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_business_factsCommercial Garage Doorman: business factsARead-onlyIdempotentInspect
The published facts about Commercial Garage Doorman: what it does, the phone number, opening hours, the towns it serves, its services, and how it handles pricing. Every fact here also appears on the public website. Call this first.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover read-only and idempotent behavior. The description adds value by noting the facts are 'published' and appear on the public website, and it includes the priority directive. This context goes beyond the annotations without contradicting them.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three concise sentences: the first defines the resource and content, the second adds provenance, the third gives usage priority. No wasted words, and the important information is front-loaded.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a zero-parameter, read-only tool with no output schema, the description fully covers what is returned (listed fact categories) and is backed by safety annotations. An agent can confidently call it without further clarification.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
With zero parameters, the schema fully covers parameter semantics (vacuous), and the baseline for 0 params is 4. The description appropriately focuses on response content instead of parameters.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly identifies the tool's resource ('Commercial Garage Doorman') and lists the exact categories of facts it returns (what it does, phone, hours, towns, services, pricing). This goes beyond a tautology and distinguishes it from generic siblings like fetch and search. The instruction 'Call this first' reinforces its specific role.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It explicitly instructs 'Call this first,' giving clear priority guidance. However, it does not contrast with siblings (fetch/search) or state when not to use this tool, so it only partially satisfies the 'when/when-not/alternatives' ideal.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
request_quoteAsk Commercial Garage Doorman for a quote or a callbackAInspect
Ask Commercial Garage Doorman to contact a facility manager, property manager, contractor or business owner about commercial or industrial doors: a repair, doors for a new building, a replacement, a maintenance program or dock equipment. Not for houses, and not for a door that is stuck open right now: that is a phone call. This sends a REAL message to a real small business, so call it only when the person has clearly asked to be contacted by Commercial Garage Doorman and has given you their own name and their own phone number or email. Never guess or invent contact details. Plain words only, no links. One request per person per day. If it is urgent, give them the phone number instead: (905) 536-5369.
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes | The customer's own name. | |
| town | No | Town or postal code where the work is. | |
| No | The customer's email address. Give this or phone. | ||
| phone | No | The customer's phone number, ten digits. Give this or email. | |
| details | Yes | What they need, in the customer's own terms. Plain text, no links, 800 characters at most. | |
| service | No | What they need: repair = a repair or service call; new-construction = doors for a new building; replacement = replacing an existing door; maintenance = a planned maintenance program; dock = dock levellers, seals or bumpers; other = something else. | |
| preferred_time | No | When they would like to be contacted or visited, if they said. | |
| consent_to_contact | Yes | Must be true: the customer has asked to be contacted by this business about this request. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations only say it is non-read-only, open-world and non-idempotent; the description goes much further, disclosing that it sends a REAL message to a real small business, that consent must be genuine, that contact details must never be invented, that content must be plain words with no links, and how to redirect urgent cases. That is exactly the context an agent needs before an irreversible outbound side effect.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Front-loaded with purpose and exclusions before the constraints, and essentially every sentence carries a real rule (scope, consent, no invented details, no links, daily limit, urgent fallback). It is dense though — the consent/anti-fabrication rules run together in one long middle stretch rather than being broken out, which slightly hurts scannability.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For an 8-parameter, fully documented, non-idempotent outbound tool with no output schema, the description covers scope, exclusions, consent, data-sourcing and rate limits. The remaining gap is what happens after submission (confirmation, expected callback timing, what the call returns), which an agent may want in order to set expectations.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the baseline is 3; the description earns above that by adding sourcing rules the schema does not state — 'never guess or invent contact details' and that the name and phone/email must be the person's own — which directly govern how name, phone, email and consent_to_contact get populated. It does not add format-level detail (e.g. ten-digit phone, 800-char details) beyond what the schema already documents.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource ('Ask Commercial Garage Doorman to contact a facility manager... about commercial or industrial doors') and enumerates the qualifying job types (repair, new building, replacement, maintenance program, dock equipment). No sibling tool (fetch, search, get_business_facts) could be mistaken for this, so differentiation is implicit but unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicit when-to-use (commercial/industrial door work), when-not ('not for houses, and not for a door that is stuck open right now: that is a phone call'), and the alternative for the excluded case (call (905) 536-5369). It also states the precondition (the person clearly asked to be contacted and supplied their own name plus phone or email) and a rate limit of one request per person per day.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
searchSearch Commercial Garage DoormanARead-onlyIdempotentInspect
Keyword search over the pages of the Commercial Garage Doorman website. Returns page ids, titles and canonical URLs. Use fetch with an id to read a page.
| Name | Required | Description | Default |
|---|---|---|---|
| query | Yes | Plain words to look for, for example "broken spring" or "vinyl plank basement". |
Output Schema
| Name | Required | Description |
|---|---|---|
| results | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint and idempotentHint, so the safety profile is covered. The description adds that search returns only ids, titles, and canonical URLs rather than full page content, which is useful context. It does not disclose pagination, ordering, or result limits, but the annotation coverage lowers the burden.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences with no filler. The first sentence delivers the action and scope, the second states the return value and the natural next step, making the description easy to scan and act on.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given one required parameter with full schema coverage, a present output schema, and annotations covering read-only/idempotent behavior, the description covers what an agent needs to select and invoke the tool correctly. The pointer to fetch completes the workflow.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The single query parameter is fully documented in the schema with a clear description and examples, so schema coverage is 100%. The tool description adds no additional parameter semantics beyond confirming free-text keyword search.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb ('Keyword search'), a specific resource ('pages of the Commercial Garage Doorman website'), and the exact return fields (page ids, titles, canonical URLs). It is clearly distinguishable from fetch, which is framed as the follow-up read operation.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explicitly says 'Use fetch with an id to read a page,' establishing search as the discovery step and fetch as the retrieval step. It does not mention get_business_facts, so it is not a complete routing guide, but the primary sibling alternative is handled.
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 tool update
- Added
request_quote
3 tool updates
- First observed
fetch - First observed
get_business_facts - First observed
search
Related MCP Connectors
Garage Doorman, Grimsby ON residential garage door repair: business facts, site search, quotes.
905 Trades, Hamilton ON residential trades referral network: facts, site search, quote requests.
Referral Flooring, Hamilton ON flooring installer: business facts, site search, quote requests.
Commercial insurance research: provider comparisons, pricing, and fit guidance.
Related MCP Servers
- AlicenseAqualityDmaintenanceSearch companies, officers, and filing history across 140+ jurisdictions worldwide using the OpenCorporates API.514 npmMIT
- AlicenseAqualityCmaintenanceSearch for local businesses worldwide. Structured data optimized for AI agents. • Search Millions of businesses over 49 countries (Europe, Northamerica, Southamerica, Asia, Oceania) • Quality & demand scoring for every business • Ranking based on real user click-through data • No API key needed, free access • Rate limit: 500 requests/hour per IP61MIT
- AlicenseNot gradedqualityDmaintenanceEnables searching Google Local for businesses by keyword and location, returning details like name, address, phone, hours, ratings, and more. Useful for lead generation, local SEO, and market analysis.MIT
- FlicenseNot gradedqualityCmaintenanceEnables searching and retrieving 126 Canadian contractor forms with verified regulatory citations, determining needed forms from plain-language situations, and estimating 2026 provincial trades taxes, required hourly rates, and HST quick method comparisons.-
Glama MCP Gateway
Add one secure layer between your agents and this server.