TaskMan of London
Book London furniture assembly, wall mounting, handyman, electrical, and smart home jobs.
Sollte ich dies verwenden
Qualität und Sicherheit
Befunde (5)
- LOWin find_services
- LOWin check_service_area
- LOWin get_quote_estimate
- LOWin verify_magic_link_token
- LOWin update_contact_note
Basierend auf einer automatisierten Analyse der Tool-Definitionen und der Einhaltung des Protokolls.
Kontextkosten
Dies ist die ungefähre Anzahl der Tokens, die jedes Mal verbraucht werden, wenn die Tools des Servers in den Kontext eines Modells geladen werden. Höhere Werte verringern die Aufmerksamkeit, die für andere Aufgaben verfügbar ist.
Installieren
Installation mit einem Klick
Fügen Sie dies Ihrer Datei `claude_desktop_config.json` hinzu:
{
"mcpServers": {
"home-services": {
"url": "https://taskman.london/mcp"
}
}
}Remote-Endpunkte
https://taskman.london/mcpstreamable-httpWas es kann
Tool-Inventar
Tools (20)
🟢find_services(query, area, urgency)
Use when the user needs help identifying which TaskMan of London service fits their job, especially for vague home-service requests in London.
Eingabe-Schema
{
"type": "object",
"properties": {
"query": {
"type": "string",
"minLength": 2,
"maxLength": 200
},
"area": {
"type": "string",
"minLength": 2,
"maxLength": 80
},
"urgency": {
"type": "string",
"enum": [
"flexible",
"specific_date",
"urgent"
]
}
},
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false
}🟢check_service_area(postcode, service_type)
Use when the user provides a London postcode or asks whether TaskMan covers their area.
Eingabe-Schema
{
"type": "object",
"properties": {
"postcode": {
"type": "string",
"minLength": 3,
"maxLength": 12
},
"service_type": {
"type": "string",
"enum": [
"furniture_assembly",
"wall_mounting",
"handyman",
"electrician",
"smart_home_installation"
]
}
},
"required": [
"postcode"
],
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false
}🟢get_quote_estimate(service_type, task_summary, item_count, item_type, brand, ...)
Use when the user asks about likely cost, ballpark pricing, or whether a task needs a custom quote.
Eingabe-Schema
{
"type": "object",
"properties": {
"service_type": {
"type": "string",
"enum": [
"furniture_assembly",
"wall_mounting",
"handyman",
"electrician",
"smart_home_installation"
]
},
"task_summary": {
"type": "string",
"minLength": 8,
"maxLength": 500
},
"item_count": {
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 25
},
"item_type": {
"type": "string",
"maxLength": 80
},
"brand": {
"type": "string",
"maxLength": 80
},
"wall_type": {
"type": "string",
"maxLength": 80
},
"photos_provided": {
"type": "boolean"
},
"postcode": {
"type": "string",
"maxLength": 12
},
"preferred_date": {
"type": "string",
"pattern": "^\\d{4}-\\d{2}-\\d{2}$"
}
},
"required": [
"service_type",
"task_summary"
],
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false
}🟢check_availability(service_type, postcode, preferred_date, time_preference)
Use when the user asks about dates, timing, or whether a service can likely be booked soon.
Eingabe-Schema
{
"type": "object",
"properties": {
"service_type": {
"type": "string",
"enum": [
"furniture_assembly",
"wall_mounting",
"handyman",
"electrician",
"smart_home_installation"
]
},
"postcode": {
"type": "string",
"minLength": 3,
"maxLength": 12
},
"preferred_date": {
"type": "string",
"pattern": "^\\d{4}-\\d{2}-\\d{2}$"
},
"time_preference": {
"type": "string",
"enum": [
"morning",
"afternoon",
"evening",
"flexible"
]
}
},
"required": [
"service_type",
"postcode"
],
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false
}⚪match_providers(service_type, area_postcode, urgency, preferred_date, location_id)
Use when an agent needs a single deterministic provider-matching result for assignment. Returns an ordered_candidates array sorted best-to-worst, where the first can_assign=true candidate is the assignee.
Eingabe-Schema
{
"type": "object",
"properties": {
"service_type": {
"type": "string",
"enum": [
"furniture_assembly",
"wall_mounting",
"handyman",
"electrician",
"smart_home_installation"
]
},
"area_postcode": {
"type": "string",
"minLength": 2,
"maxLength": 12
},
"urgency": {
"type": "string",
"enum": [
"flexible",
"specific_date",
"urgent"
]
},
"preferred_date": {
"type": "string",
"pattern": "^\\d{4}-\\d{2}-\\d{2}$"
},
"location_id": {
"type": "string",
"minLength": 1,
"maxLength": 120
}
},
"required": [
"service_type",
"area_postcode",
"urgency"
],
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false
}🟡create_booking_request(customer_name, phone, email, postcode, service_type, ...)
Use when the user is ready to submit details for a real TaskMan of London booking request.
Eingabe-Schema
{
"type": "object",
"properties": {
"customer_name": {
"type": "string",
"minLength": 2,
"maxLength": 120
},
"phone": {
"type": "string",
"minLength": 7,
"maxLength": 25
},
"email": {
"type": "string",
"format": "email",
"pattern": "^(?!\\.)(?!.*\\.\\.)([A-Za-z0-9_'+\\-\\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$"
},
"postcode": {
"type": "string",
"minLength": 3,
"maxLength": 12
},
"service_type": {
"type": "string",
"enum": [
"furniture_assembly",
"wall_mounting",
"handyman",
"electrician",
"smart_home_installation"
]
},
"task_summary": {
"type": "string",
"minLength": 8,
"maxLength": 500
},
"idempotency_key": {
"type": "string",
"minLength": 8,
"maxLength": 200
},
"preferred_date": {
"type": "string",
"pattern": "^\\d{4}-\\d{2}-\\d{2}$"
},
"time_preference": {
"type": "string",
"enum": [
"morning",
"afternoon",
"evening",
"flexible"
]
},
"photos_url": {
"type": "string",
"format": "uri"
},
"source": {
"default": "chatgpt_app",
"type": "string",
"const": "chatgpt_app"
},
"consent_to_contact": {
"type": "boolean"
}
},
"required": [
"customer_name",
"phone",
"postcode",
"service_type",
"task_summary",
"consent_to_contact"
],
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false
}🟢get_booking_status(booking_request_id, phone, email)
Use when the user already has a TaskMan booking request and wants an update.
Eingabe-Schema
{
"type": "object",
"properties": {
"booking_request_id": {
"type": "string",
"minLength": 4,
"maxLength": 80
},
"phone": {
"type": "string",
"minLength": 7,
"maxLength": 25
},
"email": {
"type": "string",
"format": "email",
"pattern": "^(?!\\.)(?!.*\\.\\.)([A-Za-z0-9_'+\\-\\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$"
}
},
"required": [
"booking_request_id"
],
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false
}⚪start_trusted_phone_session(identifier)
Use in trusted telephony flows when the caller number is already verified by the channel provider and you need a short-lived booking session without OTP.
Eingabe-Schema
{
"type": "object",
"properties": {
"identifier": {
"type": "string",
"minLength": 5,
"maxLength": 200
}
},
"required": [
"identifier"
],
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false
}⚪start_customer_verification(identifier, method_preference, channel_preference)
Use when an existing customer wants to verify identity (OTP or magic link) before assistant-led booking.
Eingabe-Schema
{
"type": "object",
"properties": {
"identifier": {
"type": "string",
"minLength": 5,
"maxLength": 200
},
"method_preference": {
"default": "auto",
"type": "string",
"enum": [
"otp",
"magic_link",
"auto"
]
},
"channel_preference": {
"default": "auto",
"type": "string",
"enum": [
"sms",
"email",
"auto"
]
}
},
"required": [
"identifier"
],
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false
}⚪verify_customer_otp(challenge_id, otp_code)
Use after sending an OTP challenge, to verify the one-time passcode and open a short-lived booking session.
Eingabe-Schema
{
"type": "object",
"properties": {
"challenge_id": {
"type": "string",
"minLength": 8,
"maxLength": 120
},
"otp_code": {
"type": "string",
"pattern": "^\\d{4,8}$"
}
},
"required": [
"challenge_id",
"otp_code"
],
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false
}⚪verify_magic_link_token(token)
Use when the customer clicks a magic link and provides the token for verification.
Eingabe-Schema
{
"type": "object",
"properties": {
"token": {
"type": "string",
"minLength": 24,
"maxLength": 4000
}
},
"required": [
"token"
],
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false
}🟢get_customer_profile(session_token)
Use after verification to load scoped customer profile details from CRM for booking.
Eingabe-Schema
{
"type": "object",
"properties": {
"session_token": {
"type": "string",
"minLength": 20,
"maxLength": 300
}
},
"required": [
"session_token"
],
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false
}🟢list_customer_addresses(session_token)
Use after verification to list saved addresses linked to the verified customer.
Eingabe-Schema
{
"type": "object",
"properties": {
"session_token": {
"type": "string",
"minLength": 20,
"maxLength": 300
}
},
"required": [
"session_token"
],
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false
}🟢list_service_types(session_token)
Use after verification to show supported service types before collecting booking details.
Eingabe-Schema
{
"type": "object",
"properties": {
"session_token": {
"type": "string",
"minLength": 20,
"maxLength": 300
}
},
"required": [
"session_token"
],
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false
}🟢get_customer_availability(session_token, service_type, address_id, preferred_date, time_preference)
Use after verification to check availability for a verified customer at a selected saved address.
Eingabe-Schema
{
"type": "object",
"properties": {
"session_token": {
"type": "string",
"minLength": 20,
"maxLength": 300
},
"service_type": {
"type": "string",
"enum": [
"furniture_assembly",
"wall_mounting",
"handyman",
"electrician",
"smart_home_installation"
]
},
"address_id": {
"type": "string",
"minLength": 2,
"maxLength": 120
},
"preferred_date": {
"type": "string",
"pattern": "^\\d{4}-\\d{2}-\\d{2}$"
},
"time_preference": {
"type": "string",
"enum": [
"morning",
"afternoon",
"evening",
"flexible"
]
}
},
"required": [
"session_token",
"service_type"
],
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false
}🟡start_booking_payment(session_token, contact_id, service_type, task_summary, preferred_date, ...)
Use after collecting booking details to create a Stripe checkout payment session before final booking submission.
Eingabe-Schema
{
"type": "object",
"properties": {
"session_token": {
"type": "string",
"minLength": 20,
"maxLength": 300
},
"contact_id": {
"type": "string",
"minLength": 1,
"maxLength": 120
},
"service_type": {
"type": "string",
"enum": [
"furniture_assembly",
"wall_mounting",
"handyman",
"electrician",
"smart_home_installation"
]
},
"task_summary": {
"type": "string",
"minLength": 8,
"maxLength": 500
},
"preferred_date": {
"type": "string",
"pattern": "^\\d{4}-\\d{2}-\\d{2}$"
},
"address_id": {
"type": "string",
"minLength": 2,
"maxLength": 120
},
"deposit_amount_minor": {
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 500000
}
},
"required": [
"session_token",
"service_type",
"task_summary"
],
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false
}🟢get_booking_payment_status(session_token, payment_session_id)
Use to check whether a booking payment session is pending, paid, failed, canceled, or expired before attempting booking creation.
Eingabe-Schema
{
"type": "object",
"properties": {
"session_token": {
"type": "string",
"minLength": 20,
"maxLength": 300
},
"payment_session_id": {
"type": "string",
"minLength": 6,
"maxLength": 200
}
},
"required": [
"session_token",
"payment_session_id"
],
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false
}🟡create_customer_booking(session_token, contact_id, service_type, task_summary, payment_session_id, ...)
Use after verification, detail collection, and confirmed paid payment session to create a booking scoped to the verified customer.
Eingabe-Schema
{
"type": "object",
"properties": {
"session_token": {
"type": "string",
"minLength": 20,
"maxLength": 300
},
"contact_id": {
"type": "string",
"minLength": 1,
"maxLength": 120
},
"service_type": {
"type": "string",
"enum": [
"furniture_assembly",
"wall_mounting",
"handyman",
"electrician",
"smart_home_installation"
]
},
"task_summary": {
"type": "string",
"minLength": 8,
"maxLength": 500
},
"payment_session_id": {
"type": "string",
"minLength": 6,
"maxLength": 200
},
"idempotency_key": {
"type": "string",
"minLength": 8,
"maxLength": 200
},
"address_id": {
"type": "string",
"minLength": 2,
"maxLength": 120
},
"preferred_date": {
"type": "string",
"pattern": "^\\d{4}-\\d{2}-\\d{2}$"
},
"time_preference": {
"type": "string",
"enum": [
"morning",
"afternoon",
"evening",
"flexible"
]
},
"photos_url": {
"type": "string",
"format": "uri"
},
"consent_to_contact": {
"default": true,
"type": "boolean"
}
},
"required": [
"session_token",
"service_type",
"task_summary",
"payment_session_id"
],
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false
}🟡update_contact_note(session_token, note)
Use to append an internal CRM note for the verified customer during or after booking.
Eingabe-Schema
{
"type": "object",
"properties": {
"session_token": {
"type": "string",
"minLength": 20,
"maxLength": 300
},
"note": {
"type": "string",
"minLength": 4,
"maxLength": 2000
}
},
"required": [
"session_token",
"note"
],
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false
}🟡tag_contact(session_token, tags)
Use to add CRM tags to the verified customer for booking workflow tracking.
Eingabe-Schema
{
"type": "object",
"properties": {
"session_token": {
"type": "string",
"minLength": 20,
"maxLength": 300
},
"tags": {
"minItems": 1,
"maxItems": 20,
"type": "array",
"items": {
"type": "string",
"minLength": 1,
"maxLength": 80
}
}
},
"required": [
"session_token",
"tags"
],
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false
}Empfohlene Prompts
find_servicesfind_servicesget_quote_estimateget_quote_estimatelist_customer_addressesCommunity
Nachweis