PuntoSeguro · Seguros de vida y salud

Spanish insurance broker: real life-insurance quotes from 10+ insurers, coverage and applications.

Should I use this

Quality & Safety

A
Description quality
100%
Schema completeness
96%
Naming quality
88%
Poisoning risk
100%
Permission match
100%
Protocol compliance
100%

Findings (3)

  • LOWTool 'calculate_life_insurance_coverage' name length outside 3-30 rangein calculate_life_insurance_coverage
  • LOWTool 'get_life_insurance_quote_details' name length outside 3-30 rangein get_life_insurance_quote_details
  • LOWTool 'start_life_insurance_application' name length outside 3-30 rangein start_life_insurance_application

Based on automated analysis of tool definitions and protocol compliance.

Context Cost

~3,125Tokens (tool definitions)
~6.2 KBTypical response size
Significant attention impact (2.44% of 128k context)

This is the approximate number of tokens consumed each time the server's tools are loaded into a model's context. Higher counts reduce the attention available for other tasks.

Install

One-Click Install

Add this to your `claude_desktop_config.json` file:

{
  "mcpServers": {
    "seguros-vida-salud": {
      "url": "https://app.puntoseguro.com/mcp"
    }
  }
}

Remote endpoints

https://app.puntoseguro.com/mcpstreamable-http

What it can do

Tool inventory

Tools (5)

🟢 Read-only🟡 Write🔴 Delete⚪ Unknown
🟢calculate_life_insurance_coverage(annual_net_income_eur, outstanding_debts_eur, existing_life_cover_eur)

Calculates an indicative life-insurance coverage amount for a resident of Spain with PuntoSeguro's published method: five years of net annual income plus outstanding debts, minus existing life cover, rounded up to the nearest 10,000 EUR. Returns the amount and its breakdown. Informational only; not individualized financial advice, premiums or savings products.

Input Schema

{
  "type": "object",
  "properties": {
    "annual_net_income_eur": {
      "type": "number",
      "minimum": 0,
      "maximum": 100000000,
      "description": "Annual net income to protect for dependants, in euros"
    },
    "outstanding_debts_eur": {
      "default": 0,
      "description": "Outstanding debts, including mortgage balance, in euros",
      "type": "number",
      "minimum": 0,
      "maximum": 100000000
    },
    "existing_life_cover_eur": {
      "default": 0,
      "description": "Existing life-insurance cover already in force, in euros",
      "type": "number",
      "minimum": 0,
      "maximum": 100000000
    }
  },
  "required": [
    "annual_net_income_eur"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#"
}

Output Schema

{
  "type": "object",
  "properties": {
    "type": {
      "type": "string",
      "const": "life_insurance_coverage_calculation"
    },
    "methodology": {
      "type": "string",
      "const": "5 years of net income + outstanding debts - existing life cover"
    },
    "annual_net_income_eur": {
      "type": "number",
      "minimum": 0
    },
    "income_years": {
      "type": "number",
      "const": 5
    },
    "income_protection_eur": {
      "type": "number",
      "minimum": 0
    },
    "outstanding_debts_eur": {
      "type": "number",
      "minimum": 0
    },
    "existing_life_cover_eur": {
      "type": "number",
      "minimum": 0
    },
    "gross_protection_need_eur": {
      "type": "number",
      "minimum": 0
    },
    "additional_cover_needed_eur": {
      "type": "number",
      "minimum": 0
    },
    "calculated_coverage_eur": {
      "type": "number",
      "minimum": 0
    },
    "rounded_to_eur": {
      "type": "number",
      "const": 10000
    },
    "calculator_url": {
      "type": "string",
      "const": "https://www.puntoseguro.com/seguros-de-vida/calculadora-capital/"
    },
    "disclaimer": {
      "type": "string"
    }
  },
  "required": [
    "type",
    "methodology",
    "annual_net_income_eur",
    "income_years",
    "income_protection_eur",
    "outstanding_debts_eur",
    "existing_life_cover_eur",
    "gross_protection_need_eur",
    "additional_cover_needed_eur",
    "calculated_coverage_eur",
    "rounded_to_eur",
    "calculator_url",
    "disclaimer"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#",
  "additionalProperties": false
}
🟢open_life_insurance_quote_form(coverage_amount_eur)

Displays PuntoSeguro's life-insurance quote form, in which the user types an exact date of birth and chooses a coverage amount; submitting it shows the quotes available through PuntoSeguro. Optionally preselects a coverage amount. Sends and stores no personal data. Residents of Spain only.

Input Schema

{
  "type": "object",
  "properties": {
    "coverage_amount_eur": {
      "description": "Coverage amount in euros to preselect, only if the user already stated or calculated one",
      "type": "number",
      "exclusiveMinimum": 0,
      "maximum": 10000000
    }
  },
  "$schema": "http://json-schema.org/draft-07/schema#"
}

Output Schema

{
  "type": "object",
  "properties": {
    "type": {
      "type": "string",
      "const": "life_insurance_quote_form"
    },
    "coverage_amount_eur": {
      "anyOf": [
        {
          "type": "number",
          "exclusiveMinimum": 0,
          "maximum": 10000000,
          "description": "Requested life-insurance coverage amount in euros"
        },
        {
          "type": "null"
        }
      ]
    },
    "suggested_amounts_eur": {
      "type": "array",
      "items": {
        "type": "number",
        "exclusiveMinimum": 0
      }
    },
    "missing_fields": {
      "type": "array",
      "items": {
        "type": "string"
      }
    }
  },
  "required": [
    "type",
    "coverage_amount_eur",
    "suggested_amounts_eur"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#",
  "additionalProperties": false
}
🟢list_life_insurance_quotes(birth_year, birth_month, birth_day, coverage_amount_eur)

Returns the indicative annual life-insurance protection (vida riesgo) premiums available through PuntoSeguro for a resident of Spain, given an exact date of birth and a coverage amount: insurer ids, insurer names and premiums for death, death and disability, double and triple capital, and displays the comparison interface where supported. When the date of birth or the coverage amount is missing, it returns PuntoSeguro's quote form and the list of missing details instead of quotes. Results are limited to the insurers available through PuntoSeguro and are not a whole-market comparison.

Input Schema

{
  "type": "object",
  "properties": {
    "birth_year": {
      "type": "integer",
      "minimum": 1900,
      "maximum": 2026,
      "description": "Four-digit birth year"
    },
    "birth_month": {
      "type": "integer",
      "minimum": 1,
      "maximum": 12,
      "description": "Birth month from 1 to 12"
    },
    "birth_day": {
      "type": "integer",
      "minimum": 1,
      "maximum": 31,
      "description": "Birth day from 1 to 31"
    },
    "coverage_amount_eur": {
      "type": "number",
      "exclusiveMinimum": 0,
      "maximum": 10000000,
      "description": "Requested life-insurance coverage amount in euros"
    }
  },
  "$schema": "http://json-schema.org/draft-07/schema#"
}

Output Schema

{
  "type": "object",
  "properties": {
    "type": {
      "type": "string",
      "enum": [
        "life_insurance_quote_list",
        "life_insurance_quote_form"
      ]
    },
    "coverage_amount_eur": {
      "anyOf": [
        {
          "type": "number",
          "exclusiveMinimum": 0,
          "maximum": 10000000,
          "description": "Requested life-insurance coverage amount in euros"
        },
        {
          "type": "null"
        }
      ]
    },
    "quote_count": {
      "type": "integer",
      "minimum": 0,
      "maximum": 9007199254740991
    },
    "quotes": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "insurer_id": {
            "type": "integer",
            "exclusiveMinimum": 0,
            "maximum": 9007199254740991
          },
          "insurer_name": {
            "type": "string"
          },
          "annual_death_premium_eur": {
            "type": "number",
            "minimum": 0,
            "description": "Indicative annual death-only premium in euros; 0 means unavailable, not free"
          },
          "annual_death_and_disability_premium_eur": {
            "type": "number",
            "minimum": 0,
            "description": "Indicative annual death-and-disability premium in euros; 0 means unavailable"
          },
          "annual_double_capital_premium_eur": {
            "type": "number",
            "minimum": 0,
            "description": "Indicative annual double-capital premium in euros; 0 means unavailable"
          },
          "annual_triple_capital_premium_eur": {
            "type": "number",
            "minimum": 0,
            "description": "Indicative annual triple-capital premium in euros; 0 means unavailable"
          },
          "supports_decreasing_capital": {
            "type": "boolean"
          },
          "supports_mortgage_protection": {
            "type": "boolean"
          },
          "capital_types": {
            "type": "array",
            "items": {
              "type": "string",
              "enum": [
                "fixed",
                "decreasing"
              ]
            }
          }
        },
        "required": [
          "insurer_id",
          "insurer_name",
          "annual_death_premium_eur",
          "annual_death_and_disability_premium_eur",
          "annual_double_capital_premium_eur",
          "annual_triple_capital_premium_eur",
          "supports_decreasing_capital",
          "supports_mortgage_protection",
          "capital_types"
        ],
        "additionalProperties": false
      }
    },
    "error": {
      "type": "string"
    },
    "suggested_amounts_eur": {
      "type": "array",
      "items": {
        "type": "number",
        "exclusiveMinimum": 0
      }
    },
    "missing_fields": {
      "type": "array",
      "items": {
        "type": "string"
      }
    }
  },
  "required": [
    "type",
    "coverage_amount_eur"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#",
  "additionalProperties": false
}
🟢get_life_insurance_quote_details(insurer_id, birth_year, birth_month, birth_day, coverage_amount_eur, ...)

Returns the coverage sections, included and excluded items, payment options and premium variants of one quote, identified by an insurer id from list_life_insurance_quotes for the same date of birth and coverage amount. Residents of Spain only.

Input Schema

{
  "type": "object",
  "properties": {
    "insurer_id": {
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 9007199254740991,
      "description": "Insurer id returned by list_life_insurance_quotes"
    },
    "birth_year": {
      "type": "integer",
      "minimum": 1900,
      "maximum": 2026,
      "description": "Four-digit birth year"
    },
    "birth_month": {
      "type": "integer",
      "minimum": 1,
      "maximum": 12,
      "description": "Birth month from 1 to 12"
    },
    "birth_day": {
      "type": "integer",
      "minimum": 1,
      "maximum": 31,
      "description": "Birth day from 1 to 31"
    },
    "coverage_amount_eur": {
      "type": "number",
      "exclusiveMinimum": 0,
      "maximum": 10000000,
      "description": "Requested life-insurance coverage amount in euros"
    },
    "coverage_variant": {
      "default": "death",
      "description": "Coverage variant to inspect; use death when the user has not selected another variant",
      "type": "string",
      "enum": [
        "death",
        "death_and_disability",
        "double_capital",
        "triple_capital"
      ]
    }
  },
  "required": [
    "insurer_id",
    "birth_year",
    "birth_month",
    "birth_day",
    "coverage_amount_eur"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#"
}

Output Schema

{
  "type": "object",
  "properties": {
    "type": {
      "type": "string",
      "const": "life_insurance_quote_details"
    },
    "insurer_id": {
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 9007199254740991
    },
    "coverage_amount_eur": {
      "type": "number",
      "exclusiveMinimum": 0,
      "maximum": 10000000,
      "description": "Requested life-insurance coverage amount in euros"
    },
    "coverage_variant": {
      "default": "death",
      "description": "Coverage variant to inspect; use death when the user has not selected another variant",
      "type": "string",
      "enum": [
        "death",
        "death_and_disability",
        "double_capital",
        "triple_capital"
      ]
    },
    "quote": {
      "type": "object",
      "properties": {
        "insurer_name": {
          "type": "string"
        },
        "annual_death_premium_eur": {
          "type": "number",
          "minimum": 0,
          "description": "Indicative annual death-only premium in euros; 0 means unavailable, not free"
        },
        "annual_death_and_disability_premium_eur": {
          "type": "number",
          "minimum": 0,
          "description": "Indicative annual death-and-disability premium in euros; 0 means unavailable"
        },
        "annual_double_capital_premium_eur": {
          "type": "number",
          "minimum": 0,
          "description": "Indicative annual double-capital premium in euros; 0 means unavailable"
        },
        "annual_triple_capital_premium_eur": {
          "type": "number",
          "minimum": 0,
          "description": "Indicative annual triple-capital premium in euros; 0 means unavailable"
        },
        "selected_annual_premium_eur": {
          "type": "number",
          "exclusiveMinimum": 0,
          "description": "Indicative annual premium for the selected available coverage variant"
        },
        "supports_decreasing_capital": {
          "type": "boolean"
        },
        "supports_mortgage_protection": {
          "type": "boolean"
        },
        "capital_types": {
          "type": "array",
          "items": {
            "type": "string",
            "enum": [
              "fixed",
              "decreasing"
            ]
          }
        },
        "coverage_sections": {
          "type": "array",
          "items": {
            "type": "object",
            "properties": {
              "heading": {
                "type": "string"
              },
              "items": {
                "type": "array",
                "items": {
                  "type": "object",
                  "properties": {
                    "title": {
                      "type": "string"
                    },
                    "included": {
                      "type": "boolean"
                    },
                    "note": {
                      "anyOf": [
                        {
                          "type": "string"
                        },
                        {
                          "type": "null"
                        }
                      ]
                    }
                  },
                  "required": [
                    "title",
                    "included",
                    "note"
                  ],
                  "additionalProperties": false
                }
              }
            },
            "required": [
              "heading",
              "items"
            ],
            "additionalProperties": false
          }
        },
        "payment_options": {
          "type": "array",
          "items": {
            "type": "object",
            "properties": {
              "title": {
                "type": "string"
              },
              "included": {
                "type": "boolean"
              },
              "note": {
                "anyOf": [
                  {
                    "type": "string"
                  },
                  {
                    "type": "null"
                  }
                ]
              }
            },
            "required": [
              "title",
              "included",
              "note"
            ],
            "additionalProperties": false
          }
        }
      },
      "required": [
        "insurer_name",
        "annual_death_premium_eur",
        "annual_death_and_disability_premium_eur",
        "annual_double_capital_premium_eur",
        "annual_triple_capital_premium_eur",
        "selected_annual_premium_eur",
        "supports_decreasing_capital",
        "supports_mortgage_protection",
        "capital_types",
        "coverage_sections",
        "payment_options"
      ],
      "additionalProperties": false
    }
  },
  "required": [
    "type",
    "insurer_id",
    "coverage_amount_eur",
    "coverage_variant",
    "quote"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#",
  "additionalProperties": false
}
🟢start_life_insurance_application(insurer_id, birth_year, birth_month, birth_day, coverage_amount_eur, ...)

Returns the secure link to start an application on puntoseguro.com for one quote, identified by an insurer id from list_life_insurance_quotes, a coverage option, the date of birth and the coverage amount. The application, health questionnaire and signature are completed by the user on puntoseguro.com; this tool submits nothing and collects no personal data. The final premium is subject to the insurer's underwriting.

Input Schema

{
  "type": "object",
  "properties": {
    "insurer_id": {
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 9007199254740991,
      "description": "Insurer id returned by list_life_insurance_quotes for the same date of birth and coverage amount"
    },
    "birth_year": {
      "type": "integer",
      "minimum": 1900,
      "maximum": 2026,
      "description": "Four-digit birth year"
    },
    "birth_month": {
      "type": "integer",
      "minimum": 1,
      "maximum": 12,
      "description": "Birth month from 1 to 12"
    },
    "birth_day": {
      "type": "integer",
      "minimum": 1,
      "maximum": 31,
      "description": "Birth day from 1 to 31"
    },
    "coverage_amount_eur": {
      "type": "number",
      "exclusiveMinimum": 0,
      "maximum": 10000000,
      "description": "Requested life-insurance coverage amount in euros"
    },
    "coverage_variant": {
      "default": "death",
      "description": "Coverage option the user chose; death if the user has not chosen another",
      "type": "string",
      "enum": [
        "death",
        "death_and_disability",
        "double_capital",
        "triple_capital"
      ]
    }
  },
  "required": [
    "insurer_id",
    "birth_year",
    "birth_month",
    "birth_day",
    "coverage_amount_eur"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#"
}

Output Schema

{
  "type": "object",
  "properties": {
    "type": {
      "type": "string",
      "const": "life_insurance_application_link"
    },
    "insurer_id": {
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 9007199254740991
    },
    "insurer_name": {
      "type": "string"
    },
    "coverage_amount_eur": {
      "type": "number",
      "exclusiveMinimum": 0,
      "maximum": 10000000,
      "description": "Requested life-insurance coverage amount in euros"
    },
    "coverage_variant": {
      "type": "string"
    },
    "annual_premium_eur": {
      "type": "number",
      "minimum": 0
    },
    "application_url": {
      "type": "string",
      "format": "uri"
    }
  },
  "required": [
    "type",
    "insurer_id",
    "insurer_name",
    "coverage_amount_eur",
    "coverage_variant",
    "annual_premium_eur",
    "application_url"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#",
  "additionalProperties": false
}

Community

Rate this Server

Evidence

Recent observations

verifiedversion not recorded5 tools