このMCPでできること
Supports a plumbing business with service-area checks, service and price information, availability, customer verification, booking requests, callbacks, and SMS confirmation.
ツール
入力スキーマ
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {}, 'additionalProperties': False}
出力スキーマ
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['success', 'business', 'hours', 'booking'], 'properties': {'hours': {'type': 'object', 'required': ['office', 'sunday'], 'properties': {'office': {'type': 'array', 'items': {'type': 'object', 'required': ['days', 'opens', 'closes'], 'properties': {'days': {'type': 'string'}, 'note': {'type': 'string'}, 'opens': {'type': 'string'}, 'closes': {'type': 'string'}}, 'additionalProperties': False}}, 'sunday': {'type': 'string'}}, 'additionalProperties': False}, 'booking': {'type': 'object', 'required': ['how_agents_book', 'phone_booking', 'online_booking'], 'properties': {'phone_booking': {'type': 'string'}, 'online_booking': {'type': 'string'}, 'how_agents_book': {'type': 'string'}}, 'additionalProperties': False}, 'success': {'type': 'boolean'}, 'business': {'type': 'object', 'required': ['name', 'legal_name', 'phone', 'email', 'website', 'license', 'certifications', 'payment_methods', 'emergency', 'service_area', 'services_not_offered'], 'properties': {'name': {'type': 'string'}, 'email': {'type': 'string'}, 'phone': {'type': 'string'}, 'license': {'type': 'string'}, 'website': {'type': 'string'}, 'emergency': {'type': 'string'}, 'legal_name': {'type': 'string'}, 'service_area': {'type': 'string'}, 'certifications': {'type': 'array', 'items': {'type': 'string'}}, 'payment_methods': {'type': 'array', 'items': {'type': 'string'}}, 'services_not_offered': {'type': 'array', 'items': {'type': 'string'}}}, 'additionalProperties': False}, 'agent_context': {'type': 'object', 'required': ['instructions', 'timezone', 'locations', 'services', 'service_area', 'pricing', 'scheduling', 'knowledge', 'availability', 'writes', 'customer_records'], 'properties': {'writes': {'type': 'object', 'required': ['request_callback', 'request_booking', 'confirm_booking'], 'properties': {'confirm_booking': {'type': 'object', 'required': ['requires_sms_code', 'success_requires'], 'properties': {'success_requires': {'type': 'object', 'required': ['status', 'booked'], 'properties': {'booked': {'type': 'boolean'}, 'status': {'type': 'string'}}, 'additionalProperties': False}, 'requires_sms_code': {'type': 'boolean'}}, 'additionalProperties': False}, 'request_booking': {'type': 'object', 'required': ['requires_explicit_user_consent', 'sends_sms_code', 'creates_appointment'], 'properties': {'sends_sms_code': {'type': 'boolean'}, 'creates_appointment': {'type': 'boolean'}, 'requires_explicit_user_consent': {'type': 'boolean'}}, 'additionalProperties': False}, 'request_callback': {'type': 'object', 'required': ['requires_explicit_user_consent', 'creates_appointment'], 'properties': {'creates_appointment': {'type': 'boolean'}, 'requires_explicit_user_consent': {'type': 'boolean'}}, 'additionalProperties': False}}, 'additionalProperties': False}, 'pricing': {'type': 'object', 'required': ['currency', 'dispatch_fee', 'policy', 'estimates'], 'properties': {'policy': {'type': 'string'}, 'currency': {'type': 'string'}, 'estimates': {'type': 'string'}, 'dispatch_fee': {'type': 'number'}}, 'additionalProperties': False}, 'services': {'type': 'array', 'items': {'type': 'object', 'required': ['name', 'summary'], 'properties': {'name': {'type': 'string'}, 'summary': {'type': 'string'}}, 'additionalProperties': False}}, 'timezone': {'type': 'string'}, 'knowledge': {'type': 'object', 'required': ['search_tool', 'read_tool', 'instructions', 'missing_information'], 'properties': {'read_tool': {'type': 'string'}, 'search_tool': {'type': 'string'}, 'instructions': {'type': 'string'}, 'missing_information': {'type': 'string'}}, 'additionalProperties': False}, 'locations': {'type': 'array', 'items': {'type': 'object', 'required': ['name', 'street', 'city', 'state', 'zip'], 'properties': {'zip': {'type': 'string'}, 'city': {'type': 'string'}, 'name': {'type': 'string'}, 'state': {'type': 'string'}, 'street': {'type': 'string'}}, 'additionalProperties': False}}, 'scheduling': {'type': 'object', 'required': ['regular', 'after_hours', 'routine', 'emergency'], 'properties': {'regular': {'type': 'string'}, 'routine': {'type': 'string'}, 'emergency': {'type': 'string'}, 'after_hours': {'type': 'string'}}, 'additionalProperties': False}, 'availability': {'type': 'object', 'required': ['tool', 'kind', 'creates_appointment'], 'properties': {'kind': {'type': 'string'}, 'tool': {'type': 'string'}, 'creates_appointment': {'type': 'boolean'}}, 'additionalProperties': False}, 'instructions': {'type': 'string'}, 'service_area': {'type': 'object', 'required': ['summary', 'towns', 'exact_coverage_tool'], 'properties': {'towns': {'type': 'array', 'items': {'type': 'string'}}, 'summary': {'type': 'string'}, 'exact_coverage_tool': {'type': 'string'}}, 'additionalProperties': False}, 'customer_records': {'type': 'string'}}, 'additionalProperties': False}, 'facts_updated': {'type': 'string'}, 'review_sandbox': {'type': 'boolean'}}, 'additionalProperties': False}
入力スキーマ
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {'zip': {'type': 'string', 'maxLength': 10, 'minLength': 3}, 'town': {'type': 'string', 'maxLength': 60, 'minLength': 2}, 'state': {'type': 'string', 'maxLength': 2, 'minLength': 2}}, 'additionalProperties': False}
出力スキーマ
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['success'], 'properties': {'zip': {'type': 'string'}, 'town': {'type': 'string'}, 'error': {'type': 'string'}, 'status': {'enum': ['covered', 'partially_covered', 'outside_service_area', 'unknown_town', 'needs_more_information', 'unavailable'], 'type': 'string'}, 'message': {'type': 'string'}, 'success': {'type': 'boolean'}, 'counties': {'type': 'array', 'items': {'type': 'string'}}, 'next_step': {'type': 'string'}, 'error_code': {'type': 'string'}, 'matched_by': {'anyOf': [{'enum': ['zip', 'town'], 'type': 'string'}, {'type': 'null'}]}, 'covered_zips': {'type': 'array', 'items': {'type': 'string'}, 'description': 'Town lookups only: the town ZIPs inside the automatic-booking area.'}, 'outside_zips': {'type': 'array', 'items': {'type': 'string'}, 'description': 'Town lookups only: the town ZIPs outside the automatic-booking area.'}, 'resolved_town': {'type': 'string', 'description': 'Town lookups only: the Massachusetts place the name was matched to.'}, 'missing_fields': {'type': 'array', 'items': {'type': 'string'}}, 'review_sandbox': {'type': 'boolean'}, 'in_service_area': {'type': 'boolean'}}, 'additionalProperties': False}
入力スキーマ
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['booking_id', 'code'], 'properties': {'code': {'type': 'string', 'pattern': '^\\d{6}$'}, 'booking_id': {'type': 'string', 'format': 'uuid'}}, 'additionalProperties': False}
出力スキーマ
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['success', 'status', 'booked', 'needs_manual', 'business_phone', 'business_phone_href', 'message', 'next_step'], 'properties': {'booked': {'type': 'boolean'}, 'status': {'enum': ['confirmed', 'callback_pending', 'rejected'], 'type': 'string'}, 'message': {'type': 'string'}, 'success': {'type': 'boolean'}, 'replayed': {'type': 'boolean'}, 'timezone': {'type': 'string'}, 'next_step': {'type': 'string'}, 'error_code': {'type': 'string'}, 'needs_manual': {'type': 'boolean'}, 'service_city': {'type': 'string'}, 'customer_name': {'type': 'string'}, 'scheduled_end': {'type': 'string'}, 'business_phone': {'type': 'string'}, 'review_sandbox': {'type': 'boolean'}, 'scheduled_start': {'type': 'string'}, 'location_summary': {'type': 'string'}, 'attempts_remaining': {'type': 'integer'}, 'business_phone_href': {'type': 'string'}, 'confirmation_number': {'type': 'string'}, 'service_description': {'type': 'string'}, 'formatted_arrival_window': {'type': 'string'}}, 'additionalProperties': False}
入力スキーマ
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['phone', 'confirmed'], 'properties': {'code': {'type': 'string', 'pattern': '^\\d{6}$'}, 'phone': {'type': 'string', 'minLength': 7}, 'confirmed': {'type': 'boolean', 'const': True}, 'challenge_id': {'type': 'string', 'format': 'uuid'}}, 'additionalProperties': False}
出力スキーマ
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['request_id', 'next_step', 'success', 'status', 'message'], 'properties': {'status': {'enum': ['verification_requested', 'verified'], 'type': 'string'}, 'history': {'type': 'array', 'items': {'type': 'object', 'required': ['description', 'workStatus'], 'properties': {'workStatus': {'type': 'string'}, 'description': {'type': 'string'}, 'scheduledStart': {'type': 'string'}}, 'additionalProperties': False}}, 'message': {'type': 'string'}, 'success': {'type': 'boolean'}, 'customer': {'type': 'object', 'required': ['phone', 'addresses'], 'properties': {'email': {'type': 'string'}, 'phone': {'type': 'string'}, 'lastName': {'type': 'string'}, 'addresses': {'type': 'array', 'items': {'type': 'object', 'properties': {'zip': {'type': 'string'}, 'city': {'type': 'string'}, 'state': {'type': 'string'}, 'street': {'type': 'string'}, 'country': {'type': 'string'}, 'street_line_2': {'type': 'string'}}, 'additionalProperties': False}}, 'firstName': {'type': 'string'}}, 'additionalProperties': False}, 'next_step': {'type': 'string'}, 'record_id': {'type': 'string', 'description': 'Saved office lead reference, when applicable.'}, 'request_id': {'type': 'string', 'format': 'uuid', 'description': 'Public operation receipt for support; never a provider customer ID.'}, 'challenge_id': {'type': 'string'}, 'history_status': {'enum': ['available', 'unavailable'], 'type': 'string'}, 'review_sandbox': {'type': 'boolean'}}, 'additionalProperties': False}
入力スキーマ
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['emergency_type'], 'properties': {'emergency_type': {'type': 'string', 'description': "Type of plumbing emergency (required). Examples: 'burst pipe', 'flooding', 'gas leak', 'sewage backup', 'no hot water', 'no water'"}, 'additional_details': {'type': 'string', 'description': 'Additional context about the emergency (optional). Include location, duration, actions already taken.'}}, 'additionalProperties': False}
出力スキーマ
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['success'], 'properties': {'error': {'type': 'string'}, 'success': {'type': 'boolean'}, 'call_now': {'type': 'string'}, 'urgency_level': {'type': 'string'}, 'emergency_type': {'type': 'string'}, 'recommendation': {'type': 'string'}, 'review_sandbox': {'type': 'boolean'}, 'immediate_steps': {'type': 'array', 'items': {'type': 'string'}}, 'safety_warnings': {'type': 'array', 'items': {'type': 'string'}}, 'emergency_contact': {'type': 'object', 'required': ['phone', 'available', 'response_time'], 'properties': {'phone': {'type': 'string'}, 'available': {'type': 'string'}, 'response_time': {'type': 'string'}}, 'additionalProperties': False}}, 'additionalProperties': False}
入力スキーマ
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['id'], 'properties': {'id': {'type': 'string', 'minLength': 1, 'description': "Document id from a search result, e.g. 'faq:pricing-service-fee'"}}, 'additionalProperties': False}
出力スキーマ
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['success'], 'properties': {'id': {'type': 'string'}, 'url': {'type': 'string'}, 'text': {'type': 'string'}, 'error': {'type': 'string'}, 'title': {'type': 'string'}, 'success': {'type': 'boolean'}, 'metadata': {'type': 'object', 'additionalProperties': {'type': 'string'}}, 'error_code': {'type': 'string'}}, 'additionalProperties': False}
入力スキーマ
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {'zip': {'type': 'string', 'maxLength': 10, 'minLength': 3, 'description': 'Service ZIP when known. Always include the customer location for a booking inquiry; outside-area requests receive no windows.'}, 'days': {'type': 'integer', 'default': 7, 'maximum': 14, 'minimum': 1}, 'town': {'type': 'string', 'maxLength': 60, 'minLength': 2}, 'state': {'type': 'string', 'maxLength': 2, 'minLength': 2}, 'start_date': {'type': 'string', 'pattern': '^\\d{4}-\\d{2}-\\d{2}$'}, 'time_preference': {'enum': ['any', 'morning', 'afternoon', 'evening'], 'type': 'string', 'default': 'any'}}, 'additionalProperties': False}
出力スキーマ
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['success', 'timezone', 'requested_days', 'time_preference', 'total_windows', 'open_windows', 'windows', 'booking_flow', 'privacy'], 'properties': {'status': {'enum': ['available', 'needs_more_information', 'outside_service_area', 'unavailable'], 'type': 'string'}, 'privacy': {'type': 'string'}, 'success': {'type': 'boolean'}, 'windows': {'type': 'array', 'items': {'type': 'object', 'required': ['start_time', 'end_time', 'arrival_start', 'arrival_end', 'start_local', 'end_local', 'part_of_day', 'available'], 'properties': {'end_time': {'type': 'string', 'description': 'Reserved three-hour job-block end; pass unchanged to request_booking.'}, 'available': {'type': 'boolean'}, 'end_local': {'type': 'string'}, 'start_time': {'type': 'string', 'description': 'Selected job-block start; pass unchanged to request_booking.'}, 'arrival_end': {'type': 'string', 'description': 'Customer-facing two-hour arrival promise.'}, 'part_of_day': {'enum': ['morning', 'afternoon', 'evening'], 'type': 'string'}, 'start_local': {'type': 'string'}, 'arrival_start': {'type': 'string'}}, 'additionalProperties': False}}, 'has_more': {'type': 'boolean'}, 'timezone': {'type': 'string'}, 'next_step': {'type': 'string'}, 'error_code': {'type': 'string'}, 'booking_flow': {'type': 'string'}, 'open_windows': {'type': 'integer'}, 'total_windows': {'type': 'integer'}, 'missing_fields': {'type': 'array', 'items': {'type': 'string'}}, 'requested_days': {'type': 'integer'}, 'review_sandbox': {'type': 'boolean'}, 'coverage_status': {'enum': ['verified', 'not_checked', 'outside_service_area', 'unknown'], 'type': 'string'}, 'time_preference': {'enum': ['any', 'morning', 'afternoon', 'evening'], 'type': 'string'}, 'returned_windows': {'type': 'integer'}, 'total_matching_windows': {'type': 'integer'}}, 'additionalProperties': False}
入力スキーマ
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['service_type', 'issue_description'], 'properties': {'urgency': {'enum': ['routine', 'soon', 'urgent', 'emergency'], 'type': 'string', 'description': 'How urgent is the repair?'}, 'service_type': {'type': 'string', 'description': "Type of plumbing service (required). Examples: 'drain cleaning', 'water heater repair', 'toilet repair'"}, 'property_type': {'enum': ['residential', 'commercial'], 'type': 'string', 'description': "Type of property (default: 'residential')"}, 'issue_description': {'type': 'string', 'description': 'Description of the plumbing problem (required). Be specific about symptoms and location.'}}, 'additionalProperties': False}
出力スキーマ
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['success'], 'properties': {'error': {'type': 'string'}, 'notes': {'type': 'array', 'items': {'type': 'string'}}, 'service': {'type': 'string'}, 'success': {'type': 'boolean'}, 'next_step': {'type': 'string'}, 'error_code': {'type': 'string'}, 'next_steps': {'type': 'string'}, 'description': {'type': 'string'}, 'service_fee': {'type': 'string'}, 'property_type': {'type': 'string'}, 'urgency_level': {'type': 'string'}, 'review_sandbox': {'type': 'boolean'}, 'service_supported': {'type': 'boolean'}, 'estimated_duration': {'type': 'string'}, 'estimated_price_range': {'type': 'object', 'required': ['min', 'max', 'currency'], 'properties': {'max': {'type': 'number'}, 'min': {'type': 'number'}, 'currency': {'type': 'string'}}, 'additionalProperties': False}}, 'additionalProperties': False}
入力スキーマ
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {'search': {'type': 'string', 'description': 'Search term, e.g. "water heater", "drain"'}, 'category': {'type': 'string', 'description': "Filter by category: 'emergency', 'maintenance', 'repair', 'installation', 'specialty'"}}, 'additionalProperties': False}
出力スキーマ
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['success', 'total_services', 'services', 'categories', 'pricing_disclaimer', 'service_fee'], 'properties': {'error': {'type': 'string'}, 'success': {'type': 'boolean'}, 'services': {'type': 'array', 'items': {'type': 'object', 'required': ['id', 'name', 'description', 'price_range', 'price_min', 'price_max', 'estimated_duration', 'is_emergency'], 'properties': {'id': {'type': 'string'}, 'name': {'type': 'string'}, 'category': {'type': 'string'}, 'price_max': {'type': 'number'}, 'price_min': {'type': 'number'}, 'description': {'type': 'string'}, 'price_range': {'type': 'string'}, 'is_emergency': {'type': 'boolean'}, 'estimated_duration': {'type': 'string'}}, 'additionalProperties': False}}, 'next_step': {'type': 'string'}, 'categories': {'type': 'array', 'items': {'type': 'string'}}, 'error_code': {'type': 'string'}, 'service_fee': {'type': 'string'}, 'review_sandbox': {'type': 'boolean'}, 'total_services': {'type': 'integer'}, 'service_supported': {'type': 'boolean'}, 'pricing_disclaimer': {'type': 'string'}}, 'additionalProperties': False}
入力スキーマ
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {'view': {'enum': ['booking', 'history'], 'type': 'string', 'default': 'booking', 'description': 'Choose booking for a new service visit, or history for the customerâ\x80\x99s own previous and upcoming visits.'}}, 'additionalProperties': False}
出力スキーマ
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['success', 'view', 'business_phone', 'message'], 'properties': {'view': {'enum': ['booking', 'history'], 'type': 'string'}, 'message': {'type': 'string'}, 'success': {'type': 'boolean', 'const': True}, 'business_phone': {'type': 'string'}, 'review_sandbox': {'type': 'boolean'}}, 'additionalProperties': False}
入力スキーマ
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['service', 'name', 'phone', 'address', 'confirmed'], 'properties': {'name': {'type': 'string', 'maxLength': 120, 'minLength': 2, 'description': 'Customer full name'}, 'email': {'type': 'string', 'format': 'email'}, 'notes': {'type': 'string', 'maxLength': 2000, 'description': 'Issue description / anything the technician should know'}, 'phone': {'type': 'string', 'minLength': 7, 'description': 'Customer mobile number â\x80\x94 receives the 6-digit confirmation code'}, 'address': {'type': 'object', 'required': ['street', 'city', 'zip'], 'properties': {'zip': {'type': 'string', 'minLength': 5}, 'city': {'type': 'string', 'minLength': 2}, 'unit': {'type': 'string'}, 'state': {'type': 'string', 'default': 'MA', 'maxLength': 2, 'minLength': 2}, 'street': {'type': 'string', 'minLength': 3}}, 'additionalProperties': False}, 'service': {'type': 'string', 'maxLength': 200, 'minLength': 3, 'description': 'Requested service, e.g. "water heater replacement"'}, 'confirmed': {'type': 'boolean', 'const': True, 'description': 'True only after the user explicitly asks to start this booking request and send the SMS code'}, 'customer_type': {'enum': ['new', 'returning'], 'type': 'string', 'description': 'Required for booking: answer to Have you used us before?'}, 'referral_code': {'type': 'string', 'maxLength': 300}, 'heard_about_us': {'type': 'string', 'maxLength': 200, 'minLength': 1, 'description': 'Required for new customers: where they found us'}, 'time_preference': {'enum': ['any', 'morning', 'afternoon', 'evening'], 'type': 'string', 'default': 'any', 'description': 'Fallback time-of-day preference if none of the preferred windows is open'}, 'preferred_windows': {'type': 'array', 'items': {'type': 'object', 'required': ['start_time', 'end_time'], 'properties': {'end_time': {'type': 'string'}, 'start_time': {'type': 'string'}}, 'additionalProperties': False}, 'default': [], 'maxItems': 5, 'description': 'Preferred arrival windows from get_availability (start_time/end_time ISO strings)'}, 'promotion_review_requested': {'type': 'boolean', 'default': False}}, 'additionalProperties': False}
出力スキーマ
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['success', 'status', 'next_step'], 'properties': {'error': {'type': 'string'}, 'status': {'enum': ['pending_sms_confirmation', 'rejected'], 'type': 'string'}, 'success': {'type': 'boolean'}, 'next_step': {'type': 'string'}, 'booking_id': {'type': 'string'}, 'error_code': {'type': 'string'}, 'expires_at': {'type': 'string'}, 'code_sent_to': {'type': 'string'}, 'review_sandbox': {'type': 'boolean'}, 'in_service_area': {'type': 'boolean'}, 'attempts_allowed': {'type': 'integer'}, 'service_area_notice': {'type': 'string'}, 'sandbox_verification_code': {'type': 'string'}}, 'additionalProperties': False}
入力スキーマ
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['name', 'phone', 'issue_description', 'confirmed'], 'properties': {'name': {'type': 'string', 'maxLength': 120, 'minLength': 2, 'description': 'Customer full name, for example "Jane Smith"'}, 'email': {'type': 'string', 'format': 'email'}, 'phone': {'type': 'string', 'minLength': 7, 'description': 'Customer phone number for the callback'}, 'urgency': {'enum': ['routine', 'soon', 'urgent'], 'type': 'string', 'default': 'routine'}, 'confirmed': {'type': 'boolean', 'const': True, 'description': 'True only after the user explicitly asks Johnson Bros. to contact them'}, 'issue_description': {'type': 'string', 'maxLength': 2000, 'minLength': 3, 'description': 'Short description of the plumbing issue'}, 'preferred_callback_time': {'type': 'string', 'maxLength': 200, 'description': 'Optional preference such as "weekday morning"'}}, 'additionalProperties': False}
出力スキーマ
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['request_id', 'success', 'status', 'message', 'next_step'], 'properties': {'status': {'enum': ['callback_requested', 'rejected'], 'type': 'string'}, 'message': {'type': 'string'}, 'success': {'type': 'boolean'}, 'next_step': {'type': 'string'}, 'record_id': {'type': 'string'}, 'error_code': {'type': 'string'}, 'request_id': {'type': 'string', 'format': 'uuid'}, 'phone_last4': {'type': 'string'}, 'review_sandbox': {'type': 'boolean'}}, 'additionalProperties': False}
入力スキーマ
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['name', 'phone', 'address', 'issue_description', 'confirmed'], 'properties': {'name': {'type': 'string', 'maxLength': 120, 'minLength': 3, 'description': 'Caller full first and last name'}, 'phone': {'type': 'string', 'maxLength': 30, 'minLength': 7, 'description': 'Callback number. On phone calls the channel supplies the caller ID; confirm it with the caller.'}, 'address': {'type': 'object', 'required': ['city', 'state', 'zip'], 'properties': {'zip': {'type': 'string', 'pattern': '^\\d{5}(?:-\\d{4})?$', 'description': 'Five-digit service ZIP; decides coverage and Massachusetts'}, 'city': {'type': 'string', 'maxLength': 60, 'minLength': 2}, 'unit': {'type': 'string', 'maxLength': 50}, 'state': {'type': 'string', 'maxLength': 2, 'minLength': 2}, 'street': {'type': 'string', 'maxLength': 200, 'minLength': 3, 'description': 'Street address, if the caller gave it'}}, 'additionalProperties': False}, 'confirmed': {'type': 'boolean', 'const': True, 'description': 'True only after the caller agreed to the office calling them back'}, 'issue_description': {'type': 'string', 'maxLength': 4000, 'minLength': 3, 'description': 'What the caller needs, in their words'}}, 'additionalProperties': False}
出力スキーマ
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['request_id', 'success', 'status', 'in_service_area', 'booked', 'message', 'next_step'], 'properties': {'booked': {'type': 'boolean', 'const': False}, 'status': {'enum': ['office_callback_requested', 'in_service_area', 'outside_massachusetts', 'rejected'], 'type': 'string'}, 'message': {'type': 'string'}, 'success': {'type': 'boolean'}, 'duplicate': {'type': 'boolean', 'description': 'True when this callback was already requested recently; no second office task was created.'}, 'next_step': {'type': 'string'}, 'record_id': {'type': 'string', 'description': 'Saved office lead reference, when a callback was requested.'}, 'error_code': {'type': 'string'}, 'request_id': {'type': 'string', 'format': 'uuid', 'description': 'Public operation receipt for support; never a provider customer ID.'}, 'review_sandbox': {'type': 'boolean'}, 'in_service_area': {'type': 'boolean'}, 'in_massachusetts': {'type': 'boolean'}, 'coverage_verified': {'type': 'boolean', 'description': 'False when the coverage database could not be read; the office will confirm.'}}, 'additionalProperties': False}
入力スキーマ
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['query'], 'properties': {'query': {'type': 'string', 'minLength': 1, 'description': "Natural-language search terms, e.g. 'water heater Quincy'"}}, 'additionalProperties': False}
出力スキーマ
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['success', 'results'], 'properties': {'results': {'type': 'array', 'items': {'type': 'object', 'required': ['id', 'title', 'url'], 'properties': {'id': {'type': 'string', 'description': 'Pass this to fetch to read the full document'}, 'url': {'type': 'string'}, 'title': {'type': 'string'}}, 'additionalProperties': False}}, 'success': {'type': 'boolean'}}, 'additionalProperties': False}
入力スキーマ
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {'limit': {'type': 'integer', 'default': 20, 'maximum': 50, 'minimum': 1, 'description': 'Maximum records to return, from 1 to 50.'}, 'query': {'type': 'string', 'default': '', 'maxLength': 200, 'description': 'Repair keywords or date text, for example drain or 2025. Empty searches all available records.'}, 'status': {'enum': ['all', 'completed', 'upcoming'], 'type': 'string', 'default': 'all', 'description': 'Filter the verified customerâ\x80\x99s available visits by status.'}, 'history_access_token': {'type': 'string', 'maxLength': 200, 'description': 'Private verification proof attached automatically by the customer card or browser bridge. Never ask the customer for it or invent it.'}}, 'additionalProperties': False}
出力スキーマ
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['success', 'history', 'records_searched', 'returned_records', 'message'], 'properties': {'history': {'type': 'array', 'items': {'type': 'object', 'required': ['description', 'workStatus'], 'properties': {'workStatus': {'type': 'string'}, 'description': {'type': 'string'}, 'scheduledStart': {'type': 'string'}}, 'additionalProperties': False}}, 'message': {'type': 'string'}, 'success': {'type': 'boolean', 'const': True}, 'review_sandbox': {'type': 'boolean'}, 'records_searched': {'type': 'integer'}, 'returned_records': {'type': 'integer'}}, 'additionalProperties': False}
入力スキーマ
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['name', 'phone', 'email', 'address', 'heard_about_us', 'confirmed'], 'properties': {'name': {'type': 'string', 'maxLength': 120, 'minLength': 3, 'description': 'Full first and last name'}, 'email': {'type': 'string', 'format': 'email'}, 'phone': {'type': 'string', 'maxLength': 30, 'minLength': 7}, 'address': {'type': 'object', 'required': ['street', 'city', 'state', 'zip'], 'properties': {'zip': {'type': 'string', 'pattern': '^\\d{5}(?:-\\d{4})?$'}, 'city': {'type': 'string', 'minLength': 2}, 'unit': {'type': 'string'}, 'state': {'type': 'string', 'maxLength': 2, 'minLength': 2}, 'street': {'type': 'string', 'minLength': 3}}, 'additionalProperties': False}, 'confirmed': {'type': 'boolean', 'const': True, 'description': 'Customer submitted or approved the new customer form, including any supplied issue description'}, 'heard_about_us': {'type': 'string', 'maxLength': 200, 'minLength': 1, 'description': 'Where the customer found Johnson Bros; ask, never infer from the platform'}, 'issue_description': {'type': 'string', 'maxLength': 4000, 'description': 'Customer-approved service and reported symptoms, if already provided. Preserved in outside-area office lead notes; do not invent a diagnosis. Optional so contact-only intake still works.'}}, 'additionalProperties': False}
出力スキーマ
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['request_id', 'next_step', 'success', 'status', 'in_service_area', 'booked', 'message'], 'properties': {'booked': {'type': 'boolean', 'const': False}, 'status': {'enum': ['customer_created', 'lead_submitted', 'rejected'], 'type': 'string'}, 'message': {'type': 'string'}, 'success': {'type': 'boolean'}, 'next_step': {'type': 'string'}, 'record_id': {'type': 'string', 'description': 'Saved office lead reference, when applicable.'}, 'error_code': {'type': 'string'}, 'request_id': {'type': 'string', 'format': 'uuid', 'description': 'Public operation receipt for support; never a provider customer ID.'}, 'review_sandbox': {'type': 'boolean'}, 'in_service_area': {'type': 'boolean'}, 'in_massachusetts': {'type': 'boolean', 'description': 'Outside-area leads only: whether the service ZIP is in Massachusetts.'}, 'issue_description_saved': {'type': 'boolean', 'description': 'True only after a supplied issue description was saved with an office-review lead. Customer creation alone does not save booking notes.'}, 'office_callback_requested': {'type': 'boolean', 'description': 'True when the outside-area lead was flagged for an ASAP office callback (Massachusetts addresses).'}}, 'additionalProperties': False}
最近のツール変更
類似のMCPサーバー
AdButler
Manages AdButler advertisers, campaigns, ad items, audiences, zones, creatives, catalogs, and advertising reports.
Duvo MCP
Provides governed retail and CPG operations for cases, queues, approvals, automations, process documentation, integrations, and a…
Lovie Company Formation
Supports company formation and business administration with bank accounts, cards, invoicing, bookkeeping, accounting periods, and…
freedom-mcp
Supports company operations through commitments, teams, agents, customer evidence, leads, content workflows, spreadsheets, commer…
独行录 / opcmenu
Supports founder and company discovery, collaboration goals and tasks, events and signups, networking, messaging, profiles, produ…
Meta Council
Provides governed workflows for consulting, outreach, sales deals, invoices, marketing campaigns, content approvals, accounting a…
synter-ads
Manages cross-platform advertising campaigns, audiences, tracking, creative, landing pages, campaign audits, technology intellige…
synter-ads
Manages cross-platform advertising campaigns, audiences, tracking, creative, landing pages, campaign audits, technology intellige…