Handsome Local
Search hand-picked websites for plumbers, electricians, roofers and other trades, with screenshots.
使うべきか
品質と安全性
検出事項(2)
- LOWsearch_websites 内
- LOWget_website 内
ツール定義とプロトコルへの準拠に関する自動分析に基づいています。
コンテキストコスト
これは、サーバーのツールがモデルのコンテキストに読み込まれるたびに消費されるおおよそのトークン数です。数が多いほど、ほかのタスクに使える注意が減ります。
インストール
ワンクリックインストール
これを `claude_desktop_config.json` ファイルに追加してください:
{
"mcpServers": {
"handsome-local": {
"url": "https://handsomelocal.com/mcp"
}
}
}リモートエンドポイント
https://handsomelocal.com/mcpstreamable-httpできること
ツール一覧
ツール(3)
🟢search_websites(trade, region, style, colour, platform, ...)
Search Handsome Local, a hand-picked gallery of real websites for trades and home services businesses (plumbers, electricians, roofers, builders, heating and HVAC firms, landscapers) in the UK and US. Every entry is a live site chosen by an editor because it is well built and wins work; each comes with a screenshot of the top of the page, a one-sentence summary, its tags and a credit for whoever built it. Filter by trade, region, style, colour, platform, conversion features or typeface, or search free text. Returns the newest matches first. Use it for visual references when designing or building a website for a tradesperson. It does not rate or rank sites and it covers the trades listed only.
入力スキーマ
{
"type": "object",
"properties": {
"trade": {
"description": "Primary trade of the business, e.g. plumbers, electricians, roofers, construction, hvac, landscapers.",
"type": "string",
"enum": [
"plumbers",
"electricians",
"roofers",
"construction",
"hvac",
"landscapers",
"handyman",
"cleaners",
"pest-control"
]
},
"region": {
"description": "uk or us.",
"type": "string",
"enum": [
"uk",
"us"
]
},
"style": {
"description": "Visual style tag, e.g. minimal, bold, photographic, dark, traditional.",
"type": "string",
"enum": [
"minimal",
"bold",
"photographic",
"illustrated",
"corporate",
"friendly",
"dark",
"colourful",
"typographic",
"traditional"
]
},
"colour": {
"description": "Dominant colour tag, e.g. navy, green, orange, black.",
"type": "string",
"enum": [
"black",
"white",
"grey",
"beige",
"brown",
"blue",
"navy",
"teal",
"green",
"yellow",
"orange",
"red",
"pink",
"purple",
"multicolour"
]
},
"platform": {
"description": "What the site is built on, e.g. wordpress, webflow, wix, squarespace, custom.",
"type": "string",
"enum": [
"wordpress",
"wix",
"squarespace",
"webflow",
"framer",
"duda",
"godaddy",
"shopify",
"astro",
"custom",
"unknown"
]
},
"features": {
"description": "Conversion features the site must have, all of them, e.g. click-to-call, phone-in-header, review-count, quote-form, licence-number, van-photo.",
"maxItems": 6,
"type": "array",
"items": {
"type": "string",
"enum": [
"click-to-call",
"phone-in-header",
"sticky-cta",
"quote-form",
"online-booking",
"live-chat",
"reviews-widget",
"review-count",
"accreditation-badges",
"licence-number",
"before-and-after",
"project-gallery",
"service-area-map",
"team-photos",
"van-photo",
"prices-shown",
"emergency-line"
]
}
},
"typeface": {
"description": "A typeface name to match, e.g. Inter, Poppins, DM Sans.",
"type": "string",
"minLength": 1,
"maxLength": 60
},
"query": {
"description": "Free text matched against the business name, town, review and tech tags. Use for a place (\"Manchester\", \"Texas\") or a thing the review mentions (\"Checkatrade\", \"emergency\").",
"type": "string",
"minLength": 1,
"maxLength": 120
},
"limit": {
"default": 5,
"description": "How many results to return, 1 to 8.",
"type": "integer",
"minimum": 1,
"maximum": 8
},
"screenshots": {
"default": true,
"description": "Include each result's screenshot as an image block. Set false for text only.",
"type": "boolean"
}
},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}出力スキーマ
{
"type": "object",
"properties": {
"total_matches": {
"type": "number"
},
"returned": {
"type": "number"
},
"results": {
"type": "array",
"items": {
"type": "object",
"properties": {
"slug": {
"type": "string"
},
"name": {
"type": "string"
},
"trade": {
"type": "string"
},
"region": {
"type": "string"
},
"town": {
"type": "string"
},
"summary": {
"type": "string"
},
"credit": {
"type": "string"
},
"website": {
"type": "string"
},
"page": {
"type": "string"
},
"screenshot": {
"type": "string"
},
"features": {
"type": "array",
"items": {
"type": "string"
}
},
"style": {
"type": "array",
"items": {
"type": "string"
}
},
"colour": {
"type": "array",
"items": {
"type": "string"
}
},
"platform": {
"type": "string"
},
"typeface": {
"type": "array",
"items": {
"type": "string"
}
},
"tech": {
"type": "array",
"items": {
"type": "string"
}
},
"published_at": {
"type": "string"
}
},
"required": [
"slug",
"name",
"trade",
"region",
"summary",
"credit",
"website",
"page",
"features",
"style",
"colour",
"platform",
"typeface",
"tech"
],
"additionalProperties": false
}
}
},
"required": [
"total_matches",
"returned",
"results"
],
"$schema": "https://json-schema.org/draft/2020-12/schema",
"additionalProperties": false
}🟢get_website(slug, screenshot)
One entry from Handsome Local by its slug (the last part of an entry URL, e.g. gk-plumbing): the whole review paragraph, every tag, the credit, the live site, the entry page and the screenshots. Use after search_websites when the full review matters.
入力スキーマ
{
"type": "object",
"properties": {
"slug": {
"type": "string",
"pattern": "^[a-z0-9-]{1,60}$",
"description": "Entry slug, lower case with hyphens."
},
"screenshot": {
"default": true,
"description": "Include the card screenshot as an image block.",
"type": "boolean"
}
},
"required": [
"slug"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}出力スキーマ
{
"type": "object",
"properties": {
"slug": {
"type": "string"
},
"name": {
"type": "string"
},
"trade": {
"type": "string"
},
"region": {
"type": "string"
},
"town": {
"type": "string"
},
"summary": {
"type": "string"
},
"credit": {
"type": "string"
},
"website": {
"type": "string"
},
"page": {
"type": "string"
},
"screenshot": {
"type": "string"
},
"features": {
"type": "array",
"items": {
"type": "string"
}
},
"style": {
"type": "array",
"items": {
"type": "string"
}
},
"colour": {
"type": "array",
"items": {
"type": "string"
}
},
"platform": {
"type": "string"
},
"typeface": {
"type": "array",
"items": {
"type": "string"
}
},
"tech": {
"type": "array",
"items": {
"type": "string"
}
},
"published_at": {
"type": "string"
},
"review": {
"type": "string"
},
"captured_at": {
"type": "string"
},
"full_page_screenshot": {
"type": "string"
}
},
"required": [
"slug",
"name",
"trade",
"region",
"summary",
"credit",
"website",
"page",
"features",
"style",
"colour",
"platform",
"typeface",
"tech",
"review",
"captured_at"
],
"$schema": "https://json-schema.org/draft/2020-12/schema",
"additionalProperties": false
}🟢list_filters
The trades and tags that have published entries on Handsome Local, each with a count, so a search can be built from filters that exist. Cheap; call it before search_websites when unsure what to filter on.
入力スキーマ
{
"type": "object",
"properties": {},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}出力スキーマ
{
"type": "object",
"properties": {
"total": {
"type": "number"
},
"generated": {
"type": "string"
},
"trades": {
"type": "array",
"items": {
"type": "object",
"properties": {
"id": {
"type": "string"
},
"label": {
"type": "string"
},
"entry_term": {
"type": "string"
},
"count": {
"type": "number"
}
},
"required": [
"id",
"label",
"entry_term",
"count"
],
"additionalProperties": false
}
},
"facets": {
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {
"type": "array",
"items": {
"type": "object",
"properties": {
"term": {
"type": "string"
},
"label": {
"type": "string"
},
"count": {
"type": "number"
}
},
"required": [
"term",
"label",
"count"
],
"additionalProperties": false
}
}
}
},
"required": [
"total",
"generated",
"trades",
"facets"
],
"$schema": "https://json-schema.org/draft/2020-12/schema",
"additionalProperties": false
}コミュニティ
エビデンス