Handsome Local
Search hand-picked websites for plumbers, electricians, roofers and other trades, with screenshots.
我该使用它吗
质量与安全性
发现(2)
- LOW在 search_websites 中
- LOW在 get_website 中
基于对工具定义和协议合规性的自动分析。
上下文开销
这是每次将服务器的工具加载到模型上下文窗口时所消耗的大致 token 数。数值越高,可用于其他任务的注意力就越少。
安装
一键安装
将以下内容添加到你的 `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
}社区
证据