Skip to main content
Glama

Server Details

HLA nomenclature and match checks against a pinned IPD-IMGT/HLA release. No patient identifiers.

If you are the author of this connector, you can claim ownership with GitHub, an HTTP challenge, or a DNS record. Claimed connector authors can inspect health checks, view analytics, and manage their listing.
Status
Healthy
Last Tested
Transport
Streamable HTTP
URL
Repository
jasonbrelsford/verifiable-science-envs
GitHub Stars
0

TDQS

A4.2/5.0

Scored across 9 tools

Disambiguation4/5

Each tool targets a distinct input mode or workflow, but there is some conceptual overlap between allele_info and normalize_allele, and between check_typing, validate_gl_string, and verify_text. The descriptions clarify the differences enough to prevent serious misselection.

Naming Consistency4/5

Names are uniformly snake_case and mostly follow a verb_noun pattern like check_typing, normalize_allele, and validate_gl_string. Minor deviations such as about and allele_info break the pattern slightly, but the overall convention remains predictable.

Tool Count5/5

Nine tools is well-scoped for a domain that spans nomenclature lookup, normalization, text verification, GL string validation, typing QC, compatibility, and matching. No tool feels redundant or unnecessary.

Completeness5/5

The set covers the full verification lifecycle: single allele lookup, normalization, free-text scanning, structured GL validation, full typing QC, and published compatibility/match frameworks. There are no obvious dead ends or missing operations for the stated purpose.

Available Tools

9 tools
aboutB
Read-onlyIdempotent
Inspect

What this server is and is not, what to send it, benchmark evidence for why to use it, the beta state, and terms.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription
apiNo
whyNo
betaNo
codeNo
demoNo
nameYes
scopeNo
agentsNo
inputsNo
limitsNo
releaseYesIPD-IMGT/HLA release every verdict was computed against.
beta_keyNo
commercialNo
disclaimerNo
beta_signupNo

TDQS

B3.4/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true and idempotentHint=true, covering the safety profile. The description adds no behavioral details beyond what annotations provide, such as whether the response is static or if there are any side effects. It mentions 'benchmark evidence' and 'beta state,' which are content specifics, not behavioral traits. Since annotations are strong, a 3 is appropriate for the limited added context.

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 a single sentence that front-loads the primary purpose ('What this server is and is not') before enumerating additional content. It is concise and avoids unnecessary words, though it could be more structured as a bulleted list. The sentence covers multiple aspects without being verbose.

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 parameterless, read-only, idempotent tool with an output schema (as signaled), the description is sufficient for an agent to know what to expect. It covers the tool's scope, input expectations, and state. The output schema likely details the response structure, so no further return-value explanation is needed here.

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?

The tool has zero parameters, and the schema coverage is 100% (empty schema). The description's mention of 'what to send it' is part of the tool's content, not an indication that this tool takes input. With no parameters to explain, the baseline of 4 is justified; the description adds no parameter information because none is needed.

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

Purpose4/5

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

The description lists the content areas the tool covers (server identity, input expectations, benchmarks, beta state, terms), which makes the purpose reasonably clear. It distinguishes itself from sibling operation tools like match_score or allele_info by being the meta-informational entry point, though it doesn't use a direct 'returns information about the server' phrasing.

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

Usage Guidelines2/5

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

The description does not explicitly state when to invoke this tool versus alternatives. It implies it is a reference for understanding the server, but there is no guidance like 'use this first to understand capabilities before making other calls' or 'not for data operations.' The agent is left to infer its role from the content list.

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

allele_infoA
Read-onlyIdempotent
Inspect

Look up one exact name in the pinned release and return what it is: assigned (G/P group, first release, confirmed status, WMDA serology, null flag), valid_prefix (member count and sample), or deleted (successor). Not found if the name has never existed in any release.

ParametersJSON Schema
NameRequiredDescriptionDefault
nameYesExact HLA allele name, a lower-resolution prefix, or a deleted name. An allele string only, never a patient name, medical record number or other identifier.

Output Schema

ParametersJSON Schema
NameRequiredDescription
nameNo
detailNoPresent only when the name is not assigned in this release (and then no other field is).
statusNoassigned: an exact allele in this release; valid_prefix: a lower-resolution prefix of assigned alleles; deleted: withdrawn or renamed (see successor).
g_groupNoassigned: G group, or null.
ligandsNoClass I (A/B/C) ligand facts, aggregated over member alleles: 'ambiguous' when members disagree, 'unknown' when no residue data.
p_groupNoassigned: P group, or null.
releaseNoIPD-IMGT/HLA release every verdict was computed against.
serologyNoassigned: WMDA serologic equivalents by column (non-empty columns only).
confirmedNoassigned: confirmed (vs unconfirmed) allele.
successorNodeleted: the current name, or null if none.
attributionNoData attribution (IPD-IMGT/HLA, CC-BY-ND).
null_alleleNoassigned: true for an N (null, not expressed) allele.
first_releaseNoassigned: first release the exact name appeared in.
members_countNovalid_prefix: number of assigned alleles under the prefix.
members_sampleNovalid_prefix: up to 10 member alleles.

TDQS

A4.4/5.0
Behavior5/5

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

Beyond the readOnlyHint and idempotentHint annotations, the description discloses the pinned-release scoping, the three result categories, and the closed-world 'not found' behavior. This gives the agent a strong model of what the call will return and what conditions change the result.

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

Conciseness5/5

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

One dense sentence front-loads the action, then uses a compact colon-separated enumeration of outcomes. There is no filler, and no structured schema content is unnecessarily repeated.

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 single-parameter read-only lookup with an output schema, the description is nearly complete: it covers all result classes and the not-found condition. The only undefined term, 'pinned release,' is a minor domain concept that the about sibling or system context likely resolves.

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%, and the schema already documents accepted input types and the 'never a patient name' restriction. The tool description adds little beyond 'one exact name,' so it stays at the high-coverage baseline without improving on the schema's parameter guidance.

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?

The description opens with a specific verb and resource: 'Look up one exact name in the pinned release and return what it is.' It then enumerates the three possible outcomes (assigned, valid_prefix, deleted), which makes the tool's scope unmistakable and clearly separates it from normalization/validation siblings like normalize_allele and validate_gl_string.

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?

The description clearly frames when to use the tool: when an agent has a single exact HLA allele name to look up in the pinned release. The 'one exact name' phrasing signals this is not for fuzzy matching or GL-string processing, though it does not explicitly name sibling alternatives or state when not to use it.

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

beta_signupA
Idempotent
Inspect

Put a user on the free public beta's notification list for paid API keys. Ask before calling: it records the address they give you. Re-signing the same address is safe (status already_recorded). Someone who needs a higher rate limit today should email hello@hlaverify.com for a beta key instead of waiting.

ParametersJSON Schema
NameRequiredDescriptionDefault
orgNoLab, company or institution (optional).
emailYesThe user's email address.
sourceNoWhere the signup came from, e.g. mcp (optional).
use_caseNoWhat they would use the API for (optional). No patient details.

Output Schema

ParametersJSON Schema
NameRequiredDescription
okYesAlways true; a rejected signup comes back as an error result.
statusYesalready_recorded: the address was already on the list. Both are success — do not retry.
messageYesWhat to tell the user, including how to get a beta key today.
releaseYesIPD-IMGT/HLA release every verdict was computed against.

TDQS

A4.2/5.0
Behavior4/5

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

Annotations already mark idempotentHint=true, and the description adds useful behavioral detail by confirming re-signing the same address is safe and yields status already_recorded. It also discloses the privacy-relevant behavior that the tool records the address the user provides, which goes beyond the annotation fields.

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

Conciseness5/5

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

Three short sentences, each earning its place: purpose, consent/privacy warning, idempotency reassurance, and an alternative path for urgent cases. No filler or redundant restatement of schema content.

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 simple signup tool with a full schema, output schema, and idempotency annotation, the description covers purpose, consent, idempotent behavior, and the main exclusion. Optional parameters need no extra prose because the schema already describes them.

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 baseline of 3 applies. The description adds minimal parameter-specific meaning beyond associating 'email' with 'the address they give you'; the schema already documents all four parameters adequately.

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?

The description states a specific verb and resource: putting a user on the free public beta's notification list for paid API keys. This clearly distinguishes the tool from all listed siblings, which are about allele/HLA matching and verification rather than signups.

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?

The description gives clear when-to-use context ('Put a user on the free public beta's notification list') and an explicit when-not-to-use instruction (higher rate limit today -> email hello@hlaverify.com instead). It also adds a mandatory precondition: ask before calling because the address is recorded.

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

check_typingA
Read-onlyIdempotent
Inspect

QC-check one HLA typing (all loci) against the pinned release: resolves every reported allele, flags unresolvable/outdated/locus-mismatched/null alleles, flags too-many/single/homozygous per locus, computes the B-leader (-21 M/T) and KIR-ligand (C1/C2/Bw4) profile, and DRB3/4/5 expected-vs-reported. Nomenclature and internal-consistency checking of the report, not clinical interpretation. typing: {"A": ["A01:01", "A02:01"], "B": [...], "DRB1": [...], ...} (any nomenclature era; allele strings only, no patient identifiers).

ParametersJSON Schema
NameRequiredDescriptionDefault
typingYeslocus -> up to 4 reported allele names. Allele strings only: never patient names, medical record numbers, dates of birth, or accession or case identifiers.

Output Schema

ParametersJSON Schema
NameRequiredDescription
lociYesReported locus key -> one row per reported allele, in input order.
validYestrue when there are no error-severity issues. Gate on this before using the typing.
countsYes
drb345YesDRB3/4/5 expected from DRB1 vs reported; null when DRB1 is not typed.
issuesYes
profileYes
releaseYesIPD-IMGT/HLA release every verdict was computed against.
attributionNoData attribution (IPD-IMGT/HLA, CC-BY-ND).

TDQS

A4.3/5.0
Behavior4/5

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

Annotations already declare readOnlyHint=true, idempotentHint=true, and openWorldHint=false, so the description is free to add context. It does: it explains the tool resolves alleles, flags issues, computes profiles, and accepts any nomenclature era. It also emphasizes no patient identifiers. This adds substantial behavioral guidance beyond the annotations, without contradiction.

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 long but information-dense, with every sentence contributing. It is front-loaded with the primary purpose and checks, then provides input format and constraints. The structure is logical and avoids fluff, though it could be tightened slightly without losing meaning.

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 a single well-documented parameter, an existing output schema, and rich annotations, the description covers the tool's purpose, checks, input format, and limitations. It lacks an explicit note about whether all loci are required or how errors are reported, but these are minor given the output schema and the clear purpose. It is nearly complete for an agent to call it 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?

The schema description coverage is 100% and already describes the parameter (typing object with allele strings only, no identifiers). The tool description adds value by specifying 'up to 4 reported allele names', 'any nomenclature era', and that it is a full typing across loci. These details are not present in the schema, enhancing semantic understanding.

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?

The description states a very specific verb ('QC-check') and resource ('one HLA typing (all loci) against the pinned release'), then enumerates the exact checks (resolves alleles, flags unresolvable/outdated/locus-mismatched/null, flags too-many/single/homozygous, computes B-leader and KIR-ligand profiles, DRB3/4/5 expected-vs-reported). This clearly distinguishes it from siblings like validate_gl_string or normalize_allele, and even clarifies it is not clinical interpretation.

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?

The description implies usage context (QC of a complete typing, not a single allele) and states what it is NOT (clinical interpretation). However, it does not explicitly name alternative tools or conditions for selecting this over siblings, leaving the 'when-to-use' slightly implicit rather than directly contrasted.

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

donor_compatA
Read-onlyIdempotent
Inspect

Donor/recipient immunogenetic compatibility under two published rule sets: HLA-B leader match (-21 M/T, Petersdorf 2020) for a single HLA-B mismatch, and KIR ligand (C1/C2/Bw4) class comparison, computed over each side's full typing QC. Rule checking against published frameworks; it does not rank or recommend a donor. recipient/donor: {"A": [...], "B": [...], "C": [...], "DRB1": [...], ...} (allele strings only, no patient identifiers). Decision support only; not a medical device.

ParametersJSON Schema
NameRequiredDescriptionDefault
donorYeslocus -> up to 4 reported allele names. Allele strings only: never patient names, medical record numbers, dates of birth, or accession or case identifiers.
recipientYeslocus -> up to 4 reported allele names. Allele strings only: never patient names, medical record numbers, dates of birth, or accession or case identifiers.

Output Schema

ParametersJSON Schema
NameRequiredDescription
issuesYes
releaseYesIPD-IMGT/HLA release every verdict was computed against.
b_leaderYes
attributionNoData attribution (IPD-IMGT/HLA, CC-BY-ND).
donor_validYesDonor typing QC had no errors.
kir_ligandsYes
recipient_validYesRecipient typing QC had no errors.

TDQS

A4.1/5.0
Behavior4/5

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

Annotations already declare readOnlyHint=true and idempotentHint=true, so the safety profile is covered. The description adds meaningful behavioral context: it applies two specific published rule sets, computes over each side's full typing QC, and explicitly states it is decision support only and not a medical device. This goes beyond the annotations and clarifies the tool's limitations.

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 compact and front-loaded with the core purpose, then details the rule sets, then the input format, then the safety disclaimer. Every sentence earns its place, though the input format sentence is slightly redundant with the schema's parameter descriptions. Still, it's efficient and well-ordered.

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?

The tool has an output schema, so return values need not be explained. The description covers the rule sets, input constraints, and safety limitations. It doesn't mention edge cases like what happens with missing loci or multiple mismatches, but for a read-only decision-support tool with a rich schema and output schema, the description is largely complete.

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 both parameters thoroughly, including the 'allele strings only' privacy constraint. The description reinforces the privacy constraint and the structure (locus -> allele arrays), but doesn't add new parameter-level meaning beyond what the schema provides. Baseline 3 is correct.

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?

The description names a specific verb ('compatibility under two published rule sets'), a precise resource (HLA-B leader match and KIR ligand class comparison), and explicitly distinguishes itself from ranking/recommendation tools. It also names the sibling it is not ('does not rank or recommend a donor'), which separates it from match_score.

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?

The description states what it computes and explicitly says it does not rank or recommend, which implies when not to use it. It does not explicitly name alternatives like match_score or check_typing, but the 'does not rank or recommend' exclusion gives clear usage boundaries. A 4 is appropriate because the context is clear but no explicit alternative tool is named.

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

match_scoreA
Read-onlyIdempotent
Inspect

Count a donor-recipient HLA match by the published counting rules (R1-R6): allele arithmetic over chromosomes, not a donor recommendation. recipient/donor: {"A": ["A01:01","A02:01"], "B": [...], ...} (two reported alleles per locus, any nomenclature era; allele strings only, no patient identifiers). framework: 6/6, 8/8, 10/10, 12/12, or antigen. Returns count, per-locus verdicts, GvH/HvG mismatch counts, and flags; unresolvable typing yields 'potential', never a confident count.

ParametersJSON Schema
NameRequiredDescriptionDefault
donorYeslocus -> up to 4 reported allele names. Allele strings only: never patient names, medical record numbers, dates of birth, or accession or case identifiers.
frameworkNo8/8
recipientYeslocus -> up to 4 reported allele names. Allele strings only: never patient names, medical record numbers, dates of birth, or accession or case identifiers.

Output Schema

ParametersJSON Schema
NameRequiredDescription
countYes'matched/total' over the resolvable loci only, or UNRESOLVABLE when none resolves. Check verdicts for 'potential' loci before quoting it as a confident count.
flagsYese.g. resolution_insufficient, null_allele, null_allele_mismatch.
releaseYesIPD-IMGT/HLA release every verdict was computed against.
verdictsYesFramework locus -> verdict.
frameworkYes
attributionNoData attribution (IPD-IMGT/HLA, CC-BY-ND).
gvh_mismatchesYesGraft-versus-host mismatches over non-potential loci.
hvg_mismatchesYesHost-versus-graft mismatches over non-potential loci.

TDQS

A4.6/5.0
Behavior5/5

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

Annotations already declare readOnlyHint=true and idempotentHint=true, covering safety and determinism. The description goes beyond by disclosing output contents (count, per-locus verdicts, GvH/HvG mismatch counts, flags) and a critical edge-case behavior: unresolvable typing yields 'potential', never a confident count. This adds real behavioral context not present in annotations.

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

Conciseness5/5

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

The description is a single dense paragraph that front-loads the core action and method, then packs in input format, framework, output summary, and an edge case. Every sentence adds value; no fluff or redundancy. It is well-structured for quick parsing.

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 moderate complexity (nested objects, 3 params) and the presence of an output schema, the description covers input format, framework choices, output summary, and the key edge case of unresolvable typing. The only minor gap is the inconsistency between 'two reported alleles per locus' in the description and 'up to 4' in the schema, which could cause slight confusion but does not undermine overall completeness.

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 coverage is 67% (recipient and donor described, framework only enum). The description adds meaningful semantics: it gives a concrete example format, states 'two reported alleles per locus' and 'any nomenclature era', and reinforces the privacy constraint (allele strings only). This goes beyond the schema's brief descriptions, though the framework parameter is still only enumerated.

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?

The description states a specific action ('Count a donor-recipient HLA match'), a precise method ('published counting rules R1-R6'), and explicitly differentiates from a sibling ('not a donor recommendation'). It also clarifies the computation domain ('allele arithmetic over chromosomes'), leaving no ambiguity about what the tool does.

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?

The description implies usage by specifying the input format and framework, and it excludes one alternative use case ('not a donor recommendation'), which hints at when not to use it. However, it does not explicitly name alternatives like check_typing or donor_compat or state conditions for choosing them. Still, the context is clear enough for an agent to infer basic selection.

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

normalize_alleleA
Read-onlyIdempotent
Inspect

Normalize one reported HLA allele name (any era) to current 2-field form, with G group, P group, serologic equivalent, and flags.

ParametersJSON Schema
NameRequiredDescriptionDefault
nameYesOne reported HLA allele name, any nomenclature era. An allele string only, never a patient name, medical record number or other identifier.

Output Schema

ParametersJSON Schema
NameRequiredDescription
flagsYese.g. deprecated_name, nonexistent_allele, null_allele.
g_groupYesG group; NONE (no group), AMBIGUOUS (members differ) or UNRESOLVABLE.
reportedYesThe input, verbatim.
current_nameYesCurrent full name in the pinned release, or UNRESOLVABLE.
allele_2fieldYesCurrent 2-field form, or UNRESOLVABLE. Never present an UNRESOLVABLE name as an allele.

TDQS

A4.3/5.0
Behavior4/5

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

The description states the transformation behavior (normalize to current 2-field form) and the enriched result contents (G group, P group, serologic equivalent, flags). The readOnlyHint and idempotentHint annotations already cover safety, and nothing in the description contradicts them; however, error-case behavior is left unspecified.

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

Conciseness5/5

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

A single front-loaded sentence that states the action, scope, and output in about 22 words. Every clause contributes and there is no filler.

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

Completeness5/5

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

For a one-parameter read-only tool with a complete schema, output schema, and safety annotations, the description provides everything needed to select and call it correctly. Input constraints and output expectations are both covered.

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%, and the schema already documents 'name' as a single HLA allele string in any nomenclature era with an explicit non-identifier exclusion. The description echoes that context but adds no parameter syntax or format details beyond 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?

The description names a specific verb ('Normalize'), a precise resource ('one reported HLA allele name'), and the target state ('current 2-field form, with G group, P group, serologic equivalent, and flags'). It is immediately distinct from siblings like validate_gl_string or allele_info.

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?

It gives clear selection context: this is for a single reported allele name in any nomenclature era that needs conversion, and it explicitly excludes identifiers like patient names/MRNs. It does not name alternative sibling tools, so it stops short of full when-to-use vs alternatives guidance.

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

validate_gl_stringA
Read-onlyIdempotent
Inspect

Validate and normalize a GL String (Genotype List, ^ | + ~ / grammar): resolves every allele token, flags outdated/unresolvable names and structural problems (mixed loci within a slash-list, a repeated locus within a haplotype or across ^ blocks, more than two haplotypes, differing loci across a genotype or genotype list, empty elements), and returns the normalized string. Grammar and nomenclature checking only; send allele names, not patient identifiers.

ParametersJSON Schema
NameRequiredDescriptionDefault
glYesGL String to validate and normalize. Allele names and GL grammar only, never patient identifiers.

Output Schema

ParametersJSON Schema
NameRequiredDescription
lociYes
validYestrue when there are no error-severity issues.
countsYes
issuesYes
allelesYesEach distinct allele token, in first-seen order.
changedYesnormalized_gl differs from the trimmed input.
releaseYesIPD-IMGT/HLA release every verdict was computed against.
attributionNoData attribution (IPD-IMGT/HLA, CC-BY-ND).
normalized_glYesThe GL String with outdated names replaced by current ones.

TDQS

A4.3/5.0
Behavior4/5

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

Annotations already establish readOnly and idempotent safety. The description adds behavioral specifics: it flags outdated/unresolvable names and structural issues, normalizes the string, and reiterates it only checks grammar/nomenclature, not patient data. No contradiction with 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?

The description is dense but front-loaded with the purpose. The enumeration of specific structural problems is valuable but somewhat lengthy; still, every sentence contributes necessary detail. No filler.

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 comprehensive parameter documentation, the description covers all essential behavior: what is validated, what is returned, and the constraint on input. Slightly more detail on error handling could be added, but the tool is well-specified overall.

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% with a clear description of the 'gl' parameter. The underlying tool description further enriches meaning by explaining the GL grammar and the validation behavior, surpassing what the schema alone provides.

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?

The description states a specific verb ('Validate and normalize'), a precise resource ('GL String'), and explains the grammar ('Genotype List, ^ | + ~ / grammar'). It enumerates exactly what is checked (unresolvable names, structural problems) and distinguishes itself from siblings like 'normalize_allele' by focusing on list-level validation.

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?

The description provides clear context: it is for grammar and nomenclature checking only, and explicitly tells the agent to send allele names, not patient identifiers. However, it does not name alternative tools or state when NOT to use this tool, leaving some ambiguity relative to siblings like 'verify_text'.

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

verify_textA
Read-onlyIdempotent
Inspect

Scan HLA typing report text, or model output about HLA, for allele-shaped tokens and classify each one: valid / legacy (with modern form) / deleted (with successor) / fabricated. 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.

ParametersJSON 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

ParametersJSON Schema
NameRequiredDescription
cleanYesThe guardrail: true only when no token is hallucinated, fabricated_group or deleted. Gate on this before presenting the text.
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).

TDQS

A4.4/5.0
Behavior4/5

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

Annotations already declare readOnlyHint=true and idempotentHint=true. The description adds valuable behavioral context: it pins the IPD-IMGT/HLA release, notes it does not store request bodies, and emphasizes the caller's responsibility for de-identification. No contradiction with 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?

The description is compact but informative. It front-loads the action and classification categories, then provides usage context and a privacy note. No wasted sentences, though the de-identification instruction could be slightly more concise. Overall well-structured.

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

Completeness5/5

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

Given an output schema exists, return values are covered. The description covers the tool's purpose, classification scheme, use case, constraints (pinned release), and privacy expectations. Nothing essential is missing for an agent to call it 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?

The schema already describes the text parameter thoroughly, and schema coverage is 100%. The description reinforces the parameter's purpose and adds the crucial de-identification instruction, which is not in the schema but is essential for correct usage. This goes beyond the baseline.

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), resource (HLA typing report text or model output), and the exact classification output (valid/legacy/deleted/fabricated). It explicitly distinguishes itself from interpretation of a case, which differentiates it from sibling tools like check_typing and validate_gl_string.

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?

Provides a clear usage context: 'Use on any AI-generated or transcribed content mentioning HLA.' It also gives an exclusion by noting it's 'not interpretation of a case,' which implies it's not for clinical decisions. It doesn't explicitly name alternatives, but the context is sufficient for an agent to select it appropriately.

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

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

  1. 1 tool update
    • Changedabout1 field changed
      • addedOutput schema / properties / limits
        Added value: +{
        +  "type": "string"
        +}
  2. 9 tool updates
    • Changedabout2 fields changed
      • addedOutput schema / properties / inputs
        Added value: +{
        +  "type": "string"
        +}
      • addedOutput schema / properties / scope
        Added value: +{
        +  "type": "string"
        +}
    • Changedallele_info1 field changed
      • changedInput schema / properties / name / description
        Previous value: -"Exact allele, prefix, or deleted name."New value: +"Exact HLA allele name, a lower-resolution prefix, or a deleted name. An allele string only, never a patient name, medical record number or other identifier."
    • Changedbeta_signup1 field changed
      • changedInput schema / properties / use_case / description
        Previous value: -"What they would use the API for (optional)."New value: +"What they would use the API for (optional). No patient details."
    • Changedcheck_typing1 field changed
      • changedInput schema / properties / typing / description
        Previous value: -"locus -> up to 4 reported alleles"New value: +"locus -> up to 4 reported allele names. Allele strings only: never patient names, medical record numbers, dates of birth, or accession or case identifiers."
    • Changeddonor_compat2 fields changed
      • changedInput schema / properties / donor / description
        Previous value: -"locus -> up to 4 reported alleles"New value: +"locus -> up to 4 reported allele names. Allele strings only: never patient names, medical record numbers, dates of birth, or accession or case identifiers."
      • changedInput schema / properties / recipient / description
        Previous value: -"locus -> up to 4 reported alleles"New value: +"locus -> up to 4 reported allele names. Allele strings only: never patient names, medical record numbers, dates of birth, or accession or case identifiers."
    • Changedmatch_score2 fields changed
      • changedInput schema / properties / donor / description
        Previous value: -"locus -> up to 4 reported alleles"New value: +"locus -> up to 4 reported allele names. Allele strings only: never patient names, medical record numbers, dates of birth, or accession or case identifiers."
      • changedInput schema / properties / recipient / description
        Previous value: -"locus -> up to 4 reported alleles"New value: +"locus -> up to 4 reported allele names. Allele strings only: never patient names, medical record numbers, dates of birth, or accession or case identifiers."
    • Changednormalize_allele1 field changed
      • changedInput schema / properties / name / description
        Previous value: -"Reported allele name, any nomenclature era."New value: +"One reported HLA allele name, any nomenclature era. An allele string only, never a patient name, medical record number or other identifier."
    • Changedvalidate_gl_string1 field changed
      • changedInput schema / properties / gl / description
        Previous value: -"GL String to validate and normalize."New value: +"GL String to validate and normalize. Allele names and GL grammar only, never patient identifiers."
    • Changedverify_text1 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."
  3. 2 tool updates
    • Changedabout3 fields changed
      • addedOutput schema / properties / beta
        Added value: +{
        +  "type": "string"
        +}
      • addedOutput schema / properties / beta_key
        Added value: +{
        +  "type": "string"
        +}
      • addedOutput schema / properties / beta_signup
        Added value: +{
        +  "type": "string"
        +}
    • Addedbeta_signup
  4. 8 tool updates
    • First observedabout
    • First observedallele_info
    • First observedcheck_typing
    • First observeddonor_compat
    • First observedmatch_score
    • First observednormalize_allele
    • First observedvalidate_gl_string
    • First observedverify_text

Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    D
    maintenance
    Enables real-time pharmacogenomics analysis, including variant clinical significance, drug-gene interactions, and dosing guidelines, by connecting to ClinVar, PharmGKB, gnomAD, and other databases.
    1
    MIT
  • A
    license
    A
    quality
    A
    maintenance
    Grounds gene-nomenclature work in the HUGO Gene Nomenclature Committee (HGNC) dataset, enabling resolution of gene symbols and IDs to canonical HGNC identifiers, plus cross-references and batch operations.
    9
    MIT
  • F
    license
    Not graded
    quality
    C
    maintenance
    Enables resolving genetic variant identifiers (HGVS, dbSNP, ClinVar, gnomAD) to stable ClinGen Allele Registry IDs (CA#) and cross-references, providing a canonical allele identity across genome builds.
    -
Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.