Server definition
- Hash
- sha256:0eb7e344f4977c1ad3e9da7a2396f1efbb1d4ebbd49cbc03762197ccff0505fa
- What it is
- What a remote MCP server returned when asked what it offers: 20 tools
The blob, as servednamed by its sha256
{
"instructions": null,
"tools": [
{
"description": "Use when the user asks about dates, timing, or whether a service can likely be booked soon.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false,
"properties": {
"postcode": {
"maxLength": 12,
"minLength": 3,
"type": "string"
},
"preferred_date": {
"pattern": "^\\d{4}-\\d{2}-\\d{2}$",
"type": "string"
},
"service_type": {
"enum": [
"furniture_assembly",
"wall_mounting",
"handyman",
"electrician",
"smart_home_installation"
],
"type": "string"
},
"time_preference": {
"enum": [
"morning",
"afternoon",
"evening",
"flexible"
],
"type": "string"
}
},
"required": [
"service_type",
"postcode"
],
"type": "object"
},
"name": "check_availability",
"outputSchema": null
},
{
"description": "Use when the user provides a London postcode or asks whether TaskMan covers their area.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false,
"properties": {
"postcode": {
"maxLength": 12,
"minLength": 3,
"type": "string"
},
"service_type": {
"enum": [
"furniture_assembly",
"wall_mounting",
"handyman",
"electrician",
"smart_home_installation"
],
"type": "string"
}
},
"required": [
"postcode"
],
"type": "object"
},
"name": "check_service_area",
"outputSchema": null
},
{
"description": "Use when the user is ready to submit details for a real TaskMan of London booking request.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false,
"properties": {
"consent_to_contact": {
"type": "boolean"
},
"customer_name": {
"maxLength": 120,
"minLength": 2,
"type": "string"
},
"email": {
"format": "email",
"pattern": "^(?!\\.)(?!.*\\.\\.)([A-Za-z0-9_'+\\-\\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$",
"type": "string"
},
"idempotency_key": {
"maxLength": 200,
"minLength": 8,
"type": "string"
},
"phone": {
"maxLength": 25,
"minLength": 7,
"type": "string"
},
"photos_url": {
"format": "uri",
"type": "string"
},
"postcode": {
"maxLength": 12,
"minLength": 3,
"type": "string"
},
"preferred_date": {
"pattern": "^\\d{4}-\\d{2}-\\d{2}$",
"type": "string"
},
"service_type": {
"enum": [
"furniture_assembly",
"wall_mounting",
"handyman",
"electrician",
"smart_home_installation"
],
"type": "string"
},
"source": {
"const": "chatgpt_app",
"default": "chatgpt_app",
"type": "string"
},
"task_summary": {
"maxLength": 500,
"minLength": 8,
"type": "string"
},
"time_preference": {
"enum": [
"morning",
"afternoon",
"evening",
"flexible"
],
"type": "string"
}
},
"required": [
"customer_name",
"phone",
"postcode",
"service_type",
"task_summary",
"consent_to_contact"
],
"type": "object"
},
"name": "create_booking_request",
"outputSchema": null
},
{
"description": "Use after verification, detail collection, and confirmed paid payment session to create a booking scoped to the verified customer.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false,
"properties": {
"address_id": {
"maxLength": 120,
"minLength": 2,
"type": "string"
},
"consent_to_contact": {
"default": true,
"type": "boolean"
},
"contact_id": {
"maxLength": 120,
"minLength": 1,
"type": "string"
},
"idempotency_key": {
"maxLength": 200,
"minLength": 8,
"type": "string"
},
"payment_session_id": {
"maxLength": 200,
"minLength": 6,
"type": "string"
},
"photos_url": {
"format": "uri",
"type": "string"
},
"preferred_date": {
"pattern": "^\\d{4}-\\d{2}-\\d{2}$",
"type": "string"
},
"service_type": {
"enum": [
"furniture_assembly",
"wall_mounting",
"handyman",
"electrician",
"smart_home_installation"
],
"type": "string"
},
"session_token": {
"maxLength": 300,
"minLength": 20,
"type": "string"
},
"task_summary": {
"maxLength": 500,
"minLength": 8,
"type": "string"
},
"time_preference": {
"enum": [
"morning",
"afternoon",
"evening",
"flexible"
],
"type": "string"
}
},
"required": [
"session_token",
"service_type",
"task_summary",
"payment_session_id"
],
"type": "object"
},
"name": "create_customer_booking",
"outputSchema": null
},
{
"description": "Use when the user needs help identifying which TaskMan of London service fits their job, especially for vague home-service requests in London.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false,
"properties": {
"area": {
"maxLength": 80,
"minLength": 2,
"type": "string"
},
"query": {
"maxLength": 200,
"minLength": 2,
"type": "string"
},
"urgency": {
"enum": [
"flexible",
"specific_date",
"urgent"
],
"type": "string"
}
},
"type": "object"
},
"name": "find_services",
"outputSchema": null
},
{
"description": "Use to check whether a booking payment session is pending, paid, failed, canceled, or expired before attempting booking creation.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false,
"properties": {
"payment_session_id": {
"maxLength": 200,
"minLength": 6,
"type": "string"
},
"session_token": {
"maxLength": 300,
"minLength": 20,
"type": "string"
}
},
"required": [
"session_token",
"payment_session_id"
],
"type": "object"
},
"name": "get_booking_payment_status",
"outputSchema": null
},
{
"description": "Use when the user already has a TaskMan booking request and wants an update.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false,
"properties": {
"booking_request_id": {
"maxLength": 80,
"minLength": 4,
"type": "string"
},
"email": {
"format": "email",
"pattern": "^(?!\\.)(?!.*\\.\\.)([A-Za-z0-9_'+\\-\\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$",
"type": "string"
},
"phone": {
"maxLength": 25,
"minLength": 7,
"type": "string"
}
},
"required": [
"booking_request_id"
],
"type": "object"
},
"name": "get_booking_status",
"outputSchema": null
},
{
"description": "Use after verification to check availability for a verified customer at a selected saved address.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false,
"properties": {
"address_id": {
"maxLength": 120,
"minLength": 2,
"type": "string"
},
"preferred_date": {
"pattern": "^\\d{4}-\\d{2}-\\d{2}$",
"type": "string"
},
"service_type": {
"enum": [
"furniture_assembly",
"wall_mounting",
"handyman",
"electrician",
"smart_home_installation"
],
"type": "string"
},
"session_token": {
"maxLength": 300,
"minLength": 20,
"type": "string"
},
"time_preference": {
"enum": [
"morning",
"afternoon",
"evening",
"flexible"
],
"type": "string"
}
},
"required": [
"session_token",
"service_type"
],
"type": "object"
},
"name": "get_customer_availability",
"outputSchema": null
},
{
"description": "Use after verification to load scoped customer profile details from CRM for booking.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false,
"properties": {
"session_token": {
"maxLength": 300,
"minLength": 20,
"type": "string"
}
},
"required": [
"session_token"
],
"type": "object"
},
"name": "get_customer_profile",
"outputSchema": null
},
{
"description": "Use when the user asks about likely cost, ballpark pricing, or whether a task needs a custom quote.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false,
"properties": {
"brand": {
"maxLength": 80,
"type": "string"
},
"item_count": {
"exclusiveMinimum": 0,
"maximum": 25,
"type": "integer"
},
"item_type": {
"maxLength": 80,
"type": "string"
},
"photos_provided": {
"type": "boolean"
},
"postcode": {
"maxLength": 12,
"type": "string"
},
"preferred_date": {
"pattern": "^\\d{4}-\\d{2}-\\d{2}$",
"type": "string"
},
"service_type": {
"enum": [
"furniture_assembly",
"wall_mounting",
"handyman",
"electrician",
"smart_home_installation"
],
"type": "string"
},
"task_summary": {
"maxLength": 500,
"minLength": 8,
"type": "string"
},
"wall_type": {
"maxLength": 80,
"type": "string"
}
},
"required": [
"service_type",
"task_summary"
],
"type": "object"
},
"name": "get_quote_estimate",
"outputSchema": null
},
{
"description": "Use after verification to list saved addresses linked to the verified customer.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false,
"properties": {
"session_token": {
"maxLength": 300,
"minLength": 20,
"type": "string"
}
},
"required": [
"session_token"
],
"type": "object"
},
"name": "list_customer_addresses",
"outputSchema": null
},
{
"description": "Use after verification to show supported service types before collecting booking details.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false,
"properties": {
"session_token": {
"maxLength": 300,
"minLength": 20,
"type": "string"
}
},
"required": [
"session_token"
],
"type": "object"
},
"name": "list_service_types",
"outputSchema": null
},
{
"description": "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.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false,
"properties": {
"area_postcode": {
"maxLength": 12,
"minLength": 2,
"type": "string"
},
"location_id": {
"maxLength": 120,
"minLength": 1,
"type": "string"
},
"preferred_date": {
"pattern": "^\\d{4}-\\d{2}-\\d{2}$",
"type": "string"
},
"service_type": {
"enum": [
"furniture_assembly",
"wall_mounting",
"handyman",
"electrician",
"smart_home_installation"
],
"type": "string"
},
"urgency": {
"enum": [
"flexible",
"specific_date",
"urgent"
],
"type": "string"
}
},
"required": [
"service_type",
"area_postcode",
"urgency"
],
"type": "object"
},
"name": "match_providers",
"outputSchema": null
},
{
"description": "Use after collecting booking details to create a Stripe checkout payment session before final booking submission.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false,
"properties": {
"address_id": {
"maxLength": 120,
"minLength": 2,
"type": "string"
},
"contact_id": {
"maxLength": 120,
"minLength": 1,
"type": "string"
},
"deposit_amount_minor": {
"exclusiveMinimum": 0,
"maximum": 500000,
"type": "integer"
},
"preferred_date": {
"pattern": "^\\d{4}-\\d{2}-\\d{2}$",
"type": "string"
},
"service_type": {
"enum": [
"furniture_assembly",
"wall_mounting",
"handyman",
"electrician",
"smart_home_installation"
],
"type": "string"
},
"session_token": {
"maxLength": 300,
"minLength": 20,
"type": "string"
},
"task_summary": {
"maxLength": 500,
"minLength": 8,
"type": "string"
}
},
"required": [
"session_token",
"service_type",
"task_summary"
],
"type": "object"
},
"name": "start_booking_payment",
"outputSchema": null
},
{
"description": "Use when an existing customer wants to verify identity (OTP or magic link) before assistant-led booking.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false,
"properties": {
"channel_preference": {
"default": "auto",
"enum": [
"sms",
"email",
"auto"
],
"type": "string"
},
"identifier": {
"maxLength": 200,
"minLength": 5,
"type": "string"
},
"method_preference": {
"default": "auto",
"enum": [
"otp",
"magic_link",
"auto"
],
"type": "string"
}
},
"required": [
"identifier"
],
"type": "object"
},
"name": "start_customer_verification",
"outputSchema": null
},
{
"description": "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.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false,
"properties": {
"identifier": {
"maxLength": 200,
"minLength": 5,
"type": "string"
}
},
"required": [
"identifier"
],
"type": "object"
},
"name": "start_trusted_phone_session",
"outputSchema": null
},
{
"description": "Use to add CRM tags to the verified customer for booking workflow tracking.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false,
"properties": {
"session_token": {
"maxLength": 300,
"minLength": 20,
"type": "string"
},
"tags": {
"items": {
"maxLength": 80,
"minLength": 1,
"type": "string"
},
"maxItems": 20,
"minItems": 1,
"type": "array"
}
},
"required": [
"session_token",
"tags"
],
"type": "object"
},
"name": "tag_contact",
"outputSchema": null
},
{
"description": "Use to append an internal CRM note for the verified customer during or after booking.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false,
"properties": {
"note": {
"maxLength": 2000,
"minLength": 4,
"type": "string"
},
"session_token": {
"maxLength": 300,
"minLength": 20,
"type": "string"
}
},
"required": [
"session_token",
"note"
],
"type": "object"
},
"name": "update_contact_note",
"outputSchema": null
},
{
"description": "Use after sending an OTP challenge, to verify the one-time passcode and open a short-lived booking session.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false,
"properties": {
"challenge_id": {
"maxLength": 120,
"minLength": 8,
"type": "string"
},
"otp_code": {
"pattern": "^\\d{4,8}$",
"type": "string"
}
},
"required": [
"challenge_id",
"otp_code"
],
"type": "object"
},
"name": "verify_customer_otp",
"outputSchema": null
},
{
"description": "Use when the customer clicks a magic link and provides the token for verification.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false,
"properties": {
"token": {
"maxLength": 4000,
"minLength": 24,
"type": "string"
}
},
"required": [
"token"
],
"type": "object"
},
"name": "verify_magic_link_token",
"outputSchema": null
}
]
}Verify it yourself
curl -s https://api.teppi.xyz/v1/evidence/sha256:0eb7e344f4977c1ad3e9da7a2396f1efbb1d4ebbd49cbc03762197ccff0505fa | sha256sum