Skip to main content
Glama

verify_text

Read-onlyIdempotent

Scan HLA typing report text, or model output about HLA, for allele-shaped tokens and classify each one: valid / legacy spelling such as A0201 or Cw0702 (valid, with modern form and flag deprecated_name) / G-P group / deleted (with successor) / fabricated / NMDP MAC code (seen, not expanded) / KIR name (out of scope, not checked); a valid token with fewer than four fields carries resolution, what that field count does and does not distinguish. Nomenclature checking against a pinned IPD-IMGT/HLA release, not interpretation of a case. Use on any AI-generated or transcribed content mentioning HLA. Send the HLA content only, with patient identifiers removed first.

Input Schema

NameRequiredDescriptionDefault
textYesHLA typing report text, or model output about HLA typing, to scan for allele names. Send the HLA content only: strip patient names, medical record numbers, dates of birth, accession and case identifiers, and any other patient details before sending. The caller is responsible for de-identifying the text; this service neither needs nor wants identifiers and does not store request bodies.

Output Schema

NameRequiredDescriptionDefault
cleanYesThe guardrail: true only when no token is hallucinated, fabricated_group or deleted. Gate on this before presenting the text. NMDP multiple allele codes (counts.mac_code) and KIR allele names (counts.out_of_scope) are not checked — treat them as unverified.
countsYesNumber of distinct tokens per status.
tokensYesEach distinct allele-shaped token found, sorted by token.
releaseYesIPD-IMGT/HLA release every verdict was computed against.
attributionNoData attribution (IPD-IMGT/HLA, CC-BY-ND).

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed1 schema field changed
    • addedOutput schema / properties / tokens / items / properties / resolution
      Added value: +{
      +  "description": "Present on a name with fewer than four fields: what this resolution level does and does not distinguish.",
      +  "properties": {
      +    "distinguishes": {
      +      "description": "What finer typing at the next field would add.",
      +      "type": "string"
      +    },
      +    "fields": {
      +      "description": "Number of colon-separated fields in the name.",
      +      "enum": [
      +        1,
      +        2,
      +        3
      +      ],
      +      "type": "integer"
      +    },
      +    "level": {
      +      "description": "1 field: allele_group; 2: protein; 3: coding_sequence.",
      +      "enum": [
      +        "allele_group",
      +        "protein",
      +        "coding_sequence"
      +      ],
      +      "type": "string"
      +    }
      +  },
      +  "required": [
      +    "fields",
      +    "level",
      +    "distinguishes"
      +  ],
      +  "type": "object"
      +}
  2. Changed1 schema field changed
    • changedOutput schema / properties / tokens / items / properties / status / description
      Previous value: -"valid: assigned (or a valid prefix; A*02:XX and two-field A*02:01g are checked by the name they abbreviate); group: a real G/P group; deleted: no longer current (see successor); fabricated_group: G/P-shaped but no such group; hallucinated: never existed in any release; mac_code: an NMDP multiple allele code, reporting shorthand this service does not expand; out_of_scope: a KIR allele name (IPD-KIR), outside IPD-IMGT/HLA and not checked."New value: +"valid: assigned (or a valid prefix; A*02:XX and two-field A*02:01g are checked by the name they abbreviate, and a legacy spelling such as A*0201, Cw*0702 or Cw*07:02 by the current name it stands for, with flag deprecated_name); group: a real G/P group; deleted: no longer current (see successor); fabricated_group: G/P-shaped but no such group; hallucinated: never existed in any release; mac_code: an NMDP multiple allele code, reporting shorthand this service does not expand; out_of_scope: a KIR allele name (IPD-KIR), outside IPD-IMGT/HLA and not checked."
  3. Changed5 schema fields changed
    • changedOutput schema / properties / clean / description
      Previous value: -"The guardrail: true only when no token is hallucinated, fabricated_group or deleted. Gate on this before presenting the text. NMDP multiple allele codes (counts.mac_code) are not checked — treat them as unverified."New value: +"The guardrail: true only when no token is hallucinated, fabricated_group or deleted. Gate on this before presenting the text. NMDP multiple allele codes (counts.mac_code) and KIR allele names (counts.out_of_scope) are not checked — treat them as unverified."
    • addedOutput schema / properties / counts / properties / out_of_scope
      Added value: +{
      +  "description": "KIR allele names (KIR3DL1*001) seen; a gene family outside IPD-IMGT/HLA, not checked.",
      +  "type": "integer"
      +}
    • changedOutput schema / properties / counts / required
      Previous value: -[
      -  "valid",
      -  "deleted",
      -  "group",
      -  "fabricated_group",
      -  "hallucinated",
      -  "mac_code"
      -]New value: +[
      +  "valid",
      +  "deleted",
      +  "group",
      +  "fabricated_group",
      +  "hallucinated",
      +  "mac_code",
      +  "out_of_scope"
      +]
    • changedOutput schema / properties / tokens / items / properties / status / description
      Previous value: -"valid: assigned (or a valid prefix; A*02:XX and two-field A*02:01g are checked by the name they abbreviate); group: a real G/P group; deleted: no longer current (see successor); fabricated_group: G/P-shaped but no such group; hallucinated: never existed in any release; mac_code: an NMDP multiple allele code, reporting shorthand this service does not expand."New value: +"valid: assigned (or a valid prefix; A*02:XX and two-field A*02:01g are checked by the name they abbreviate); group: a real G/P group; deleted: no longer current (see successor); fabricated_group: G/P-shaped but no such group; hallucinated: never existed in any release; mac_code: an NMDP multiple allele code, reporting shorthand this service does not expand; out_of_scope: a KIR allele name (IPD-KIR), outside IPD-IMGT/HLA and not checked."
    • changedOutput schema / properties / tokens / items / properties / status / enum
      Previous value: -[
      -  "valid",
      -  "group",
      -  "deleted",
      -  "fabricated_group",
      -  "hallucinated",
      -  "mac_code"
      -]New value: +[
      +  "valid",
      +  "group",
      +  "deleted",
      +  "fabricated_group",
      +  "hallucinated",
      +  "mac_code",
      +  "out_of_scope"
      +]
  4. Changed5 schema fields changed
    • changedOutput schema / properties / clean / description
      Previous value: -"The guardrail: true only when no token is hallucinated, fabricated_group or deleted. Gate on this before presenting the text."New value: +"The guardrail: true only when no token is hallucinated, fabricated_group or deleted. Gate on this before presenting the text. NMDP multiple allele codes (counts.mac_code) are not checked — treat them as unverified."
    • addedOutput schema / properties / counts / properties / mac_code
      Added value: +{
      +  "description": "NMDP multiple allele codes (A*02:AB) seen but not expanded.",
      +  "type": "integer"
      +}
    • changedOutput schema / properties / counts / required
      Previous value: -[
      -  "valid",
      -  "deleted",
      -  "group",
      -  "fabricated_group",
      -  "hallucinated"
      -]New value: +[
      +  "valid",
      +  "deleted",
      +  "group",
      +  "fabricated_group",
      +  "hallucinated",
      +  "mac_code"
      +]
    • changedOutput schema / properties / tokens / items / properties / status / description
      Previous value: -"valid: assigned (or a valid prefix); group: a real G/P group; deleted: no longer current (see successor); fabricated_group: G/P-shaped but no such group; hallucinated: never existed in any release."New value: +"valid: assigned (or a valid prefix; A*02:XX and two-field A*02:01g are checked by the name they abbreviate); group: a real G/P group; deleted: no longer current (see successor); fabricated_group: G/P-shaped but no such group; hallucinated: never existed in any release; mac_code: an NMDP multiple allele code, reporting shorthand this service does not expand."
    • changedOutput schema / properties / tokens / items / properties / status / enum
      Previous value: -[
      -  "valid",
      -  "group",
      -  "deleted",
      -  "fabricated_group",
      -  "hallucinated"
      -]New value: +[
      +  "valid",
      +  "group",
      +  "deleted",
      +  "fabricated_group",
      +  "hallucinated",
      +  "mac_code"
      +]
  5. Changed1 schema field changed
    • changedInput schema / properties / text / description
      Previous value: -"Free text to scan."New value: +"HLA typing report text, or model output about HLA typing, to scan for allele names. Send the HLA content only: strip patient names, medical record numbers, dates of birth, accession and case identifiers, and any other patient details before sending. The caller is responsible for de-identifying the text; this service neither needs nor wants identifiers and does not store request bodies."
  6. First observed

TDQS

A4/5.0
Behavior4/5

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

Annotations already cover read-only, idempotent, closed-world safety, but the description adds real context: checking is pinned to a specific IPD-IMGT/HLA release, MAC codes are 'seen, not expanded,' KIR is out of scope and unchecked, deleted tokens carry a successor, and request bodies are not stored. These are behavioral facts an agent could not derive from the annotations or schema.

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?

The action is front-loaded, but the body is a single dense run-on held together by slashes, semicolons, and nested parentheticals, which makes the classification list hard to parse at a glance. The content is largely necessary, but structure and brevity suffer.

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, return values need not be described, and the description covers scope, classification categories, versioning, de-identification, and out-of-scope handling. Only minor gaps remain, such as what happens on malformed or oversized input, so it is nearly complete for this tool's complexity.

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?

Single parameter with 100% schema description coverage, so the baseline is 3. The description's 'send the HLA content only, with patient identifiers removed first' largely restates the schema's own de-identification instruction rather than adding new semantics such as format or size expectations.

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 (scan/classify) and resource (allele-shaped tokens in HLA report or model text), and enumerates the exact output classes (valid, legacy, G-P group, deleted, fabricated, MAC code, KIR). It also draws the boundary against interpretation tools with 'Nomenclature checking against a pinned IPD-IMGT/HLA release, not interpretation of a case,' separating it from siblings like check_typing and donor_compat.

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?

Gives a clear when-to-use ('Use on any AI-generated or transcribed content mentioning HLA') and a when-not ('not interpretation of a case'), plus a prerequisite (de-identify first). It does not name specific sibling tools as alternatives, so it stops short of a full 5.

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.