accueil / serveurs / Recherche & Web / com.sigoseguros/auto-quote
com.sigoseguros/auto-quote
serveur MCP (Model Context Protocol) · sigo-seguros 1.0.0
Référencé dans l'annuaire. Seul le pentest comportemental fait foi, et il n'a pas encore été exécuté sur ce serveur.
Est-ce que com.sigoseguros/auto-quote est sûr ?
Au dernier audit MCP Hub, le serveur MCP « com.sigoseguros/auto-quote » est classé « Non encore testé ». Référencé dans l'annuaire. Seul le pentest comportemental fait foi, et il n'a pas encore été exécuté sur ce serveur. Le verdict est réévalué en continu ; consultez la fiche pour l'état à jour.
Méthode : MCP Hub analyse la description de chaque outil (couche 1) et, pour le verdict fort, exécute le serveur dans une micro-VM isolée avec leurres et réseau bloqué (couche 2). On publie des noms et des compteurs, jamais le contenu brut renvoyé par un outil.
Les 12 outils
- answer_carrier_questions≈ 1067 tokens
After carrier_questions: file the answers, passing answers_so_far back each time, until the set is complete. Saves what the customer answered against their application, which is what moves it towards a final quote. Send every answer under the code it came back with, and only what the customer actually said. This does not take payment, sign anything or bind coverage. Those happen in Sigo's own flow, through the link that comes back here. The carrier takes its questions as a set, so answers are held until every one has been given. Pass the `answers_so_far` from the previous call back in, and only the new answer needs to go in `answers`. On the four-carrier path the whole pass is filed at once and next_call sends you to get_quote, where the firm prices land.
Paramètres, retour & exemple (5)
Paramètreslocale· string · requis · es | en
The language the customer is writing in. Set it from their own messages rather than leaving the default: the estimate's notice comes back in this language, and a notice the customer cannot read discloses nothing. Sigo serves these two languages only.answers· array · requis
What the customer said, in their own answers. Never filled in on their behalf.quote_id· string · requis
The handle start_quote returned.answers_so_far· string · optionnel
The `answers_so_far` from the previous call, when there was one. It carries what the customer already answered, so only the new answer needs to go in `answers`. It survives a re-quote: after start_quote with revise_of, send the same token with the new quote_id and the answers still stand, as long as the carrier is the same one. Nobody has to be asked twice.chosen_quote_id· string · optionnel
The estimate the customer picked. Left out on the four-carrier path, as at carrier_questions.
Exemple d'appel{"name": "answer_carrier_questions", "arguments": {"locale": "es", "answers": [], "quote_id": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}], "structuredContent": {"note": "texte", "filed": true, "answered": 1, "next_call": "texte", "next_step": {}, "still_needed": [], "answers_so_far": "texte"}} - answer_other_carrier_questions≈ 760 tokens
Retired. Do not call it: answer_carrier_questions files the one pass for every carrier, and get_quote carries the firm prices in firm_prices. Kept so an older conversation that reaches it is told where to go, with the link. It files nothing.
Paramètres, retour & exemple (4)
Paramètreslocale· string · requis · es | en
The language the customer is writing in. Set it from their own messages rather than leaving the default: the estimate's notice comes back in this language, and a notice the customer cannot read discloses nothing. Sigo serves these two languages only.answers· array · requis
What the customer said, in their own answers. Never filled in on their behalf.quote_id· string · requis
The handle start_quote returned.answers_so_far· string · optionnel
Ignored: nothing is carried here any more.
Exemple d'appel{"name": "answer_other_carrier_questions", "arguments": {"locale": "es", "answers": [], "quote_id": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}], "structuredContent": {"note": "texte", "filed": true, "answered": 1, "next_step": {}, "still_needed": [], "answers_so_far": "texte"}} - carrier_questions≈ 1284 tokens
After the three steps, when to_final_quote.next_call names it: the questions of the estimate the customer picked, or of every carrier at once when get_quote carries firm_prices (then no chosen_quote_id). Then answer_carrier_questions. Returns the questions the carrier asks in the customer's state — attestations and disclosures the carrier words itself; on the four-carrier path, every carrier's, once. Say `preamble` first, then ask one `ask_together` block per turn, each question exactly as it is worded; they are not Sigo's questions to reword. Send the answers with `answer_carrier_questions`. `can_answer_here` is false where that carrier does not finish online, or the answers were already filed; a Sigo agent takes it, or get_quote has the prices. Either way the customer keeps the link: they can finish on the web at any point without losing what they have answered.
Paramètres, retour & exemple (3)
Paramètreslocale· string · requis · es | en
The language the customer is writing in. Set it from their own messages rather than leaving the default: the estimate's notice comes back in this language, and a notice the customer cannot read discloses nothing. Sigo serves these two languages only.quote_id· string · requis
The handle start_quote returned.chosen_quote_id· string · optionnel
The `quote_id` of the estimate the customer picked, from the list they were shown. Leave it out when get_quote answered with a `firm_prices` block: there the questions are the same for every carrier.
Exemple d'appel{"name": "carrier_questions", "arguments": {"locale": "es", "quote_id": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}], "structuredContent": {"note": "texte", "preamble": "texte", "next_step": {}, "questions": [], "ask_together": [], "still_needed": "texte", "can_answer_here": true}} - commercial_next_question≈ 1498 tokens
Commercial auto, step 1 of 2: call it until ready_to_submit is true, sending back the collected it returns each time and each answer under answer_as.key. Then submit_commercial_application. For a vehicle a business owns or uses for its work: a contractor's pickup, a delivery van, a box truck, a tow truck, a fleet. It takes the short intake Sigo's commercial form opens with, one question at a time in the customer's language, and a Sigo agent quotes it with the carriers afterwards. There is no estimate and no price here, and none to give: say any quote is subject to underwriting, eligibility and state filing. Its first question tells a business apart from someone who drives only for Uber, Lyft, DoorDash or Uber Eats. That is personal auto: route_to_personal turns true, nothing commercial is sent, and next_question takes it from there. When it is not clear which kind of customer this is, start here. Ask `ask` as the website words it, with its options, and wait for the answer. It never asks for a social security number, a FEIN or EIN, a date of birth or a licence number; do not collect them.
Paramètres, retour & exemple (3)
Paramètreslocale· string · requis · es | en
The language the customer is writing in. Set it from their own messages: the questions come back in it, and the request is filed in it so the Sigo agent follows up in it.answered· object · optionnel
Only what the customer said this turn, under answer_as.key. Everything earlier is in `collected`.collected· string · optionnel
The `collected` from the previous call. Leave it out on the first question and send it on every call after that. It is not the quote flow's collected: the two do not mix.
Exemple d'appel{"name": "commercial_next_question", "arguments": {"locale": "es"}}Exemple de retour{"content": [{"type": "text", "text": "…"}], "structuredContent": {"ask": "texte", "field": "texte", "options": [], "summary": "texte", "answer_as": "texte", "collected": "texte", "next_step": "texte", "ready_to_submit": true, "route_to_personal": true}} - find_occupation≈ 508 tokens
Second-round helper, outside the three steps: turns the customer's words into the occupation code start_quote takes. Turns what the customer said they do into the carrier's own occupation codes. Call it before sending `occupation` on a driver: the catalogue is written in trade names and customers answer in their own, so the code is never something to guess at. Pick the entry that matches what they described and send its code. An empty list means ask them another way rather than settle for the nearest thing.
Paramètres, retour & exemple (2)
Paramètressaid· string · requis
What the customer said they do, in their own words — 'chofer', 'trabajo en construcción'.locale· string · requis · es | en
The language the customer is writing in. Set it from their own messages rather than leaving the default: the estimate's notice comes back in this language, and a notice the customer cannot read discloses nothing. Sigo serves these two languages only.
Exemple d'appel{"name": "find_occupation", "arguments": {"said": "texte", "locale": "es"}}Exemple de retour{"content": [{"type": "text", "text": "…"}], "structuredContent": {"note": "texte", "matches": []}} - get_quote≈ 4217 tokens
Step 3 of 3: read the quote_id start_quote returned, after poll_after_seconds, until more_carriers_pending is false. Never start_quote again to refresh a result. Reads the estimates for a quote_id returned by start_quote. Carriers answer at different speeds: when more_carriers_pending is true the list is not final and poll_after_seconds says how long to wait before asking again. The list closes within a minute either way, with whatever arrived — a carrier that did not answer is not a price, and there is none to go looking for. Once it is closed, to_final_quote.next_call is what to do next. No price here is final, in any round: the final quote is calculated by Sigo in the link, after the carrier's questions.
Paramètres, retour & exemple (2)
Paramètreslocale· string · optionnel · es | en
The language the customer is writing in. Set it from their own messages rather than leaving the default: the estimate's notice comes back in this language, and a notice the customer cannot read discloses nothing. Sigo serves these two languages only.quote_id· string · requis
The handle start_quote returned.
Exemple d'appel{"name": "get_quote", "arguments": {"quote_id": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}], "structuredContent": {"state": "texte", "covers": {}, "quotes": [], "status": "pending", "contact": {}, "carriers": {}, "problems": [], "quote_id": "texte", "asked_for": {}, "issued_by": {}, "quoted_at": "texte", "expires_at": "texte"}} - list_available_states≈ 740 tokens
Before the flow, optional: where Sigo quotes. The flow itself is next_question, then start_quote once, then get_quote. The US states Sigo Seguros is licensed to sell car insurance in, and what Sigo is. Ask this before collecting details, so a customer elsewhere is not taken through a full quote. The state a policy is rated in comes from where the car is kept overnight, not from where the customer lives or works. Read `state_is_decided_by` before asking for a ZIP: a car kept outside these states is not quoted on a ZIP inside them, however close the customer commutes. Sigo is an agency: it sells policies that carriers issue. The carrier pays it a commission, and in almost every state where it sells, the customer pays a one-time broker fee for the agency's service — in Florida there is none. Where there is one it is real and is itemised before anyone pays, in Sigo's own flow. Asked what Sigo charges — which customers ask before there is any quote — that is the answer, with no amount: saying Sigo charges nothing is false wherever it does charge, and the checkout will contradict it.
Paramètres, retour & exemple (1)
Paramètreslocale· string · requis · es | en
The language the customer is writing in. Set it from their own messages rather than leaving the default: the estimate's notice comes back in this language, and a notice the customer cannot read discloses nothing. Sigo serves these two languages only.
Exemple d'appel{"name": "list_available_states", "arguments": {"locale": "es"}}Exemple de retour{"content": [{"type": "text", "text": "…"}], "structuredContent": {"states": [], "carriers": {}, "how_sigo_is_paid": "texte", "state_is_decided_by": "texte"}} - next_question≈ 2486 tokens
Step 1 of 3: call it until ready_to_quote is true, sending back the collected it returns each time and each answer under answer_as.key. Then start_quote. Returns the one question to put to the customer now, in their language, with the options to offer when the field has a fixed set. Call it before each question and again after every answer, until `ready_to_quote` is true, then call `start_quote`. Send only what the customer said this turn, in `answered`, together with the `collected` from the last call. The connector keeps the record of the conversation, so nothing is repeated and an answer given before its turn is not lost. When `ready_to_quote` turns true, `summary` is what the customer has said: read it back and let them correct it before quoting. It exists so the order and the pace are the connector's rather than a matter of judgement: Sigo's customers are working people, often quoting on a phone, and a turn that asks for four things at once is where they give up. Once a ZIP is given it is checked here, so a customer outside the states Sigo is licensed in is told before being walked through the rest. There are two stretches. `stage: "first_quote"` is the one that ends in estimates. `stage: "second_round"` is for a customer who saw those estimates and wants to finish the application so the carrier can quote it for real: it asks where the car is kept, the VIN, who owns it, the licence, and a few more. The prices it leads to are still estimates; the final quote comes after the carrier's own questions, in Sigo's link. `get_quote` says when that is worth offering. A vehicle a business uses for its work is commercial auto and is not quoted here: use commercial_next_question. Someone who drives only for apps like Uber or DoorDash stays here.
Paramètres, retour & exemple (4)
Paramètresstage· string · optionnel · first_quote | second_round
Which stretch the conversation is in. `second_round` is for a customer who saw prices and wants to finish the application; it asks a different set, and the prices it leads to are still estimates.locale· string · requis · es | en
The language the customer is writing in. Set it from their own messages rather than leaving the default: the estimate's notice comes back in this language, and a notice the customer cannot read discloses nothing. Sigo serves these two languages only.answered· object · optionnel
Only what the customer said this turn. Everything from earlier turns is already in `collected` and must not be repeated here.collected· string · optionnel
The `collected` from the previous call. Leave it out on the first question of a conversation and send it on every call after that: it carries everything answered so far, so nothing has to be repeated and nothing is lost.
Exemple d'appel{"name": "next_question", "arguments": {"locale": "es"}}Exemple de retour{"content": [{"type": "text", "text": "…"}], "structuredContent": {"ask": "texte", "field": "texte", "options": [], "summary": "texte", "answer_as": "texte", "collected": "texte", "ready_to_quote": true}} - other_carrier_questions≈ 960 tokens
Retired. Do not call it: carrier_questions asks every carrier's questions at once, and get_quote carries the firm prices in firm_prices. Kept so an older conversation that reaches it is told where to go, with the link. It asks nothing and reads nothing.
Paramètres, retour & exemple (3)
Paramètreslocale· string · requis · es | en
The language the customer is writing in. Set it from their own messages rather than leaving the default: the estimate's notice comes back in this language, and a notice the customer cannot read discloses nothing. Sigo serves these two languages only.quote_id· string · requis
The handle start_quote returned.answers_so_far· string · optionnel
Ignored: nothing is carried here any more.
Exemple d'appel{"name": "other_carrier_questions", "arguments": {"locale": "es", "quote_id": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}], "structuredContent": {"note": "texte", "preamble": "texte", "next_step": {}, "questions": [], "ask_together": [], "can_answer_here": true}} - resolve_application_link≈ 644 tokens
Outside the three steps: for a customer who arrives with a Sigo link they already have. Says what a Sigo link points at, how far that application has got, and the one thing the customer has to do next. Call it when someone shows up with a link — from an email, a text, or their own notes — and asks for help finishing. Pass only the Sigo link or code they shared. It resolves the short link, the long one and a bare code. It reads only: it opens nothing on the customer's behalf, and asking twice changes nothing. It reports no price, carrier or personal detail, because Sigo does not send any — whoever holds a link gets this same answer, so there is nothing here that identifies its owner. Say the `message` as given rather than composing one.
Paramètres, retour & exemple (2)
Paramètreslocale· string · optionnel · es | en
The language to write the returned `message` in: the customer's own, es or en.pasted_link· string · requis
Only the Sigo link or code the customer shared (a sigoseguros.com link or a short code), not the rest of their message. Stray punctuation around it is fine; do not guess at a link the customer did not provide.
Exemple d'appel{"name": "resolve_application_link", "arguments": {"pasted_link": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}], "structuredContent": {"url": "texte", "state": "in_progress", "message": "texte", "next_step": "texte"}} - start_quote≈ 7722 tokens
Step 2 of 3: call it once, with the collected next_question returned when ready_to_quote was true. It returns a quote_id for get_quote. If it answers quote_in_progress, do not call it again: read the quote_id you already have. Retrying the same call, after a timeout say, is safe: while its rating runs, the retry starts no second one and answers quote_in_progress. Asks Sigo's carriers for car insurance estimates. Carriers answer over tens of seconds, so this returns a quote_id straight away rather than waiting; read the prices with get_quote. Estimates are not binding: this does not select a policy, take payment or bind coverage. No browser is needed to get them: they come back in these tool calls, and the link in each one is where the customer continues if they want to buy. Call it once the details are gathered. Gather them a step at a time in conversation — listing every field up front reads as a form and loses people before the first answer. For a customer who already has a quote and wants something changed, pass that quote's id as revise_of instead of starting over: the same person re-quoted, not a second one. A call for a customer who already quoted today and is still at their first round revises that quote even without revise_of — the result says revised_from_quote: true — so a forgotten id never makes a second application. The same call carries the second round. Once the customer has answered what `next_question` asks with `stage: "second_round"` — address, VIN, ownership and lienholder, licence status and months held, occupation, education, prior coverage, excluded drivers, and each driver's document number in `drivers[].document.number` — send them all here with revise_of, and the carriers price the quote again on what they now know. The address the second round asks for is where the car is kept, and it is checked against the ZIP the quote is running on. They disagree, and the answer is to correct whichever one is wrong — never to move the customer onto a ZIP in a state the car is not kept in. One quote at a time per customer. If their previous quote is still being answered, this fails with quote_in_progress and a poll_after_seconds: say so, read the earlier quote with get_quote when that time has passed, then ask for this one again with revise_of. Two asks at once ("the Civic and the Silverado") are run one after the other, and each result's asked_for says which is which. Apart from arguments the schema rejects, a refusal comes back with a code, a message for the customer and a next_step for you, which says what to do next and which tool, if any, to call.
Paramètres, retour & exemple (15)
Paramètresemail· string · requis
Identifies the customer and is how Sigo reaches them about this quote. No phone number is collected here, so nothing can be called or texted from this channel — which is not the same as Sigo not calling: a customer who wants a call leaves their number in Sigo's own flow, through the link on their estimate, and an agent calls them.locale· string · requis · es | en
The language the customer is writing in. Set it from their own messages rather than leaving the default: the estimate's notice comes back in this language, and a notice the customer cannot read discloses nothing. Sigo serves these two languages only.address· ? · optionnel
Second round only. The street address where the car is kept overnight — street and number; the ZIP already gave the city and the state. It is checked against that ZIP, and an address somewhere else is refused rather than quoted: this is the field that decides which state the policy is rated in. Where they work is not it.drivers· array · requisvehicles· array · requiszip_code· string · requis
The 5-digit ZIP code where the vehicle is kept. It determines the state.collected· string · requis
The `collected` next_question returned once `ready_to_quote` was true. Required: it is the record that every question was put to the customer. A call without it, or with one that still has questions pending, is refused with `questions_not_finished` and creates nothing.revise_of· string · optionnel
When the customer wants a quote they already have run again with something changed — another deductible, another coverage, a detail they gave wrong: pass that quote's `quote_id` here, with the full details including the change. It re-quotes the same person instead of making them a second one. Never invent this value, and never use it for a different customer.is_student· boolean · optionnelis_homeowner· boolean · optionnelcorrection_of· string · optionnel
Only when a previous call failed with `data_not_accepted`: pass the `correction_of` it returned, together with the corrected details. The quote is retried on the same record instead of starting a second one for the same person. Never invent this value.uninsured_motorist· boolean · requis
Whether to include uninsured-motorist protection — cover for when the other driver has no insurance. Ask it; it is the one add-on offered at this step and it changes the price.has_prior_insurance· boolean · requis
Whether the customer currently has car insurance.prior_coverage_months· ? · optionnel
Second round only, and only for a customer who has insurance now. How long they have been covered: offer 6 months, 1 year, 3 years, 4 or more.prior_coverage_expiration· ? · optionnel
Second round only. YYYY-MM-DD, when the current policy ends. Today is accepted; a date already past is refused: confirm it with the customer, and if their coverage really did end, they have no prior insurance to send.
Exemple d'appel{"name": "start_quote", "arguments": {"email": "texte", "locale": "es", "drivers": [], "vehicles": [], "zip_code": "texte", "collected": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}], "structuredContent": {"state": "texte", "covers": {}, "quotes": [], "status": "pending", "contact": {}, "carriers": {}, "problems": [], "quote_id": "texte", "asked_for": {}, "issued_by": {}, "quoted_at": "texte", "expires_at": "texte"}} - submit_commercial_application≈ 694 tokens
Commercial auto, step 2 of 2: call it once, with the collected commercial_next_question returned when ready_to_submit was true. Do not call it again after it answers: a repeat is usually answered with the earlier request and already_received: true, but that is not guaranteed, and a second call can file a second request. Sends the intake to Sigo, where a licensed agent reviews it and follows up by email. It is a request for a quote, not a quote: it returns no price, selects no policy, takes no payment and binds no coverage. Say `message` and `disclaimer` as written, and offer `form_url` with `form_note` for a customer who wants to add their vehicles and drivers now. A refusal comes back with a code, a message for the customer and a next_step for you. One that says the request did not reach Sigo carries form_url: never tell the customer it was received.
Paramètres, retour & exemple (2)
Paramètreslocale· string · requis · es | en
The language the customer is writing in. Set it from their own messages: the questions come back in it, and the request is filed in it so the Sigo agent follows up in it.collected· string · requis
The `collected` commercial_next_question returned when ready_to_submit was true.
Exemple d'appel{"name": "submit_commercial_application", "arguments": {"locale": "es", "collected": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}], "structuredContent": {"status": "texte", "message": "texte", "form_url": "texte", "form_note": "texte", "reference": "texte", "disclaimer": "texte", "already_received": true}}
C'est votre serveur ?
Revendiquez-le sur l'espace créateur (preuve GitHub, domaine ou npm) pour afficher le badge « propriétaire vérifié » et lancer un pentest comportemental à la demande afin d'obtenir le badge « Vérifié ».