Sigo Seguros MCP connector

Car insurance estimates from Sigo Seguros, exposed to AI agents over the Model Context Protocol.

Sigo Seguros is a licensed insurance agency and broker. It does not underwrite policies, does not pay claims, and is not an insurance carrier. This connector returns non-binding estimates; each policy is issued by the carrier shown on the estimate.

Sigo earns a commission from the carrier and charges a broker fee. The amounts in an estimate are the carrier's — its premium and its own charges — and Sigo's fee is not among them; it is itemised for the customer before they pay, in Sigo's own flow. No fee amount appears in anything this connector returns, and none can be derived from it. An estimate is not the final cost of buying through Sigo.

Endpoint

Transport Streamable HTTP
Endpoint POST https://mcp.sigoseguros.com/mcp
Authentication None. The connector is open: no account, plan or credential.
Protocol Negotiated by the client. Exercised against 2025-11-25.

The connector is stateless: every request stands on its own and carries no session, so it can be called from any number of clients at once.

What it can and cannot do

It can estimate car insurance for a household's vehicles and drivers in the US states Sigo is licensed in, and hand back a link for the customer to continue with Sigo.

It cannot select a policy, take payment, bind coverage, change or cancel anything, or read back an existing policy. There is no tool for any of that.

Tools

list_available_states

Read-only, takes the customer's locale. Worth calling first, so a customer elsewhere is not taken through a full quote. It also carries what can be said about carriers, because the question — “do you work with X?” — arrives before any quote exists to answer it from.

{ "states": [{ "code": "TX", "name": "Texas" }, … ],
  "carriers": { "catalogue_is_public": false, "note": "…" } }

next_question

Read-only. Takes what has been gathered so far, as flags, and returns the one question to ask now — worded for the customer, 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.

Once zip_code is known it is checked against Sigo's footprint here, so a customer in a state Sigo is not licensed in is told at that point rather than after giving their car, their birthdate and their email.

{ "field": "marital_status",
  "ask": "¿Cuál es su estado civil?",
  "options": ["soltero/a", "casado/a", "viudo/a", "divorciado/a", "separado/a"],
  "ready_to_quote": false }

It exists so the order and the pace belong to the connector rather than to a model's 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.

start_quote

Creates the quote and asks the carriers. Carriers answer over tens of seconds, so this does not wait for them: it returns a quote_id immediately with status: "pending".

Field Required Notes
zip_code yes 5 digits. Determines the state.
vehicles yes 1–4. Each: year, make, model, coverage_type (liability or full_coverage), optional deductible.
drivers yes 1–4. Each: first_name, last_name, birthdate (YYYY-MM-DD), gender, marital_status, is_primary.
has_prior_insurance yes Changes the price materially.
is_homeowner, is_student no Default false.
email yes Identifies the customer, and is where Sigo can reach them about this quote.
locale yes es or en — the language the customer is writing in. The estimate's notice comes back in it, so a wrong value hands the customer a disclosure they cannot read. Sigo serves these two.
correction_of no Only after a data_not_accepted failure: the value it returned. The quote is retried on the same record, so a customer who corrects a detail stays one customer.
The schema is closed: a field that is not listed is rejected, not ignored. The connector does not accept a phone number, a driver's licence number, a VIN, a social security number or an ITIN — there is nowhere to put them. Sigo does not call or message people who quote here. A phone number, and permission to use it, are collected later in Sigo's own flow if the customer follows the link on an estimate.

get_quote

Read-only. Takes the quote_id and returns whatever the carriers have answered so far.

It returns up to three estimates, the same number and the same selection a customer sees on Sigo's website: cheapest by the amount due today, with the option that can be bought without an agent kept among them. None of them is marked as recommended — Sigo does not advise which to take from here.

{
  "quote_id": "…",
  "status": "partial",
  "more_carriers_pending": true,
  "poll_after_seconds": 5,
  "pending_note": "Faltan aseguradoras por responder, así que esta lista no está completa…",
  "contact": { "phone_collected_here": false, "sigo_calls_customers": true, "note": "Por este medio no se toman números…" },
  "state": "TX",
  "quoted_at": "…",
  "expires_at": "…",
  "quotes": [
    {
      "quote_id": "quote_…",
      "carrier_name": "Commonwealth General",
      "estimate": {
        "currency": "USD",
        "due_today": 83.50,
        "first_payment_note": "The amount due today is the down payment the carrier asks for …",
        "monthly_payment": 86.98,
        "number_of_installments": 5,
        "total_for_term": 518.40,
        "total_note": "Es lo que le pagás a la aseguradora en todo el plazo: el pago de hoy más 5 …",
        "term_months": 6
      },
      "quote_type": "estimate",
      "is_binding": false,
      "disclaimer": { "text": "Estimate subject to underwriting, eligibility and state filing.", "show_verbatim": true },
      "next_step": null
    }
  ],
  "problems": [],
  "covers": { "vehicles": 1, "drivers": 1, "note": null },
  "price_levers": { "available": [], "note": "Con responsabilidad civil no hay nada que ajustar…" },
  "personal_use_note": null,
  "carriers": {
    "answered": ["Commonwealth General", …],
    "catalogue_is_public": false,
    "note": "These are the only carriers you may name. …"
  },
  "issued_by": {
    "agency": "Sigo",
    "role": "licensed insurance agency",
    "underwrites_policies": false,
    "pays_claims": false,
    "charges_broker_fee": true
  }
}

Presenting a result to a person

Errors

Failures come back as a tool error with a stable code and a message fit to read aloud. Carrier-side technical detail is never included.

state_not_served      zip_not_found            vehicle_not_recognized
insufficient_information                       carrier_unavailable
quote_not_found       quote_expired            temporarily_unavailable
data_not_accepted

Two of them are worth telling apart. temporarily_unavailable means the same request may work shortly. data_not_accepted means it will not: something has to change first, the message says what, and the failure carries a correction_of to retry on the same record.

Privacy

What the connector is given is sent to Sigo's rating systems to produce a quote, and a lead is created so the customer can pick the estimate up later. No phone number and no government identifiers are collected. Sigo's privacy notice and terms apply.