MCPサーバー

Entervista

ai.entervista/entervista

このMCPでできること

Finds local service businesses, checks service areas and availability, requests quotes, and prepares customer-approved orders or bookings.

approve_request
Approve (customer said yes)
Use only after the customer explicitly approves the total / quote / final price. Sends it to the business. When offered_slots is present, pass the customer's chosen slot_start. If the business takes online payment, the result is status awaiting_payment with a payment_url: give that link to the customer; they pay on that page themselves.
外部アクセスあり
入力スキーマ
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['ref', 'customer_token'], 'properties': {'ref': {'type': 'string'}, 'slot_start': {'type': 'string'}, 'customer_token': {'type': 'string'}}}
book_slot
Book a fixed-price service
Book a flat-rate service (e.g. drain cleaning) into a slot from get_availability. Returns a draft awaiting the customer's approval.
外部アクセスあり
入力スキーマ
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['slug', 'service_sku', 'slot_start', 'customer'], 'properties': {'slug': {'type': 'string'}, 'notes': {'type': 'string'}, 'customer': {'type': 'object', 'properties': {'name': {'type': 'string'}, 'email': {'type': 'string'}, 'notes': {'type': 'string'}, 'phone': {'type': 'string'}, 'address': {'type': 'object', 'required': ['line1', 'zip'], 'properties': {'zip': {'type': 'string'}, 'city': {'type': 'string'}, 'line1': {'type': 'string'}, 'line2': {'type': 'string'}, 'state': {'type': 'string'}}}}, 'description': 'Who the job/order is for. Use what the customer already gave you; ask only for what a tool says is missing.'}, 'slot_start': {'type': 'string', 'description': 'ISO start from get_availability'}, 'service_sku': {'type': 'string'}}}
cancel_request
Cancel a request
Cancel an order, quote or booking on the customer's behalf.
破壊的操作あり 外部アクセスあり
入力スキーマ
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['ref', 'customer_token'], 'properties': {'ref': {'type': 'string'}, 'reason': {'type': 'string'}, 'customer_token': {'type': 'string'}}}
check_service_area
Check service area
Deterministic yes/no: does this business come to the customer's zip? Returns reason, the zips it serves, excluded zips, and alternative businesses when no.
読み取り専用 冪等
入力スキーマ
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['slug', 'zip'], 'properties': {'zip': {'type': 'string', 'description': "Customer's 5-digit zip"}, 'slug': {'type': 'string'}, 'emergency': {'type': 'boolean'}}}
get_availability
Get availability
Live bookable windows over the next days, from the business's own schedule (hours, crew, jobs, holds, blocks). Pass service_sku to get windows sized for that service's duration and crew, plus: operating_state (open | closed | open_fully_booked | emergency_only | temporarily_unavailable | booking_future | unknown), confidence (verified | stale, with a note when not verified recently), earliest, the service's price and whether it auto-books or needs the owner. Use a slot's start with place_service_request or book_slot; the slot is held the moment the draft is created.
読み取り専用 冪等
入力スキーマ
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['slug'], 'properties': {'date': {'type': 'string', 'description': 'YYYY-MM-DD to start from'}, 'days': {'type': 'number', 'description': '1 to 14, default 5'}, 'slug': {'type': 'string'}, 'service_sku': {'type': 'string'}}}
get_business
Get business profile
Full agent-readable profile: verified identity and license, services with real prices (what's included / excluded), hours, service zips, delivery rules, policies, and exactly how to act (order, quote, or book).
読み取り専用 冪等
入力スキーマ
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['slug'], 'properties': {'slug': {'type': 'string'}}}
get_request_status
Get request status
Current status, ETA / arrival window, business response, and the next step. Poll this while waiting on a business.
読み取り専用 冪等
入力スキーマ
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['ref'], 'properties': {'ref': {'type': 'string'}, 'customer_token': {'type': 'string'}}}
get_service_requirements
Get service requirements
Before creating a request: the exact questions to ask the customer for this service (required_fields / optional_fields, each with type and options), the pricing flow, and what happens next.
読み取り専用 冪等
入力スキーマ
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['slug', 'service_sku'], 'properties': {'slug': {'type': 'string'}, 'service_sku': {'type': 'string'}}}
get_services
List services
The business's services with pricing mode (fixed | starting_at | range | diagnostic_fee_then_quote | quote_required), price, what's included/excluded, and which intake fields are required.
読み取り専用 冪等
入力スキーマ
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['slug'], 'properties': {'slug': {'type': 'string'}}}
place_order
Place an order
Draft an order (food/retail). Returns line items, total, a ref and a customer_token. Nothing reaches the business until approve_request. Ask the customer to confirm the total first.
外部アクセスあり
入力スキーマ
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['slug', 'items', 'fulfillment', 'customer'], 'properties': {'slug': {'type': 'string'}, 'items': {'type': 'array', 'items': {'type': 'object', 'required': ['sku'], 'properties': {'qty': {'type': 'number'}, 'sku': {'type': 'string'}, 'size': {'type': 'string', 'description': 'option id from the menu, e.g. 16oz'}, 'notes': {'type': 'string'}, 'add_ons': {'type': 'array', 'items': {'type': 'string'}}}}, 'minItems': 1}, 'customer': {'type': 'object', 'properties': {'name': {'type': 'string'}, 'email': {'type': 'string'}, 'notes': {'type': 'string'}, 'phone': {'type': 'string'}, 'address': {'type': 'object', 'required': ['line1', 'zip'], 'properties': {'zip': {'type': 'string'}, 'city': {'type': 'string'}, 'line1': {'type': 'string'}, 'line2': {'type': 'string'}, 'state': {'type': 'string'}}}}, 'description': 'Who the job/order is for. Use what the customer already gave you; ask only for what a tool says is missing.'}, 'fulfillment': {'enum': ['pickup', 'delivery'], 'type': 'string'}, 'requested_time': {'type': 'string', 'description': 'ISO datetime; omit for ASAP'}}}
place_service_request
Place a service request
One call for any trade job (repair, quote, booking). Pass service_sku (or a plain description and it matches one), intake_answers keyed by the field ids from get_service_requirements, customer (name, phone, address with line1+zip), preferred_time, and slot_start when the flow is book_then_pay. Returns a draft with total or estimate, offered windows, a ref and customer_token. Nothing reaches the business until approve_request.
外部アクセスあり
入力スキーマ
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['slug', 'customer'], 'properties': {'slug': {'type': 'string'}, 'notes': {'type': 'string'}, 'photos': {'type': 'array', 'items': {'type': 'string'}, 'description': 'URLs (use upload_photo to turn an image into a URL)'}, 'urgency': {'enum': ['emergency', 'today', 'this_week', 'flexible'], 'type': 'string'}, 'customer': {'type': 'object', 'properties': {'name': {'type': 'string'}, 'email': {'type': 'string'}, 'notes': {'type': 'string'}, 'phone': {'type': 'string'}, 'address': {'type': 'object', 'required': ['line1', 'zip'], 'properties': {'zip': {'type': 'string'}, 'city': {'type': 'string'}, 'line1': {'type': 'string'}, 'line2': {'type': 'string'}, 'state': {'type': 'string'}}}}, 'description': 'Who the job/order is for. Use what the customer already gave you; ask only for what a tool says is missing.'}, 'slot_start': {'type': 'string', 'description': 'ISO start from get_availability'}, 'description': {'type': 'string', 'description': "The problem in the customer's words; used to match a service if service_sku is omitted"}, 'referred_by': {'type': 'string', 'description': 'Slug of the business whose error response listed this one under referrals[] (its trusted partner). Lets both businesses see the referral.'}, 'service_sku': {'type': 'string'}, 'intake_answers': {'type': 'object', 'propertyNames': {'type': 'string'}, 'additionalProperties': {}}, 'preferred_time': {'type': 'string', 'description': "e.g. 'Tomorrow morning' or an ISO datetime"}}}
request_quote
Request a quote
Ask a service business (plumber, etc.) for a price. Describe the problem in plain English. Many businesses answer instantly with an estimate and bookable slots; others reply within their stated response time (poll get_request_status).
外部アクセスあり
入力スキーマ
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['slug', 'description', 'customer'], 'properties': {'slug': {'type': 'string'}, 'photos': {'type': 'array', 'items': {'type': 'string'}, 'description': 'URLs'}, 'urgency': {'enum': ['emergency', 'today', 'this_week', 'flexible'], 'type': 'string'}, 'customer': {'type': 'object', 'properties': {'name': {'type': 'string'}, 'email': {'type': 'string'}, 'notes': {'type': 'string'}, 'phone': {'type': 'string'}, 'address': {'type': 'object', 'required': ['line1', 'zip'], 'properties': {'zip': {'type': 'string'}, 'city': {'type': 'string'}, 'line1': {'type': 'string'}, 'line2': {'type': 'string'}, 'state': {'type': 'string'}}}}, 'description': 'Who the job/order is for. Use what the customer already gave you; ask only for what a tool says is missing.'}, 'description': {'type': 'string', 'description': "What's wrong, in the customer's words"}, 'service_sku': {'type': 'string', 'description': "If the profile's service list clearly matches"}, 'preferred_times': {'type': 'array', 'items': {'type': 'string'}}}}
search_businesses
Search businesses
Find businesses in the network by what the customer needs (e.g. 'plumber', 'smoothie', 'clogged sink'), optionally filtered by category, zip, location and open-now. Returns summaries with starting prices and whether they serve the zip.
読み取り専用 冪等
入力スキーマ
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {'q': {'type': 'string', 'description': 'Free text: the need, a service, or a business name'}, 'lat': {'type': 'number'}, 'lng': {'type': 'number'}, 'zip': {'type': 'string', 'description': "Customer's 5-digit zip; results show serves_your_zip"}, 'accepts': {'enum': ['order', 'quote', 'booking'], 'type': 'string', 'description': 'Only businesses that support this action'}, 'category': {'type': 'string', 'description': 'e.g. plumber, smoothies'}, 'open_now': {'type': 'boolean'}}}
upload_photo
Upload a photo of the problem
Stores an image and returns a URL to pass in photos[] of place_service_request. Some services require a photo (get_service_requirements says which).
外部アクセスあり
入力スキーマ
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['image_base64'], 'properties': {'media_type': {'type': 'string', 'description': 'image/jpeg (default), image/png, image/webp, image/heic'}, 'image_base64': {'type': 'string'}}}
追加
cancel_request
2026年10月1日2:40
追加
get_request_status
2026年10月1日2:40
追加
approve_request
2026年10月1日2:40
追加
book_slot
2026年10月1日2:40
追加
request_quote
2026年10月1日2:40
追加
place_order
2026年10月1日2:40
追加
get_availability
2026年10月1日2:40
追加
upload_photo
2026年10月1日2:40
追加
place_service_request
2026年10月1日2:40
追加
get_service_requirements
2026年10月1日2:40
追加
check_service_area
2026年10月1日2:40
追加
get_services
2026年10月1日2:40
追加
get_business
2026年10月1日2:40
追加
search_businesses
2026年10月1日2:40