Skip to main content
Glama

Démembrement : usufruit et nue-propriété

simulate_demembrement
Read-onlyIdempotent

Donner la nue-propriété plutôt que la pleine propriété : calcule la répartition entre usufruit et nue-propriété selon le barème de l'article 669 du CGI, à partir de l'âge en années révolues de l'usufruitier, puis les droits de donation de la nue-propriété (articles 777 et 779) et l'écart avec une donation en pleine propriété. Porte sur un démembrement déjà choisi ; pour comparer donation et succession, voir compare_transmission ; pour une transmission globale avec plusieurs options, optimiser_patrimoine. Entrées : valeur du bien, âge de l'usufruitier, type d'opération, lien de parenté, abattement déjà utilisé, nombre de bénéficiaires, donateurs (1 ou 2). La valeur du bien est le total transmis : elle est répartie en parts égales, l'abattement s'applique à chaque part, et les droits totaux sont la somme des parts. abattementDejaUtilise est le montant déjà consommé sur 15 ans (CGI art. 784), imputé sur chaque bénéficiaire : le même montant est retiré de l'abattement de chacun. Avec deux donateurs, il est aussi retiré chez chaque donateur. Pour viser un seul enfant ou un seul donateur, saisir donationsAnterieures : liste de montants avec beneficiaire (index à partir de 1, ou tous) et donateur (1 ou 2). Sans cette précision, l'hypothèse d'imputation est indiquée. donateurs absent : 1. Avec 2, chaque parent transmet la moitié, avec son abattement et son usufruit. ageUsufruitierConjoint absent : le même âge, signalé. L'usufruit temporaire de l'article 669, II n'est pas ce barème. Sortie : la réponse de la route, avec ses taux, ses valeurs, ses droits par bénéficiaire, son traceId et sa version de règles. Le champ avertissement porte : estimation indicative, pas un conseil en investissement.

Tool call template

Replace each placeholder with a value matching the input schema. Only required parameters are included; add optional parameters as needed.

{
  "id": 1,
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "arguments": {
      "valeurBien": "<valeurBien>",
      "ageUsufruitier": "<ageUsufruitier>",
      "typeOperation": "<typeOperation>"
    },
    "name": "simulate_demembrement"
  }
}

Input Schema

NameRequiredDescriptionDefault
donateursNoNombre de donateurs. Absent : 1. Avec 2, chaque parent transmet la moitié de la valeur, avec son abattement de 100 000 euros par enfant et son usufruit.
valeurBienYesValeur totale de la pleine propriété, en euros. Avec plusieurs bénéficiaires, ce total est réparti en parts égales.
lienParenteNoLien pour l'abattement de l'article 779. Absent : enfant, abattement de 100 000 euros.
typeOperationYesDONATION_NP calcule les droits sur la nue-propriété. ACQUISITION_DEMEMBREE décrit un achat démembré. EVALUATION ne calcule que la répartition usufruit et nue-propriété.
ageUsufruitierYesÂge en années révolues de l'usufruitier. Le barème de l'article 669 change à 21, 31, 41, 51, 61, 71, 81 et 91 ans.
nombreBeneficiairesNoNombre de bénéficiaires. Absent : 1. valeurBien est le total transmis : il est réparti en parts égales, l'abattement s'applique à chaque part, et les droits totaux sont la somme des parts.
donationsAnterieuresNoDonations antérieures de moins de 15 ans. Chaque ligne a un montant, un beneficiaire (index à partir de 1, ou tous) et un donateur (1 ou 2). Sans beneficiaire, le montant est imputé sur le premier bénéficiaire et l'hypothèse est indiquée. Sans donateur, il est imputé sur le donateur 1.
abattementDejaUtiliseNoAbattement déjà consommé sur 15 ans (CGI art. 784), en euros, imputé sur chaque bénéficiaire : le même montant est retiré de l'abattement de chacun. Avec deux donateurs, il est aussi retiré chez chaque donateur. Absent : 0. Pour viser un seul enfant ou un seul donateur, utiliser donationsAnterieures. Sans cette précision, l'hypothèse d'imputation est indiquée.
ageUsufruitierConjointNoÂge en années révolues du second donateur. Absent avec deux donateurs : le même âge est retenu et signalé. Ignoré avec un seul donateur, et signalé comme non repris.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed4 schema fields changed
    • changedInput schema / properties / abattementDejaUtilise / description
      Previous value: -"Abattement déjà consommé sur 15 ans, en euros, par bénéficiaire. Absent : 0."New value: +"Abattement déjà consommé sur 15 ans (CGI art. 784), en euros, imputé sur chaque bénéficiaire : le même montant est retiré de l'abattement de chacun. Avec deux donateurs, il est aussi retiré chez chaque donateur. Absent : 0. Pour viser un seul enfant ou un seul donateur, utiliser donationsAnterieures. Sans cette précision, l'hypothèse d'imputation est indiquée."
    • addedInput schema / properties / ageUsufruitierConjoint
      Added value: +{
      +  "description": "Âge en années révolues du second donateur. Absent avec deux donateurs : le même âge est retenu et signalé. Ignoré avec un seul donateur, et signalé comme non repris.",
      +  "maximum": 120,
      +  "minimum": 0,
      +  "type": "number"
      +}
    • addedInput schema / properties / donateurs
      Added value: +{
      +  "description": "Nombre de donateurs. Absent : 1. Avec 2, chaque parent transmet la moitié de la valeur, avec son abattement de 100 000 euros par enfant et son usufruit.",
      +  "enum": [
      +    1,
      +    2
      +  ],
      +  "type": "number"
      +}
    • addedInput schema / properties / donationsAnterieures
      Added value: +{
      +  "description": "Donations antérieures de moins de 15 ans. Chaque ligne a un montant, un beneficiaire (index à partir de 1, ou tous) et un donateur (1 ou 2). Sans beneficiaire, le montant est imputé sur le premier bénéficiaire et l'hypothèse est indiquée. Sans donateur, il est imputé sur le donateur 1.",
      +  "items": {
      +    "additionalProperties": false,
      +    "properties": {
      +      "beneficiaire": {
      +        "anyOf": [
      +          {
      +            "exclusiveMinimum": 0,
      +            "type": "integer"
      +          },
      +          {
      +            "const": "tous",
      +            "type": "string"
      +          }
      +        ]
      +      },
      +      "donateur": {
      +        "enum": [
      +          1,
      +          2
      +        ],
      +        "type": "number"
      +      },
      +      "montant": {
      +        "minimum": 0,
      +        "type": "number"
      +      }
      +    },
      +    "required": [
      +      "montant"
      +    ],
      +    "type": "object"
      +  },
      +  "type": "array"
      +}
  2. Changed3 schema fields changed
    • changedInput schema / properties / abattementDejaUtilise / description
      Previous value: -"Abattement déjà consommé sur 15 ans, en euros. Absent : 0."New value: +"Abattement déjà consommé sur 15 ans, en euros, par bénéficiaire. Absent : 0."
    • changedInput schema / properties / nombreBeneficiaires / description
      Previous value: -"Nombre de bénéficiaires. Absent : 1. L'abattement est imputé une fois sur la nue-propriété, puis les droits de cette base sont multipliés par ce nombre."New value: +"Nombre de bénéficiaires. Absent : 1. valeurBien est le total transmis : il est réparti en parts égales, l'abattement s'applique à chaque part, et les droits totaux sont la somme des parts."
    • changedInput schema / properties / valeurBien / description
      Previous value: -"Valeur de la pleine propriété, en euros."New value: +"Valeur totale de la pleine propriété, en euros. Avec plusieurs bénéficiaires, ce total est réparti en parts égales."
  3. Added

TDQS

A4.2/5.0
Behavior4/5

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

Annotations already cover read-only, idempotent, non-destructive, closed-world, so the safety profile needs no restating. The description adds real behavioral context beyond them: implicit defaults ('donateurs absent : 1', 'ageUsufruitierConjoint absent : le même âge, signalé'), the fact that imputation assumptions are surfaced in the response, and the avertissement that this is an estimation, not investment advice.

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

Conciseness3/5

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

Purpose and the alternative routing are correctly front-loaded, but the middle section is a dense chain of clauses that re-explains parameters the schema already covers, and the final sentence ('Le champ avertissement porte : ...') is awkwardly phrased. Roughly a third of the text could be cut without losing routing or behavioral information.

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?

For a 9-parameter tax engine with no output schema, the description covers inputs, defaults, cross-parameter interaction with two donateurs, and the shape of the response (taux, valeurs, droits par bénéficiaire, traceId, version de règles, avertissement). The return-value description is a list of field names rather than what they mean, which is the main remaining gap.

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?

Schema description coverage is 100%, so the schema already documents valeurBien split, abattementDejaUtilise imputation over 15 years, donationsAnterieures structure and the donateurs default. The description largely restates those same facts rather than adding syntax or edge-case meaning, so the baseline 3 applies; the only genuinely additive note is that unstated imputation hypotheses are reported back.

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 computation (répartition usufruit/nue-propriété per barème art. 669 CGI, then droits de donation art. 777/779 and écart vs pleine propriété) keyed on the usufruitier's age in années révolues. It explicitly separates itself from compare_transmission and optimiser_patrimoine, so an agent can pick it without opening any schema.

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

Usage Guidelines5/5

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

Gives an explicit scope statement ('Porte sur un démembrement déjà choisi') and routes to two named alternatives with the condition that selects each. It also states a real exclusion ('L'usufruit temporaire de l'article 669, II n'est pas ce barème'), which prevents a common misuse.

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.