Skip to main content
Glama

Calculer l'indice HOMA

calculate_homa
Read-onlyIdempotent

Calcule l'indice HOMA-IR (insulinorésistance) à partir de la glycémie à jeun (mmol/l, ou mg/dl avec glycemiaUnit) et de l'insulinémie à jeun (mUI/l), avec l'interprétation et les seuils publiés sur Elfy.Life. Le résultat est accompagné d'un avertissement : ce n'est pas un diagnostic médical.

Input Schema

NameRequiredDescriptionDefault
glycemiaUnitNounité de la glycémie : mmol/l (défaut) ou mg/dlmmol/l
glycemiaMmolLYesglycémie à jeun, dans l'unité glycemiaUnit (mmol/l par défaut, malgré le nom)
insulinemiaMicroUiMlYesinsulinémie à jeun, en mUI/l (équivalent µUI/ml)

Output Schema

NameRequiredDescriptionDefault
indexYes
valueYes
inputsYes
disclaimerYes
thresholdsYesplages d'interprétation publiées (bornes null = non bornées)
calculatorUrlYes
interpretationYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed3 schema fields changed
    • changedInput schema / properties / glycemiaMmolL / description
      Previous value: -"glycémie à jeun, en mmol/l"New value: +"glycémie à jeun, dans l'unité glycemiaUnit (mmol/l par défaut, malgré le nom)"
    • addedInput schema / properties / glycemiaUnit
      Added value: +{
      +  "default": "mmol/l",
      +  "description": "unité de la glycémie : mmol/l (défaut) ou mg/dl",
      +  "enum": [
      +    "mmol/l",
      +    "mg/dl"
      +  ],
      +  "type": "string"
      +}
    • changedOutput schema / (root)
      Previous value: -nullNew value: +{
      +  "properties": {
      +    "calculatorUrl": {
      +      "format": "uri",
      +      "type": "string"
      +    },
      +    "disclaimer": {
      +      "type": "string"
      +    },
      +    "index": {
      +      "enum": [
      +        "HOMA",
      +        "QUICKI"
      +      ],
      +      "type": "string"
      +    },
      +    "inputs": {
      +      "properties": {
      +        "glycemiaConvertedFrom": {
      +          "properties": {
      +            "unit": {
      +              "enum": [
      +                "mg/dl"
      +              ],
      +              "type": "string"
      +            },
      +            "value": {
      +              "type": "number"
      +            }
      +          },
      +          "required": [
      +            "value",
      +            "unit"
      +          ],
      +          "type": "object"
      +        },
      +        "glycemiaMmolL": {
      +          "type": "number"
      +        },
      +        "insulinemiaMicroUiMl": {
      +          "type": "number"
      +        }
      +      },
      +      "required": [
      +        "glycemiaMmolL",
      +        "insulinemiaMicroUiMl"
      +      ],
      +      "type": "object"
      +    },
      +    "interpretation": {
      +      "type": "string"
      +    },
      +    "thresholds": {
      +      "description": "plages d'interprétation publiées (bornes null = non bornées)",
      +      "items": {
      +        "properties": {
      +          "interpretation": {
      +            "type": "string"
      +          },
      +          "max": {
      +            "type": [
      +              "number",
      +              "null"
      +            ]
      +          },
      +          "maxInclusive": {
      +            "type": "boolean"
      +          },
      +          "min": {
      +            "type": [
      +              "number",
      +              "null"
      +            ]
      +          },
      +          "minInclusive": {
      +            "type": "boolean"
      +          }
      +        },
      +        "required": [
      +          "min",
      +          "minInclusive",
      +          "max",
      +          "maxInclusive",
      +          "interpretation"
      +        ],
      +        "type": "object"
      +      },
      +      "type": "array"
      +    },
      +    "value": {
      +      "type": "number"
      +    }
      +  },
      +  "required": [
      +    "index",
      +    "value",
      +    "interpretation",
      +    "thresholds",
      +    "inputs",
      +    "disclaimer",
      +    "calculatorUrl"
      +  ],
      +  "type": "object"
      +}
  2. First observed

TDQS

A4.3/5.0
Behavior4/5

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

Annotations already declare readOnlyHint, idempotentHint and non-destructive behavior, so safety is covered. The description adds genuinely new information: the result includes interpretation with published thresholds from Elfy.Life and carries a non-diagnostic disclaimer, which an agent could not infer from the annotations.

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?

A single well-formed sentence that front-loads the action, inputs and units, then adds the two pieces of output context. Dense but every clause carries information; only the repeated unit notation adds minor redundancy with the schema.

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?

With an output schema present and full annotation coverage, the description only needs to supply purpose, unit conventions and any extra return semantics, all of which it does. An agent has everything required to call the tool correctly.

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

Parameters4/5

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

Schema description coverage is 100%, so the baseline is 3. The description goes slightly beyond by explicitly stating the mg/dl alternative via glycemiaUnit and the mmol/l default, reinforcing the unit handling documented in the schema.

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 (calcule) and a named resource (indice HOMA-IR / insulinorésistance), lists the exact inputs and units, and distinguishes itself from the content-oriented siblings by being the only computational tool in the set.

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

Usage Guidelines4/5

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

Makes the usage context clear (fasting glycemia + insulinemia values) and implicitly rules out alternatives, since no sibling computes indices. There is no explicit 'when not to use' or prerequisite note beyond the 'à jeun' qualifier.

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.

Resources