Skip to main content
Glama

Fiscalité d'un contrat d'assurance-vie

simulate_av
Read-onlyIdempotent

Calcule la fiscalité d'un contrat d'assurance-vie : rachat, avance ou transmission (CGI art. 125-0 A, 990 I, 757 B et 777). Entrées : valeur du contrat, total des versements, ancienneté en années, objet du calcul, et, pour une transmission, primes par âge au versement et bénéficiaires (lien, quote-part). Sortie : montants de rachat, d'avance ou transmis. netRachat est un net de contrat, distinct du net du foyer. Le régime de transmission suit l'âge de l'assuré à chaque prime : avant 70 ans, CGI art. 990 I ; à partir de 70 ans, CGI art. 757 B (abattement de 30 500 euros par assuré, partagé au prorata, primes seules taxées), puis CGI art. 777 selon le lien. Sans primesParAge ou beneficiairesTransmission, le calcul de transmission est refusé.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
tmiNoTMI du foyer en taux décimal (0.30 pour 30 %), lorsqu'elle est fournie. Absente : l'option pour le barème n'est pas chiffrée.
ageAssureNoÂge actuel de l'assuré. Le régime de transmission suit l'âge à chaque prime, pas cet âge.
objetCalculYes
plusValuesUCNoGains d'unités de compte. Les prélèvements sociaux de 17,2 % portent sur cette part.
primesParAgeNoPrimes avec l'âge de l'assuré au versement. Entrée du calcul de transmission. Absente : ce calcul est refusé.
ancienneteAnsYes
montantRachatNo
valeurContratYes
nbBeneficiairesNoNombre de bénéficiaires. La transmission se calcule à partir de beneficiairesTransmission.
primesAvant2017NoPrimes de ce contrat versées avant le 27/09/2017. Absentes : toutes les primes sont traitées comme postérieures à cette date.
versementsTotalYes
situationFamilialeNoPersonne seule ou couple.
primesTotalesAssureNoPrimes de tous les contrats de l'assuré encore investies, pour le seuil de 150 000 euros.
plusValuesFondsEurosNoGains du fonds en euros. Avec plusValuesUC, entrée du calcul lorsque le contrat a des gains.
beneficiairesTransmissionNoBénéficiaires de la transmission : lien de parenté et quote-part. Absents : le calcul de transmission est refusé.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed11 schema fields changed
    • changedInput schema / properties / ageAssure / description
      Previous value: -"Ne choisit pas le régime de transmission. Le régime suit l'âge à chaque prime."New value: +"Âge actuel de l'assuré. Le régime de transmission suit l'âge à chaque prime, pas cet âge."
    • changedInput schema / properties / beneficiairesTransmission / description
      Previous value: -"Requis pour une transmission : lien de parenté et quote-part."New value: +"Bénéficiaires de la transmission : lien de parenté et quote-part. Absents : le calcul de transmission est refusé."
    • changedInput schema / properties / beneficiairesTransmission / items / properties / abattementSuccessoralRestant / description
      Previous value: -"Abattement successoral encore disponible. Absent : abattement légal plein du lien, signalé."New value: +"Abattement successoral encore disponible. Absent : abattement légal plein du lien, signalé dans le résultat."
    • changedInput schema / properties / nbBeneficiaires / description
      Previous value: -"Ignoré pour la transmission. Passer beneficiairesTransmission."New value: +"Nombre de bénéficiaires. La transmission se calcule à partir de beneficiairesTransmission."
    • changedInput schema / properties / plusValuesFondsEuros / description
      Previous value: -"Gains du fonds en euros. Requis, avec plusValuesUC, si le contrat a des gains."New value: +"Gains du fonds en euros. Avec plusValuesUC, entrée du calcul lorsque le contrat a des gains."
    • changedInput schema / properties / plusValuesUC / description
      Previous value: -"Gains d'unités de compte. Les prélèvements sociaux de 17,2 % ne portent que sur cette part."New value: +"Gains d'unités de compte. Les prélèvements sociaux de 17,2 % portent sur cette part."
    • changedInput schema / properties / primesAvant2017 / description
      Previous value: -"Primes de ce contrat versées avant le 27/09/2017. Absent : toutes supposées postérieures (hypothèse la moins favorable)."New value: +"Primes de ce contrat versées avant le 27/09/2017. Absentes : toutes les primes sont traitées comme postérieures à cette date."
    • changedInput schema / properties / primesParAge / description
      Previous value: -"Requis pour une transmission. Sans cette liste, le calcul est refusé."New value: +"Primes avec l'âge de l'assuré au versement. Entrée du calcul de transmission. Absente : ce calcul est refusé."
    • changedInput schema / properties / primesParAge / items / properties / ageAuVersement / description
      Previous value: -"Âge de l'assuré au versement. Avant 70 ans : 990 I. À partir de 70 ans : 757 B."New value: +"Âge de l'assuré au versement. Avant 70 ans : CGI art. 990 I. À partir de 70 ans : CGI art. 757 B."
    • changedInput schema / properties / situationFamiliale / description
      Previous value: -"Personne seule ou couple. Même vocabulaire que compare_allocation."New value: +"Personne seule ou couple."
    • changedInput schema / properties / tmi / description
      Previous value: -"TMI du foyer en taux décimal (0.30 pour 30 %), seulement si la personne la donne. Absente : l'option barème n'est pas chiffrée."New value: +"TMI du foyer en taux décimal (0.30 pour 30 %), lorsqu'elle est fournie. Absente : l'option pour le barème n'est pas chiffrée."
  2. First observed

TDQS

A3.9/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint, idempotentHint, destructiveHint=false, and openWorldHint=false. The description adds meaningful behavioral context beyond them: it explains that missing transmission inputs cause refusal, that netRachat is a contract net distinct from household net, and details the age-based transmission tax regime and allowance sharing.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is dense but front-loaded: purpose first, then inputs, outputs, the netRachat caveat, the transmission regime, and the refusal condition. Every sentence contributes to a complex tax-calculation tool, though the paragraph could be slightly more scannable for 15-parameter invocation.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's complexity (15 parameters, nested arrays, no output schema), the description adequately covers purpose, required inputs, output amounts, tax regime rules, and refusal conditions. It lacks explicit sibling-tool routing and does not explain all optional parameter nuances, but the schema and annotations fill most remaining gaps.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

With 67% schema description coverage across 15 parameters, the schema carries much of the load. The description names the main required inputs and the transmission-specific structures (primesParAge, beneficiairesTransmission with lien and quote-part), but it does not clarify several optional parameters such as tmi, plusValuesUC, primesAvant2017, or the significance of ageAssure versus age at payment.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource: calculating the tax treatment of a life insurance contract (assurance-vie), with explicit modes rachat, avance, and transmission. The resource clearly distinguishes it from sibling simulators for CTO, PEA, PER, IFI, and Dutreil, so an agent can route correctly without opening the schema.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explains the required inputs and that transmission calculation is refused without primesParAge or beneficiairesTransmission, which gives clear invocation conditions. However, it does not explicitly say when to use this tool versus sibling simulators such as simulate_cto or simulate_pea, so usage guidance remains implied rather than explicit.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.