Serveur MCP

Tradehand

io.github.Humanleap/tradehand
Entreprise et opérations Public et accessible MCP 2025-11-25

Ce que fait ce MCP

Searches a UK directory of tradespeople, retrieves public trader and service details, and provides public website content.

browse_trades
List Tradehand's canonical UK trades. Instant quote is available before a trader is assigned.
Lecture seule
Schéma d’entrée
{'type': 'object', 'properties': {'limit': {'type': 'integer', 'default': 20, 'maximum': 20, 'minimum': 1}, 'query': {'type': 'string'}, 'cursor': {'type': 'string'}}, 'additionalProperties': False}
Schéma de sortie
{'type': 'object', 'required': ['schemaVersion', 'outcome', 'data', 'missingFacts', 'blockers', 'nextActions', 'continuation'], 'properties': {'data': {'type': 'object'}, 'outcome': {'enum': ['ready', 'needs_input', 'blocked', 'pending', 'completed'], 'type': 'string'}, 'blockers': {'type': 'array', 'items': {'type': 'object', 'required': ['code', 'message'], 'properties': {'code': {'type': 'string'}, 'message': {'type': 'string'}}, 'additionalProperties': False}}, 'revision': {'type': 'string'}, 'nextActions': {'type': 'array', 'items': {'type': 'object', 'required': ['code', 'label', 'requiredFacts'], 'properties': {'code': {'type': 'string'}, 'label': {'type': 'string'}, 'requiredFacts': {'type': 'array', 'items': {'type': 'string'}}}, 'additionalProperties': False}}, 'continuation': {'type': ['object', 'null'], 'properties': {'url': {'type': 'string', 'format': 'uri'}, 'kind': {'enum': ['first_party'], 'type': 'string'}}, 'additionalProperties': False}, 'missingFacts': {'type': 'array', 'items': {'type': 'object', 'required': ['field', 'question'], 'properties': {'field': {'type': 'string'}, 'question': {'type': 'string'}}, 'additionalProperties': False}}, 'schemaVersion': {'type': 'integer', 'const': 1}}, 'additionalProperties': False}
get_agent_discovery
Return the public agent discovery endpoints, content policy, and canonical URLs for Tradehand.
Lecture seule
Schéma d’entrée
{'type': 'object', 'properties': {}, 'additionalProperties': False}
get_page_markdown
Fetch a public Tradehand website page as clean markdown for agent reading and summarisation.
Lecture seule
Schéma d’entrée
{'type': 'object', 'required': ['path'], 'properties': {'path': {'type': 'string', 'default': '/', 'description': 'Public path on tradehand.com, for example /pricing or /for-trades.'}}, 'additionalProperties': False}
get_service_options
Return the listing's actual catalogue services when one exists. Does not reserve a slot or claim bookability.
Lecture seule Accès externe
Schéma d’entrée
{'type': 'object', 'required': ['publicReference'], 'properties': {'publicReference': {'type': 'string'}}, 'additionalProperties': False}
Schéma de sortie
{'type': 'object', 'required': ['schemaVersion', 'outcome', 'data', 'missingFacts', 'blockers', 'nextActions', 'continuation'], 'properties': {'data': {'type': 'object'}, 'outcome': {'enum': ['ready', 'needs_input', 'blocked', 'pending', 'completed'], 'type': 'string'}, 'blockers': {'type': 'array', 'items': {'type': 'object', 'required': ['code', 'message'], 'properties': {'code': {'type': 'string'}, 'message': {'type': 'string'}}, 'additionalProperties': False}}, 'revision': {'type': 'string'}, 'nextActions': {'type': 'array', 'items': {'type': 'object', 'required': ['code', 'label', 'requiredFacts'], 'properties': {'code': {'type': 'string'}, 'label': {'type': 'string'}, 'requiredFacts': {'type': 'array', 'items': {'type': 'string'}}}, 'additionalProperties': False}}, 'continuation': {'type': ['object', 'null'], 'properties': {'url': {'type': 'string', 'format': 'uri'}, 'kind': {'enum': ['first_party'], 'type': 'string'}}, 'additionalProperties': False}, 'missingFacts': {'type': 'array', 'items': {'type': 'object', 'required': ['field', 'question'], 'properties': {'field': {'type': 'string'}, 'question': {'type': 'string'}}, 'additionalProperties': False}}, 'schemaVersion': {'type': 'integer', 'const': 1}}, 'additionalProperties': False}
get_trader
Return a public directory profile by listing slug. Instant quote remains available even when the listing has no purchasable catalogue. Does not expose phone, street address or coordinates.
Lecture seule Accès externe
Schéma d’entrée
{'type': 'object', 'required': ['publicReference'], 'properties': {'publicReference': {'type': 'string', 'description': 'Public directory listing slug from search_traders.'}}, 'additionalProperties': False}
Schéma de sortie
{'type': 'object', 'required': ['schemaVersion', 'outcome', 'data', 'missingFacts', 'blockers', 'nextActions', 'continuation'], 'properties': {'data': {'type': 'object'}, 'outcome': {'enum': ['ready', 'needs_input', 'blocked', 'pending', 'completed'], 'type': 'string'}, 'blockers': {'type': 'array', 'items': {'type': 'object', 'required': ['code', 'message'], 'properties': {'code': {'type': 'string'}, 'message': {'type': 'string'}}, 'additionalProperties': False}}, 'revision': {'type': 'string'}, 'nextActions': {'type': 'array', 'items': {'type': 'object', 'required': ['code', 'label', 'requiredFacts'], 'properties': {'code': {'type': 'string'}, 'label': {'type': 'string'}, 'requiredFacts': {'type': 'array', 'items': {'type': 'string'}}}, 'additionalProperties': False}}, 'continuation': {'type': ['object', 'null'], 'properties': {'url': {'type': 'string', 'format': 'uri'}, 'kind': {'enum': ['first_party'], 'type': 'string'}}, 'additionalProperties': False}, 'missingFacts': {'type': 'array', 'items': {'type': 'object', 'required': ['field', 'question'], 'properties': {'field': {'type': 'string'}, 'question': {'type': 'string'}}, 'additionalProperties': False}}, 'schemaVersion': {'type': 'integer', 'const': 1}}, 'additionalProperties': False}
read_okf_concept
Read one file of the Tradehand Open Knowledge Format bundle under /okf as raw markdown, YAML frontmatter intact. Start at /okf/index.md for the list of concepts.
Lecture seule
Schéma d’entrée
{'type': 'object', 'required': ['path'], 'properties': {'path': {'type': 'string', 'default': '/okf/index.md', 'description': 'Bundle path under /okf, for example /okf/costs/eicr.md, /okf/costs/ or /okf/log.md.'}}, 'additionalProperties': False}
search_traders
Find current public Tradehand directory listings by trade and optional UK postcode or place. Returns claim state, listing-source freshness, accreditation names, and canonical profile URLs; it does not claim availability, expose mixed-source ratings, or contact anyone.
Lecture seule Accès externe
Schéma d’entrée
{'type': 'object', 'required': ['trade'], 'properties': {'limit': {'type': 'integer', 'default': 10, 'maximum': 20, 'minimum': 1}, 'trade': {'type': 'string', 'description': 'Trade name or directory slug, for example Electricians, plumber, or roofers.'}, 'location': {'type': 'string', 'description': 'Optional UK town, city, or borough; do not combine with postcode.'}, 'postcode': {'type': 'string', 'description': 'Optional full UK postcode, for example CO1 1AA.'}}, 'additionalProperties': False}
Schéma de sortie
{'type': 'object', 'required': ['status', 'trade', 'requestedLocation', 'resolvedArea', 'total', 'returned', 'truncated', 'coverageNote', 'listings'], 'properties': {'total': {'type': 'integer', 'minimum': 0}, 'trade': {'type': 'object', 'required': ['value', 'label', 'slug'], 'properties': {'slug': {'type': 'string'}, 'label': {'type': 'string'}, 'value': {'type': 'string'}}, 'additionalProperties': False}, 'status': {'enum': ['ok', 'empty'], 'type': 'string'}, 'listings': {'type': 'array', 'items': {'type': 'object', 'required': ['publicReference', 'name', 'trade', 'location', 'claimed', 'accreditations', 'sourceRegister', 'sourceCheckedAt', 'profileUrl'], 'properties': {'name': {'type': 'string'}, 'trade': {'type': 'string'}, 'claimed': {'type': 'boolean'}, 'location': {'type': 'string'}, 'profileUrl': {'type': 'string', 'format': 'uri'}, 'accreditations': {'type': 'array', 'items': {'type': 'string'}}, 'sourceRegister': {'type': ['string', 'null']}, 'publicReference': {'type': 'string', 'description': 'Public directory listing slug for get_trader.'}, 'sourceCheckedAt': {'type': ['string', 'null']}}, 'additionalProperties': False}}, 'returned': {'type': 'integer', 'minimum': 0}, 'truncated': {'type': 'boolean'}, 'coverageNote': {'type': 'string'}, 'resolvedArea': {'type': 'object', 'required': ['name', 'path'], 'properties': {'name': {'type': 'string'}, 'path': {'type': ['string', 'null'], 'format': 'uri'}}, 'additionalProperties': False}, 'requestedLocation': {'type': ['string', 'null']}}, 'additionalProperties': False}
Ajouté
read_okf_concept
2 October 2026 02:40
Ajouté
get_agent_discovery
2 October 2026 02:40
Ajouté
get_page_markdown
2 October 2026 02:40
Ajouté
get_service_options
2 October 2026 02:40
Ajouté
get_trader
2 October 2026 02:40
Ajouté
search_traders
2 October 2026 02:40
Ajouté
browse_trades
2 October 2026 02:40