Endpoints: 28,729MCP servers: 18,413Payout addresses: 2,071Paid calls: 1,561Letters: 14Defects: 1,336counted 3 min ago
teppi

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 yourselfcurl -s https://api.teppi.xyz/v1/evidence/sha256:0eb7e344f4977c1ad3e9da7a2396f1efbb1d4ebbd49cbc03762197ccff0505fa | sha256sum