{"ok":true,"site":{"host":"queplan.github.io","url":"https://queplan.github.io/queplan-webmcp/","type":"live","desc":"Seguros de Salud","tools":[{"name":"ordenar_resultados","kind":"act","impl":"imperative","description":"Ordena los seguros que se muestran en el comparador y devuelve cuántos resultados hay. Opciones: recommended (Recomendados), lowerPrice (Menor precio), higherPrice (Mayor precio).","annotations":{"title":"Ordenar resultados"},"inputSchema":{"type":"object","properties":{"order":{"type":"string","enum":["recommended","lowerPrice","higherPrice"],"description":"Criterio de orden. Opciones: recommended, lowerPrice, higherPrice."}},"required":["order"],"additionalProperties":false},"outputSchema":{"type":"object","properties":{"estado":{"type":"string","enum":["ok","timeout","error_backend","input_invalido","sin_cambios"]},"orden":{"type":"string","enum":["recommended","lowerPrice","higherPrice"]},"total":{"type":"integer"}}},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute","page":"/queplan-webmcp/"},{"name":"cambiar_moneda","kind":"act","impl":"imperative","description":"Cambia la moneda en que se muestran los precios del comparador entre CLP (peso chileno) y UF (Unidad de Fomento). Solo afecta la visualización, no vuelve a cotizar.","annotations":{"title":"Cambiar moneda"},"inputSchema":{"type":"object","properties":{"currency":{"type":"string","enum":["CLP","UF"],"description":"Moneda de visualización. Opciones: CLP (Peso chileno), UF (Unidad de Fomento)."}},"required":["currency"],"additionalProperties":false},"outputSchema":{"type":"object","properties":{"estado":{"type":"string","enum":["ok","timeout","error_backend","input_invalido","sin_cambios"]},"moneda":{"type":"string","enum":["CLP","UF"]}}},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute","page":"/queplan-webmcp/"},{"name":"setear_perfil","kind":"act","impl":"imperative","description":"Define el perfil del cotizante en el comparador (edad, sexo y cargas/dependientes). Recalcula los precios y devuelve cuántos resultados hay para ese perfil. Es un patch: solo se modifican los campos que envíes y el resto del perfil se conserva, así que NO reenvíes datos que el usuario no te haya dado. Para dejar el perfil sin cargas, envía \"cargas\": [].","annotations":{"title":"Setear perfil del cotizante"},"inputSchema":{"type":"object","properties":{"edad":{"type":"integer","minimum":0,"maximum":120,"description":"Edad del cotizante principal."},"sexo":{"type":"string","enum":["Femenino","Masculino"],"description":"Sexo del cotizante principal."},"ingreso":{"type":"number","minimum":0,"maximum":100000000,"description":"Opcional. Renta líquida mensual en CLP. Se guarda en el perfil pero, por ser dato sensible, ninguna tool la devuelve (y en esta demo no afecta el precio)."},"cargas":{"type":"array","maxItems":10,"description":"Cargas/dependientes del grupo familiar. [] deja el perfil sin cargas. Cada carga requiere al menos su edad; no envíes cargas vacías ni inventes datos que el usuario no dio.","items":{"type":"object","properties":{"edad":{"type":"integer","minimum":0,"maximum":120},"sexo":{"type":"string","enum":["Femenino","Masculino"]}},"required":["edad"],"additionalProperties":false}}},"additionalProperties":false},"outputSchema":{"type":"object","properties":{"estado":{"type":"string","enum":["ok","timeout","error_backend","input_invalido","sin_cambios"]},"perfil_aplicado":{"type":"object"},"total":{"type":"integer"}}},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute","page":"/queplan-webmcp/"},{"name":"aplicar_filtros_comparador","kind":"act","impl":"imperative","description":"Aplica filtros al comparador y devuelve cuántos resultados quedan. Filtros soportados: precio máximo (CLP), categorías (insuranceTypes) y compañías/aseguradoras (organizations). Cada lista de IDs REEMPLAZA la selección previa de ESE filtro (enviar [x] deja solo x marcado, no lo agrega) y enviar [] RESTAURA ese filtro a su estado por defecto: todas las categorías / todas las compañías marcadas (una selección vacía de compañías NO significa \"sin restricción\", significa todas). Los filtros que no envíes quedan intactos ([] no aplica al precio). Para agregar algo a una selección existente, lee primero estado_comparador y envía la lista completa. Usa obtener_opciones_filtro para traducir nombres a IDs.","annotations":{"title":"Aplicar filtros al comparador"},"inputSchema":{"type":"object","properties":{"precioMax":{"type":"number","minimum":1,"maximum":100000000,"description":"Precio mensual máximo en CLP. Es el filtro de precio principal."},"precioMin":{"type":"number","minimum":1,"maximum":100000000,"description":"Opcional. Precio mensual mínimo en CLP; normalmente no se usa."},"insuranceTypes":{"type":"array","items":{"type":"integer"},"maxItems":50,"description":"IDs de categorías (tipos de seguro) a marcar en el filtro de categorías. REEMPLAZA la selección actual de categorías; [] la limpia (todas las categorías)."},"organizations":{"type":"array","items":{"type":"integer"},"maxItems":50,"description":"IDs de compañías/aseguradoras a marcar en el filtro de organizaciones. REEMPLAZA la selección actual de compañías; [] restaura TODAS las compañías marcadas."}},"additionalProperties":false},"outputSchema":{"type":"object","properties":{"estado":{"type":"string","enum":["ok","timeout","error_backend","input_invalido","sin_cambios"]},"filtros_activos":{"type":"object"},"total":{"type":"integer"}}},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute","page":"/queplan-webmcp/"},{"name":"obtener_opciones_filtro","kind":"answer","impl":"imperative","description":"Lista las opciones disponibles de los filtros del comparador: categorías (insuranceTypes) y compañías/aseguradoras (organizations), cada una como id + nombre. Read-only. Úsala ANTES de aplicar_filtros_comparador para traducir nombres a IDs. Acepta \"query\" para buscar una opción por nombre sin traer el catálogo completo.","annotations":{"title":"Opciones de filtro","readOnlyHint":true,"untrustedContentHint":true},"inputSchema":{"type":"object","properties":{"filtro":{"type":"string","enum":["categorias","organizaciones","todos"],"description":"Qué filtro consultar. Por defecto \"todos\"."},"query":{"type":"string","maxLength":80,"description":"Filtra las opciones por nombre (sin distinguir mayúsculas/acentos). Ej: \"andina\" para encontrar una compañía sin traer el catálogo completo."},"limite":{"type":"integer","minimum":1,"maximum":200,"description":"Máximo de opciones a devolver por filtro (default 60)."}},"additionalProperties":false},"outputSchema":{"type":"object","properties":{"estado":{"type":"string","enum":["ok","timeout","error_backend","input_invalido","sin_cambios"]},"categorias":{"type":"array"},"organizaciones":{"type":"array"}}},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute","page":"/queplan-webmcp/"},{"name":"estado_comparador","kind":"answer","impl":"imperative","description":"Devuelve el estado ACTUAL del comparador (read-only, no cambia nada): perfil del cotizante (edad, sexo, cargas), moneda y orden de visualización, filtros activos (insuranceTypeIds, organizationIds, precioMin/precioMax en CLP), total de resultados y su rango de precios en UF (la moneda en que se cotiza; \"ufValorCLP\" trae la conversión fija de la demo), y qué ficha o comparación está abierta en pantalla. Úsala para conocer el contexto antes de setear perfil, aplicar filtros o listar seguros. Por ser dato sensible NO devuelve la renta/ingreso del cotizante: si la necesitas, pídesela al usuario.","annotations":{"title":"Estado del comparador","readOnlyHint":true},"inputSchema":{"type":"object","properties":{},"additionalProperties":false},"outputSchema":{"type":"object","properties":{"estado":{"type":"string","enum":["ok","timeout","error_backend","input_invalido","sin_cambios"]},"perfil":{"type":"object"},"moneda":{"type":"string","enum":["CLP","UF"]},"orden":{"type":"string"},"filtros_activos":{"type":"object"},"resultado":{"type":"object"},"comparando":{"type":"array"},"detalleAbierto":{"type":["integer","null"]},"ufValorCLP":{"type":"number"}}},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute","page":"/queplan-webmcp/"},{"name":"listar_seguros","kind":"answer","impl":"imperative","description":"Lista los seguros de la PÁGINA ACTUAL del comparador según el perfil y los filtros vigentes, con sus datos clave: aseguradora, categoría, precio mensual (en la moneda de display actual), cobertura hospitalaria/ambulatoria, tope anual y deducible. Read-only: NO cambia nada. Si \"total\" supera \"enPagina\", usa ver_mas_resultados para avanzar de página. Para cambiar qué se lista usa antes setear_perfil / aplicar_filtros_comparador / ordenar_resultados. Usa los \"id\" devueltos para obtener_detalle_seguro y comparar_seguros.","annotations":{"title":"Listar seguros","readOnlyHint":true,"untrustedContentHint":true},"inputSchema":{"type":"object","properties":{"limite":{"type":"integer","minimum":1,"maximum":50,"description":"Máximo de seguros a devolver (por defecto 18, el tamaño de página)."}},"additionalProperties":false},"outputSchema":{"type":"object","properties":{"estado":{"type":"string","enum":["ok","timeout","error_backend","input_invalido","sin_cambios"]},"total":{"type":"integer","description":"Total de resultados de la búsqueda."},"enPagina":{"type":"integer","description":"Seguros cargados en la página actual."},"mostrados":{"type":"integer"},"pagina":{"type":"integer"},"seguros":{"type":"array","items":{"type":"object"}}}},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute","page":"/queplan-webmcp/"},{"name":"ver_mas_resultados","kind":"act","impl":"imperative","description":"Avanza a la siguiente página de resultados del comparador: la lista visible pasa a mostrar los siguientes seguros y listar_seguros los devuelve. Úsala cuando listar_seguros muestre menos seguros en página que el total y necesites más opciones.","annotations":{"title":"Ver más resultados"},"inputSchema":{"type":"object","properties":{},"additionalProperties":false},"outputSchema":{"type":"object","properties":{"estado":{"type":"string","enum":["ok","timeout","error_backend","input_invalido","sin_cambios"]},"total":{"type":["integer","null"]},"enPagina":{"type":"integer","description":"Seguros cargados tras agregar la página."},"pagina":{"type":"integer"}}},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute","page":"/queplan-webmcp/"},{"name":"obtener_detalle_seguro","kind":"act","impl":"imperative","description":"Abre en pantalla la ficha de un seguro (por su id de listar_seguros) y devuelve su detalle completo: descripción, cobertura hospitalaria/ambulatoria, tope anual, deducible, carencia, requisitos, beneficios y el desglose del precio para el perfil vigente. La persona VE la misma ficha que tú lees: cita esta evidencia, no inventes cifras.","annotations":{"title":"Detalle de un seguro","readOnlyHint":true,"untrustedContentHint":true},"inputSchema":{"type":"object","properties":{"id":{"type":"integer","minimum":1,"description":"ID del seguro (campo \"id\" de listar_seguros)."}},"required":["id"],"additionalProperties":false},"outputSchema":{"type":"object","properties":{"estado":{"type":"string","enum":["ok","timeout","error_backend","input_invalido","sin_cambios"]},"seguro":{"type":"object"},"moneda":{"type":"string","enum":["CLP","UF"]}}},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute","page":"/queplan-webmcp/"},{"name":"comparar_seguros","kind":"act","impl":"imperative","description":"Abre en pantalla la comparación lado a lado de 2 a 3 seguros (por sus id de listar_seguros) y devuelve la matriz de diferencias: precio mensual, coberturas, tope, deducible, carencia y puntaje, marcando qué plan gana cada atributo. La persona ve la misma tabla que tú lees.","annotations":{"title":"Comparar seguros lado a lado","untrustedContentHint":true},"inputSchema":{"type":"object","properties":{"ids":{"type":"array","items":{"type":"integer","minimum":1},"minItems":2,"maxItems":3,"description":"IDs de los seguros a comparar (2 a 3)."}},"required":["ids"],"additionalProperties":false},"outputSchema":{"type":"object","properties":{"estado":{"type":"string","enum":["ok","timeout","error_backend","input_invalido","sin_cambios"]},"seguros":{"type":"array","items":{"type":"object"}},"diferencias":{"type":"array","items":{"type":"object"}},"comparacionAbierta":{"type":"boolean"}}},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute","page":"/queplan-webmcp/"},{"name":"recomendar_seguros","kind":"act","impl":"imperative","description":"Recomienda el top 3 de seguros del comparador para el perfil y filtros ACTUALES, con razones estructuradas por cada uno, y abre la comparación lado a lado en pantalla (REEMPLAZA la selección de comparación anterior). Ajusta antes el perfil y los filtros según lo que pida el usuario; luego usa las razones para explicarle la recomendación y ofrécele preparar_solicitud si quiere avanzar con una.","annotations":{"untrustedContentHint":true,"title":"Recomendar top 3"},"inputSchema":{"type":"object","properties":{"criterio":{"type":"string","enum":["mejor_valor","menor_precio","mayor_cobertura"],"description":"Criterio de ranking. mejor_valor (default): score de recomendación del comparador; menor_precio: más baratos primero; mayor_cobertura: más coberturas conocidas primero."}},"additionalProperties":false},"outputSchema":{"type":"object","properties":{"estado":{"type":"string","enum":["ok","timeout","error_backend","input_invalido","sin_cambios"]},"criterio":{"type":"string"},"recomendados":{"type":"array","items":{"type":"object"}},"comparacionAbierta":{"type":"boolean"}}},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute","page":"/queplan-webmcp/"},{"name":"guardar_comparacion","kind":"act","impl":"imperative","description":"Genera una URL compartible que guarda el estado actual del comparador (perfil, filtros, orden, moneda y comparación abierta). Abrir esa URL restaura exactamente este estado. Read-only: no cambia nada en pantalla. Entrégale el link al usuario para retomar después o compartirlo.","annotations":{"title":"Guardar comparación","readOnlyHint":true},"inputSchema":{"type":"object","properties":{},"additionalProperties":false},"outputSchema":{"type":"object","properties":{"estado":{"type":"string","enum":["ok","timeout","error_backend","input_invalido","sin_cambios"]},"url":{"type":"string"},"resumen":{"type":"object"}}},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute","page":"/queplan-webmcp/"},{"name":"preparar_solicitud","kind":"act","impl":"imperative","description":"Prepara la solicitud de contacto por un seguro: hace scroll hasta su tarjeta y RESALTA su botón \"Contratar\". NO envía nada: la solicitud solo avanza si la persona hace click en el botón resaltado. Úsala cuando el usuario ya eligió un plan y quiere ser contactado; después del click, la decisión y los datos son 100% del humano.","annotations":{"title":"Preparar solicitud de contacto"},"inputSchema":{"type":"object","properties":{"id":{"type":"integer","minimum":1,"description":"ID del seguro por el que el usuario quiere ser contactado."}},"required":["id"],"additionalProperties":false},"outputSchema":{"type":"object","properties":{"estado":{"type":"string","enum":["ok","timeout","error_backend","input_invalido","sin_cambios"]},"seguro":{"type":"object"},"requiereConfirmacionHumana":{"type":"boolean"},"botonResaltado":{"type":"boolean"}}},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute","page":"/queplan-webmcp/"}],"category":"Finance & Crypto","apiSurface":"spec","toolCount":13}}