TaskMan of London
Book London furniture assembly, wall mounting, handyman, electrical, and smart home jobs.
¿Debería usar esto?
Calidad y seguridad
Hallazgos (5)
- LOWen find_services
- LOWen check_service_area
- LOWen get_quote_estimate
- LOWen verify_magic_link_token
- LOWen update_contact_note
Basado en el análisis automatizado de las definiciones de herramientas y el cumplimiento del protocolo.
Costo de contexto
Este es el número aproximado de tokens que se consumen cada vez que las herramientas del servidor se cargan en el contexto de un modelo. Los recuentos más altos reducen la atención disponible para otras tareas.
Instalar
Instalación con un clic
Agrega esto a tu archivo `claude_desktop_config.json`:
{
"mcpServers": {
"home-services": {
"url": "https://taskman.london/mcp"
}
}
}Puntos de conexión remotos
https://taskman.london/mcpstreamable-httpQué puede hacer
Inventario de herramientas
Herramientas (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.
Esquema de entrada
{
"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.
Esquema de entrada
{
"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.
Esquema de entrada
{
"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.
Esquema de entrada
{
"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.
Esquema de entrada
{
"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.
Esquema de entrada
{
"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.
Esquema de entrada
{
"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.
Esquema de entrada
{
"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.
Esquema de entrada
{
"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.
Esquema de entrada
{
"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.
Esquema de entrada
{
"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.
Esquema de entrada
{
"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.
Esquema de entrada
{
"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.
Esquema de entrada
{
"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.
Esquema de entrada
{
"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.
Esquema de entrada
{
"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.
Esquema de entrada
{
"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.
Esquema de entrada
{
"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.
Esquema de entrada
{
"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.
Esquema de entrada
{
"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
}Prompts recomendados
find_servicesfind_servicesget_quote_estimateget_quote_estimatelist_customer_addressesComunidad
Evidencia