905 Trades
905 Trades, Hamilton ON residential trades referral network: facts, site search, quote requests.
Should I use this
Quality & Safety
Findings (1)
- LOWin fetch
Based on automated analysis of tool definitions and protocol compliance.
Context Cost
This is the approximate number of tokens consumed each time the server's tools are loaded into a model's context. Higher counts reduce the attention available for other tasks.
Install
One-Click Install
Add this to your `claude_desktop_config.json` file:
{
"mcpServers": {
"business-card": {
"url": "https://905trades.ca/mcp"
}
}
}Remote endpoints
https://905trades.ca/mcpstreamable-httpWhat it can do
Tool inventory
Tools (4)
🟢get_business_facts
The published facts about 905 Trades: 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.
Input Schema
{
"type": "object",
"properties": {},
"additionalProperties": false
}🟢search(query)
Keyword search over the pages of the 905 Trades website. Returns page ids, titles and canonical URLs. Use fetch with an id to read a page.
Input Schema
{
"type": "object",
"properties": {
"query": {
"type": "string",
"description": "Plain words to look for, for example \"broken spring\" or \"vinyl plank basement\"."
}
},
"required": [
"query"
],
"additionalProperties": false
}Output Schema
{
"type": "object",
"properties": {
"results": {
"type": "array",
"items": {
"type": "object",
"properties": {
"id": {
"type": "string"
},
"title": {
"type": "string"
},
"url": {
"type": "string"
}
},
"required": [
"id",
"title",
"url"
]
}
}
},
"required": [
"results"
]
}🟢fetch(id)
The full text of one page of the 905 Trades website, as Markdown, with its canonical URL for citation. The id comes from search.
Input Schema
{
"type": "object",
"properties": {
"id": {
"type": "string",
"description": "A page id returned by search."
}
},
"required": [
"id"
],
"additionalProperties": false
}Output Schema
{
"type": "object",
"properties": {
"id": {
"type": "string"
},
"title": {
"type": "string"
},
"text": {
"type": "string"
},
"url": {
"type": "string"
},
"metadata": {
"type": "object"
}
},
"required": [
"id",
"title",
"text",
"url"
]
}🟡request_quote(name, phone, email, town, service, ...)
Send a homeowner's request to 905 Trades so one contractor for that trade and town calls them back. This sends a REAL message to a real small business, so call it only when the person has clearly asked to be contacted by 905 Trades 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.
Input Schema
{
"type": "object",
"properties": {
"name": {
"type": "string",
"description": "The customer's own name."
},
"phone": {
"type": "string",
"description": "The customer's phone number, ten digits. Give this or email."
},
"email": {
"type": "string",
"description": "The customer's email address. Give this or phone."
},
"town": {
"type": "string",
"description": "Town or postal code where the work is."
},
"service": {
"type": "string",
"enum": [
"flooring",
"garage-doors",
"carpet-cleaning",
"renovations"
],
"description": "What they need: flooring = flooring; garage-doors = garage doors; carpet-cleaning = carpet and upholstery cleaning; renovations = renovations."
},
"details": {
"type": "string",
"description": "What they need, in the customer's own terms. Plain text, no links, 800 characters at most."
},
"preferred_time": {
"type": "string",
"description": "When they would like to be contacted or visited, if they said."
},
"consent_to_contact": {
"type": "boolean",
"description": "Must be true: the customer has asked to be contacted by this business about this request."
}
},
"required": [
"name",
"details",
"consent_to_contact"
],
"additionalProperties": false
}Recommended Prompts
get_business_factssearchsearchsearchget_business_factsget_business_factsCommunity
Evidence