{"name":"beep-ai","protocolVersion":"2025-06-18","instructions":"https://beep-ai.uk/agent","tools":[{"name":"start_session","description":"Start a BEEP-ai session for this customer. Returns a session id to pass to the other tools and a link the customer can open to watch the questions fill in on the website and see the prices when ready. Call this first and give the customer the link. The result begins with BEEP-ai's own message for the customer (the text block headed “BEEP-ai ·”). Show that message to the customer word for word, tables and links included, as the first part of your reply; do not summarise or reword it. Then add only your next question.","inputSchema":{"type":"object","properties":{}},"_meta":{"ui":{"resourceUri":"ui://beep-ai/card"}}},{"name":"get_quote_questions","description":"List every question BEEP-ai asks before giving motor insurance price signals. Pass any answers you already have to learn which required ones are still missing.","inputSchema":{"type":"object","properties":{"answers":{"type":"object","properties":{"carRegistration":{"description":"What is the car registration number (UK number plate)? Optional; if given, make, model and year can be looked up.","type":"string"},"make":{"description":"Who makes the car (for example Ford, Toyota, BMW)?","type":"string"},"model":{"description":"Which model is the car (for example Fiesta, Corolla, 3 Series)?","type":"string"},"year":{"description":"What year was the car first registered?","type":"integer"},"marketValue":{"description":"Roughly what is the car worth today, in pounds?","type":"integer"},"driverAge":{"description":"How old is the main driver? Must be 17 or over.","type":"integer","minimum":17},"licenceYears":{"description":"How many years has the main driver held a full driving licence? Cannot exceed age minus 17.","type":"integer","minimum":0},"occupation":{"description":"What is the main driver's occupation?","type":"string"},"postcode":{"description":"What is the UK postcode where the car is kept overnight?","type":"string"},"overnightParking":{"description":"Where is the car parked overnight: Garage, Driveway or Street?","type":"string","enum":["Garage","Driveway","Street"]},"annualMileage":{"description":"Roughly how many miles a year will the car do (1,000 to 30,000)? Defaults to 8,000.","type":"integer","minimum":1000,"maximum":30000},"noClaimsDiscount":{"description":"How many years of no-claims discount does the driver have (0 to 9)? Defaults to 0.","type":"integer","minimum":0,"maximum":9},"hasClaims":{"description":"Has the driver made any claims or had any accidents in the last five years? Yes or no.","type":"boolean"},"coverType":{"description":"Which level of cover is wanted: Third Party or Comprehensive?","type":"string","enum":["Third Party","Comprehensive"]},"voluntaryExcess":{"description":"How much voluntary excess would the driver accept, in pounds (0 to 1,000)? Defaults to 250.","type":"integer","minimum":0,"maximum":1000},"namedDrivers":{"description":"How many additional named drivers (0 to 4)? Defaults to 0.","type":"integer","minimum":0,"maximum":4}},"additionalProperties":false}}},"annotations":{"readOnlyHint":true}},{"name":"analyse_policy_document","description":"Send the user's existing motor insurance policy document (PDF or image, base64) and have BEEP-ai extract the details it contains. Returns extracted answers plus the questions still unanswered. If a registration is found, the vehicle is looked up automatically. The result begins with BEEP-ai's own message for the customer (the text block headed “BEEP-ai ·”). Show that message to the customer word for word, tables and links included, as the first part of your reply; do not summarise or reword it. Then add only your next question.","inputSchema":{"type":"object","properties":{"mimeType":{"type":"string"},"data":{"type":"string","description":"Base64 file content, no data: prefix"},"session":{"type":"string","description":"Session id from start_session, so the customer can watch progress on the website."}},"required":["mimeType","data"]},"_meta":{"ui":{"resourceUri":"ui://beep-ai/card"}}},{"name":"lookup_vehicle","description":"Look up a UK car by registration number. Returns make, model, year and market value. The result begins with BEEP-ai's own message for the customer (the text block headed “BEEP-ai ·”). Show that message to the customer word for word, tables and links included, as the first part of your reply; do not summarise or reword it. Then add only your next question.","inputSchema":{"type":"object","properties":{"registration":{"type":"string"},"session":{"type":"string","description":"Session id from start_session, so the customer can watch progress on the website."}},"required":["registration"]},"annotations":{"readOnlyHint":true},"_meta":{"ui":{"resourceUri":"ui://beep-ai/card"}}},{"name":"validate_answers","description":"Check a set of answers against the same rules as the on-screen form, and show them on the customer's session page. Returns what is missing or invalid. Costs nothing. Ask the customer for all the missing answers in one message (a short numbered list), then call this once with everything they gave; call again only if something is still missing or invalid. The result begins with BEEP-ai's own message for the customer (the text block headed “BEEP-ai ·”). Show that message to the customer word for word, tables and links included, as the first part of your reply; do not summarise or reword it. Then add only your next question.","inputSchema":{"type":"object","properties":{"answers":{"type":"object","properties":{"carRegistration":{"description":"What is the car registration number (UK number plate)? Optional; if given, make, model and year can be looked up.","type":"string"},"make":{"description":"Who makes the car (for example Ford, Toyota, BMW)?","type":"string"},"model":{"description":"Which model is the car (for example Fiesta, Corolla, 3 Series)?","type":"string"},"year":{"description":"What year was the car first registered?","type":"integer"},"marketValue":{"description":"Roughly what is the car worth today, in pounds?","type":"integer"},"driverAge":{"description":"How old is the main driver? Must be 17 or over.","type":"integer","minimum":17},"licenceYears":{"description":"How many years has the main driver held a full driving licence? Cannot exceed age minus 17.","type":"integer","minimum":0},"occupation":{"description":"What is the main driver's occupation?","type":"string"},"postcode":{"description":"What is the UK postcode where the car is kept overnight?","type":"string"},"overnightParking":{"description":"Where is the car parked overnight: Garage, Driveway or Street?","type":"string","enum":["Garage","Driveway","Street"]},"annualMileage":{"description":"Roughly how many miles a year will the car do (1,000 to 30,000)? Defaults to 8,000.","type":"integer","minimum":1000,"maximum":30000},"noClaimsDiscount":{"description":"How many years of no-claims discount does the driver have (0 to 9)? Defaults to 0.","type":"integer","minimum":0,"maximum":9},"hasClaims":{"description":"Has the driver made any claims or had any accidents in the last five years? Yes or no.","type":"boolean"},"coverType":{"description":"Which level of cover is wanted: Third Party or Comprehensive?","type":"string","enum":["Third Party","Comprehensive"]},"voluntaryExcess":{"description":"How much voluntary excess would the driver accept, in pounds (0 to 1,000)? Defaults to 250.","type":"integer","minimum":0,"maximum":1000},"namedDrivers":{"description":"How many additional named drivers (0 to 4)? Defaults to 0.","type":"integer","minimum":0,"maximum":4}},"additionalProperties":false},"session":{"type":"string","description":"Session id from start_session, so the customer can watch progress on the website."}},"required":["answers"]},"_meta":{"ui":{"resourceUri":"ui://beep-ai/card"}}},{"name":"confirm_answers","description":"Show the customer a one-screen summary of every answer before pricing, and ask them to confirm. Call this once all required answers are present and BEFORE get_quotes. Returns the summary; proceed to get_quotes only when the customer says the details are right. The result begins with BEEP-ai's own message for the customer (the text block headed “BEEP-ai ·”). Show that message to the customer word for word, tables and links included, as the first part of your reply; do not summarise or reword it. Then add only your next question.","inputSchema":{"type":"object","properties":{"answers":{"type":"object","properties":{"carRegistration":{"description":"What is the car registration number (UK number plate)? Optional; if given, make, model and year can be looked up.","type":"string"},"make":{"description":"Who makes the car (for example Ford, Toyota, BMW)?","type":"string"},"model":{"description":"Which model is the car (for example Fiesta, Corolla, 3 Series)?","type":"string"},"year":{"description":"What year was the car first registered?","type":"integer"},"marketValue":{"description":"Roughly what is the car worth today, in pounds?","type":"integer"},"driverAge":{"description":"How old is the main driver? Must be 17 or over.","type":"integer","minimum":17},"licenceYears":{"description":"How many years has the main driver held a full driving licence? Cannot exceed age minus 17.","type":"integer","minimum":0},"occupation":{"description":"What is the main driver's occupation?","type":"string"},"postcode":{"description":"What is the UK postcode where the car is kept overnight?","type":"string"},"overnightParking":{"description":"Where is the car parked overnight: Garage, Driveway or Street?","type":"string","enum":["Garage","Driveway","Street"]},"annualMileage":{"description":"Roughly how many miles a year will the car do (1,000 to 30,000)? Defaults to 8,000.","type":"integer","minimum":1000,"maximum":30000},"noClaimsDiscount":{"description":"How many years of no-claims discount does the driver have (0 to 9)? Defaults to 0.","type":"integer","minimum":0,"maximum":9},"hasClaims":{"description":"Has the driver made any claims or had any accidents in the last five years? Yes or no.","type":"boolean"},"coverType":{"description":"Which level of cover is wanted: Third Party or Comprehensive?","type":"string","enum":["Third Party","Comprehensive"]},"voluntaryExcess":{"description":"How much voluntary excess would the driver accept, in pounds (0 to 1,000)? Defaults to 250.","type":"integer","minimum":0,"maximum":1000},"namedDrivers":{"description":"How many additional named drivers (0 to 4)? Defaults to 0.","type":"integer","minimum":0,"maximum":4}},"additionalProperties":false},"session":{"type":"string","description":"Session id from start_session, so the customer can watch progress on the website."}},"required":["answers"]},"_meta":{"ui":{"resourceUri":"ui://beep-ai/card"}}},{"name":"get_quotes","description":"Request BEEP-ai's illustrative motor insurance price signals for a complete set of answers. Refuses if required answers are missing. Prices are AI-generated illustrations from general market knowledge, not live data or binding quotes. One AI call per request; do not repeat with the same answers. Call confirm_answers first. The result begins with BEEP-ai's own message for the customer (the text block headed “BEEP-ai ·”). Show that message to the customer word for word, tables and links included, as the first part of your reply; do not summarise or reword it. Then add only your next question.","inputSchema":{"type":"object","properties":{"answers":{"type":"object","properties":{"carRegistration":{"description":"What is the car registration number (UK number plate)? Optional; if given, make, model and year can be looked up.","type":"string"},"make":{"description":"Who makes the car (for example Ford, Toyota, BMW)?","type":"string"},"model":{"description":"Which model is the car (for example Fiesta, Corolla, 3 Series)?","type":"string"},"year":{"description":"What year was the car first registered?","type":"integer"},"marketValue":{"description":"Roughly what is the car worth today, in pounds?","type":"integer"},"driverAge":{"description":"How old is the main driver? Must be 17 or over.","type":"integer","minimum":17},"licenceYears":{"description":"How many years has the main driver held a full driving licence? Cannot exceed age minus 17.","type":"integer","minimum":0},"occupation":{"description":"What is the main driver's occupation?","type":"string"},"postcode":{"description":"What is the UK postcode where the car is kept overnight?","type":"string"},"overnightParking":{"description":"Where is the car parked overnight: Garage, Driveway or Street?","type":"string","enum":["Garage","Driveway","Street"]},"annualMileage":{"description":"Roughly how many miles a year will the car do (1,000 to 30,000)? Defaults to 8,000.","type":"integer","minimum":1000,"maximum":30000},"noClaimsDiscount":{"description":"How many years of no-claims discount does the driver have (0 to 9)? Defaults to 0.","type":"integer","minimum":0,"maximum":9},"hasClaims":{"description":"Has the driver made any claims or had any accidents in the last five years? Yes or no.","type":"boolean"},"coverType":{"description":"Which level of cover is wanted: Third Party or Comprehensive?","type":"string","enum":["Third Party","Comprehensive"]},"voluntaryExcess":{"description":"How much voluntary excess would the driver accept, in pounds (0 to 1,000)? Defaults to 250.","type":"integer","minimum":0,"maximum":1000},"namedDrivers":{"description":"How many additional named drivers (0 to 4)? Defaults to 0.","type":"integer","minimum":0,"maximum":4}},"additionalProperties":false},"session":{"type":"string","description":"Session id from start_session, so the customer can watch progress on the website."}},"required":["answers"]},"_meta":{"ui":{"resourceUri":"ui://beep-ai/card"}}},{"name":"ask_polly","description":"Ask Polly, BEEP-ai's plain-English motor insurance helper, a question. Pass the user's extracted policy answers as context if you have them. UK motor insurance only.","inputSchema":{"type":"object","properties":{"question":{"type":"string"},"answers":{"type":"object","properties":{"carRegistration":{"description":"What is the car registration number (UK number plate)? Optional; if given, make, model and year can be looked up.","type":"string"},"make":{"description":"Who makes the car (for example Ford, Toyota, BMW)?","type":"string"},"model":{"description":"Which model is the car (for example Fiesta, Corolla, 3 Series)?","type":"string"},"year":{"description":"What year was the car first registered?","type":"integer"},"marketValue":{"description":"Roughly what is the car worth today, in pounds?","type":"integer"},"driverAge":{"description":"How old is the main driver? Must be 17 or over.","type":"integer","minimum":17},"licenceYears":{"description":"How many years has the main driver held a full driving licence? Cannot exceed age minus 17.","type":"integer","minimum":0},"occupation":{"description":"What is the main driver's occupation?","type":"string"},"postcode":{"description":"What is the UK postcode where the car is kept overnight?","type":"string"},"overnightParking":{"description":"Where is the car parked overnight: Garage, Driveway or Street?","type":"string","enum":["Garage","Driveway","Street"]},"annualMileage":{"description":"Roughly how many miles a year will the car do (1,000 to 30,000)? Defaults to 8,000.","type":"integer","minimum":1000,"maximum":30000},"noClaimsDiscount":{"description":"How many years of no-claims discount does the driver have (0 to 9)? Defaults to 0.","type":"integer","minimum":0,"maximum":9},"hasClaims":{"description":"Has the driver made any claims or had any accidents in the last five years? Yes or no.","type":"boolean"},"coverType":{"description":"Which level of cover is wanted: Third Party or Comprehensive?","type":"string","enum":["Third Party","Comprehensive"]},"voluntaryExcess":{"description":"How much voluntary excess would the driver accept, in pounds (0 to 1,000)? Defaults to 250.","type":"integer","minimum":0,"maximum":1000},"namedDrivers":{"description":"How many additional named drivers (0 to 4)? Defaults to 0.","type":"integer","minimum":0,"maximum":4}},"additionalProperties":false},"history":{"type":"array","items":{"type":"object"}}},"required":["question"]},"annotations":{"readOnlyHint":true}}]}