{"$schema":"https://wellknown.network/schemas/agent-record-v1.json","schemaVersion":"1","id":"ag_9kv9ujry4vkp","handle":"hla-verify","url":"https://wellknown.network/agents/hla-verify","links":{"self":"https://wellknown.network/agents/hla-verify/record.json","html":"https://wellknown.network/agents/hla-verify","markdown":"https://wellknown.network/agents/hla-verify/record.md","api":"https://wellknown.network/api/v1/agents/hla-verify","status":"https://wellknown.network/api/v1/agents/hla-verify/status","claim":"https://wellknown.network/agents/hla-verify/claim","claimApi":"https://wellknown.network/api/v1/claims","claimDescriptor":"https://wellknown.network/agents/hla-verify/claim.json","badge":"https://wellknown.network/agents/hla-verify/badge.svg","openapi":"https://wellknown.network/openapi.json","history":"https://wellknown.network/api/v1/agents/hla-verify/history","tools":"https://wellknown.network/api/v1/agents/hla-verify/tools"},"ard":{"identifier":"urn:air:api.hlaverify.com:server:hla-verify","type":"application/mcp-server-card+json"},"kind":"mcp_server","declared":{"name":"HLA-Verify","summary":"Deterministic verification of HLA allele names, typing reports and donor-recipient match claims against a pinned IPD-IMGT/HLA release. Every verdict is a table lookup and a fixed rule set, not a model, and names the release it was computed against.","description":"Deterministic verification of HLA allele names, typing reports and donor-recipient match claims against a pinned IPD-IMGT/HLA release. Every verdict is a table lookup and a fixed rule set, not a model, and names the release it was computed against.","publisher":{"name":"hlaverify.com","url":"https://hlaverify.com"},"homepage":"https://hlaverify.com","repository":"https://github.com/jasonbrelsford/verifiable-science-envs","version":"1.0.1","license":null,"protocols":["mcp"],"tags":["hla","immunogenetics","mcp"],"pricing":null,"endpoints":[{"url":"https://api.hlaverify.com/mcp","type":"mcp_streamable_http","auth":null,"probeable":true}],"skills":null,"tools":["verify_text","normalize_allele","allele_info","match_score","check_typing","donor_compat","validate_gl_string","beta_signup","research_access","about"],"extra":{"ard":{"type":"application/mcp-server-card+json","metadata":null,"identifier":"urn:air:hlaverify.com:mcp:hla-verify","artifactUrl":"https://api.hlaverify.com/mcp/server-card","representativeQueries":["is hla-a*01:01:01:01 a valid allele name in the current ipd-imgt/hla release","what is the current name for the legacy typing drb1*1406","check this hla typing report for outdated or unresolvable allele names","how many mismatches are there between this donor and recipient at 8/8","did this answer invent an hla allele that does not exist"]},"updatedAt":"2026-09-16T14:55:19.592379Z","publishedAt":"2026-09-16T14:55:19.592379Z","registryName":"com.hlaverify/hla-verify"},"attribution":{"kind":"ard_catalog","name":"ard_catalog","repoUrl":"ard_catalog","summary":"ard_catalog","version":"mcp_registry","description":"ard_catalog","homepageUrl":"ard_catalog","publisherUrl":"ard_catalog","publisherName":"ard_catalog"}},"derived":{"capabilities":[{"slug":"analytics.reporting","name":"Reporting & Dashboards","confidence":0.885,"provenance":"derived"},{"slug":"communication.notifications","name":"Notifications","confidence":0.583,"provenance":"derived"},{"slug":"ai.evaluation","name":"Evaluation & Benchmarks","confidence":0.54,"provenance":"derived"},{"slug":"research.academic","name":"Academic Research","confidence":0.525,"provenance":"derived"},{"slug":"content.writing","name":"Writing & Editing","confidence":0.51,"provenance":"derived"}],"categories":["ai","analytics","communication","content","research"],"language":"en"},"observed":{"status":"live","statusReason":"Responded 3h ago.","lastOkAt":"2026-10-10T20:28:20.889Z","lastProbedAt":"2026-10-10T20:28:20.889Z","statusComputedAt":"2026-10-10T20:29:32.996Z","reliability30d":{"probes":84,"successRate":1,"p50Ms":23,"basis":"service","measures":{"availability":"availability","latency":"response time","tools":"tool surface observed","summary":"Checks reached the service itself."},"checks":{"total":84,"ok":84,"authBoundaryOk":0,"serviceOk":84,"note":"Counted from the observation rows for the window, checks of the server only (HTTP, A2A card, MCP initialize). ok = authBoundaryOk + serviceOk. `probes` is the sum of daily rollups and includes registry checks, so it can differ from `total`."}},"latestObservations":[{"at":"2026-10-10T20:28:20.889Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":118,"error":null,"detail":{"tools":[{"name":"verify_text","description":"Scan HLA typing report text, or model output about HLA, for allele-shaped tokens and classify each one: valid / legacy spelling such as A*0201 or Cw*0702 (valid"},{"name":"normalize_allele","description":"Normalize one reported HLA allele name (any era or reporting shorthand: legacy A*0101, Cw*0702 or Cw*07:02, G/P group names, A*02:XX, two-field A*02:01g, option"},{"name":"allele_info","description":"Look up one name in the pinned release and return what it is: assigned (G/P group, first release, confirmed status, WMDA serology, null flag), valid_prefix (mem"},{"name":"match_score","description":"Count a donor-recipient HLA match by the published counting rules (R1-R6): allele arithmetic over chromosomes, not a donor recommendation. recipient/donor: {\"A\""},{"name":"check_typing","description":"QC-check one HLA typing (all loci) against the pinned release: resolves every reported allele, flags unresolvable/outdated/locus-mismatched/null alleles, flags "},{"name":"donor_compat","description":"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 li"},{"name":"validate_gl_string","description":"Validate and normalize a GL String (Genotype List, ^ | + ~ / grammar): resolves every allele token, flags outdated/unresolvable names and structural problems (m"},{"name":"beta_signup","description":"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 "},{"name":"research_access","description":"Apply for free HLA-Verify access for an academic or nonprofit lab. Ask before calling: it records the address, institution and use case you give it. Approval is"},{"name":"about","description":"What this server is and is not, what to send it, benchmark evidence for why to use it, the beta state, and terms."}],"toolCount":10,"toolsHash":"b593d8e8834255c1606e16b5c40fc9013ac8de2a1f7f24082dc701517b75c2e5","serverName":"hla-verify","capabilities":["tools"],"serverVersion":"1.0.1","protocolVersion":"2025-06-18"}},{"at":"2026-10-10T14:25:50.794Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":15,"error":null,"detail":{"tools":[{"name":"verify_text","description":"Scan HLA typing report text, or model output about HLA, for allele-shaped tokens and classify each one: valid / legacy spelling such as A*0201 or Cw*0702 (valid"},{"name":"normalize_allele","description":"Normalize one reported HLA allele name (any era or reporting shorthand: legacy A*0101, Cw*0702 or Cw*07:02, G/P group names, A*02:XX, two-field A*02:01g, option"},{"name":"allele_info","description":"Look up one name in the pinned release and return what it is: assigned (G/P group, first release, confirmed status, WMDA serology, null flag), valid_prefix (mem"},{"name":"match_score","description":"Count a donor-recipient HLA match by the published counting rules (R1-R6): allele arithmetic over chromosomes, not a donor recommendation. recipient/donor: {\"A\""},{"name":"check_typing","description":"QC-check one HLA typing (all loci) against the pinned release: resolves every reported allele, flags unresolvable/outdated/locus-mismatched/null alleles, flags "},{"name":"donor_compat","description":"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 li"},{"name":"validate_gl_string","description":"Validate and normalize a GL String (Genotype List, ^ | + ~ / grammar): resolves every allele token, flags outdated/unresolvable names and structural problems (m"},{"name":"beta_signup","description":"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 "},{"name":"research_access","description":"Apply for free HLA-Verify access for an academic or nonprofit lab. Ask before calling: it records the address, institution and use case you give it. Approval is"},{"name":"about","description":"What this server is and is not, what to send it, benchmark evidence for why to use it, the beta state, and terms."}],"toolCount":10,"toolsHash":"b593d8e8834255c1606e16b5c40fc9013ac8de2a1f7f24082dc701517b75c2e5","serverName":"hla-verify","capabilities":["tools"],"serverVersion":"1.0.1","protocolVersion":"2025-06-18"}},{"at":"2026-10-10T07:23:43.092Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":20,"error":null,"detail":{"tools":[{"name":"verify_text","description":"Scan HLA typing report text, or model output about HLA, for allele-shaped tokens and classify each one: valid / legacy spelling such as A*0201 or Cw*0702 (valid"},{"name":"normalize_allele","description":"Normalize one reported HLA allele name (any era or reporting shorthand: legacy A*0101, Cw*0702 or Cw*07:02, G/P group names, A*02:XX, two-field A*02:01g, option"},{"name":"allele_info","description":"Look up one name in the pinned release and return what it is: assigned (G/P group, first release, confirmed status, WMDA serology, null flag), valid_prefix (mem"},{"name":"match_score","description":"Count a donor-recipient HLA match by the published counting rules (R1-R6): allele arithmetic over chromosomes, not a donor recommendation. recipient/donor: {\"A\""},{"name":"check_typing","description":"QC-check one HLA typing (all loci) against the pinned release: resolves every reported allele, flags unresolvable/outdated/locus-mismatched/null alleles, flags "},{"name":"donor_compat","description":"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 li"},{"name":"validate_gl_string","description":"Validate and normalize a GL String (Genotype List, ^ | + ~ / grammar): resolves every allele token, flags outdated/unresolvable names and structural problems (m"},{"name":"beta_signup","description":"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 "},{"name":"research_access","description":"Apply for free HLA-Verify access for an academic or nonprofit lab. Ask before calling: it records the address, institution and use case you give it. Approval is"},{"name":"about","description":"What this server is and is not, what to send it, benchmark evidence for why to use it, the beta state, and terms."}],"toolCount":10,"toolsHash":"b593d8e8834255c1606e16b5c40fc9013ac8de2a1f7f24082dc701517b75c2e5","serverName":"hla-verify","capabilities":["tools"],"serverVersion":"1.0.1","protocolVersion":"2025-06-18"}},{"at":"2026-10-10T00:29:08.629Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":15,"error":null,"detail":{"tools":[{"name":"verify_text","description":"Scan HLA typing report text, or model output about HLA, for allele-shaped tokens and classify each one: valid / legacy spelling such as A*0201 or Cw*0702 (valid"},{"name":"normalize_allele","description":"Normalize one reported HLA allele name (any era or reporting shorthand: legacy A*0101, Cw*0702 or Cw*07:02, G/P group names, A*02:XX, two-field A*02:01g, option"},{"name":"allele_info","description":"Look up one name in the pinned release and return what it is: assigned (G/P group, first release, confirmed status, WMDA serology, null flag), valid_prefix (mem"},{"name":"match_score","description":"Count a donor-recipient HLA match by the published counting rules (R1-R6): allele arithmetic over chromosomes, not a donor recommendation. recipient/donor: {\"A\""},{"name":"check_typing","description":"QC-check one HLA typing (all loci) against the pinned release: resolves every reported allele, flags unresolvable/outdated/locus-mismatched/null alleles, flags "},{"name":"donor_compat","description":"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 li"},{"name":"validate_gl_string","description":"Validate and normalize a GL String (Genotype List, ^ | + ~ / grammar): resolves every allele token, flags outdated/unresolvable names and structural problems (m"},{"name":"beta_signup","description":"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 "},{"name":"research_access","description":"Apply for free HLA-Verify access for an academic or nonprofit lab. Ask before calling: it records the address, institution and use case you give it. Approval is"},{"name":"about","description":"What this server is and is not, what to send it, benchmark evidence for why to use it, the beta state, and terms."}],"toolCount":10,"toolsHash":"b593d8e8834255c1606e16b5c40fc9013ac8de2a1f7f24082dc701517b75c2e5","serverName":"hla-verify","capabilities":["tools"],"serverVersion":"1.0.1","protocolVersion":"2025-06-18"}},{"at":"2026-10-09T18:26:10.826Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":26,"error":null,"detail":{"tools":[{"name":"verify_text","description":"Scan HLA typing report text, or model output about HLA, for allele-shaped tokens and classify each one: valid / legacy spelling such as A*0201 or Cw*0702 (valid"},{"name":"normalize_allele","description":"Normalize one reported HLA allele name (any era or reporting shorthand: legacy A*0101, Cw*0702 or Cw*07:02, G/P group names, A*02:XX, two-field A*02:01g, option"},{"name":"allele_info","description":"Look up one name in the pinned release and return what it is: assigned (G/P group, first release, confirmed status, WMDA serology, null flag), valid_prefix (mem"},{"name":"match_score","description":"Count a donor-recipient HLA match by the published counting rules (R1-R6): allele arithmetic over chromosomes, not a donor recommendation. recipient/donor: {\"A\""},{"name":"check_typing","description":"QC-check one HLA typing (all loci) against the pinned release: resolves every reported allele, flags unresolvable/outdated/locus-mismatched/null alleles, flags "},{"name":"donor_compat","description":"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 li"},{"name":"validate_gl_string","description":"Validate and normalize a GL String (Genotype List, ^ | + ~ / grammar): resolves every allele token, flags outdated/unresolvable names and structural problems (m"},{"name":"beta_signup","description":"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 "},{"name":"research_access","description":"Apply for free HLA-Verify access for an academic or nonprofit lab. Ask before calling: it records the address, institution and use case you give it. Approval is"},{"name":"about","description":"What this server is and is not, what to send it, benchmark evidence for why to use it, the beta state, and terms."}],"toolCount":10,"toolsHash":"b593d8e8834255c1606e16b5c40fc9013ac8de2a1f7f24082dc701517b75c2e5","serverName":"hla-verify","capabilities":["tools"],"serverVersion":"1.0.1","protocolVersion":"2025-06-18"}},{"at":"2026-10-09T11:25:41.727Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":18,"error":null,"detail":{"tools":[{"name":"verify_text","description":"Scan HLA typing report text, or model output about HLA, for allele-shaped tokens and classify each one: valid / legacy spelling such as A*0201 or Cw*0702 (valid"},{"name":"normalize_allele","description":"Normalize one reported HLA allele name (any era or reporting shorthand: legacy A*0101, Cw*0702 or Cw*07:02, G/P group names, A*02:XX, two-field A*02:01g, option"},{"name":"allele_info","description":"Look up one name in the pinned release and return what it is: assigned (G/P group, first release, confirmed status, WMDA serology, null flag), valid_prefix (mem"},{"name":"match_score","description":"Count a donor-recipient HLA match by the published counting rules (R1-R6): allele arithmetic over chromosomes, not a donor recommendation. recipient/donor: {\"A\""},{"name":"check_typing","description":"QC-check one HLA typing (all loci) against the pinned release: resolves every reported allele, flags unresolvable/outdated/locus-mismatched/null alleles, flags "},{"name":"donor_compat","description":"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 li"},{"name":"validate_gl_string","description":"Validate and normalize a GL String (Genotype List, ^ | + ~ / grammar): resolves every allele token, flags outdated/unresolvable names and structural problems (m"},{"name":"beta_signup","description":"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 "},{"name":"research_access","description":"Apply for free HLA-Verify access for an academic or nonprofit lab. Ask before calling: it records the address, institution and use case you give it. Approval is"},{"name":"about","description":"What this server is and is not, what to send it, benchmark evidence for why to use it, the beta state, and terms."}],"toolCount":10,"toolsHash":"b593d8e8834255c1606e16b5c40fc9013ac8de2a1f7f24082dc701517b75c2e5","serverName":"hla-verify","capabilities":["tools"],"serverVersion":"1.0.1","protocolVersion":"2025-06-18"}},{"at":"2026-10-09T04:28:07.704Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":37,"error":null,"detail":{"tools":[{"name":"verify_text","description":"Scan HLA typing report text, or model output about HLA, for allele-shaped tokens and classify each one: valid / legacy spelling such as A*0201 or Cw*0702 (valid"},{"name":"normalize_allele","description":"Normalize one reported HLA allele name (any era or reporting shorthand: legacy A*0101, Cw*0702 or Cw*07:02, G/P group names, A*02:XX, two-field A*02:01g, option"},{"name":"allele_info","description":"Look up one name in the pinned release and return what it is: assigned (G/P group, first release, confirmed status, WMDA serology, null flag), valid_prefix (mem"},{"name":"match_score","description":"Count a donor-recipient HLA match by the published counting rules (R1-R6): allele arithmetic over chromosomes, not a donor recommendation. recipient/donor: {\"A\""},{"name":"check_typing","description":"QC-check one HLA typing (all loci) against the pinned release: resolves every reported allele, flags unresolvable/outdated/locus-mismatched/null alleles, flags "},{"name":"donor_compat","description":"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 li"},{"name":"validate_gl_string","description":"Validate and normalize a GL String (Genotype List, ^ | + ~ / grammar): resolves every allele token, flags outdated/unresolvable names and structural problems (m"},{"name":"beta_signup","description":"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 "},{"name":"research_access","description":"Apply for free HLA-Verify access for an academic or nonprofit lab. Ask before calling: it records the address, institution and use case you give it. Approval is"},{"name":"about","description":"What this server is and is not, what to send it, benchmark evidence for why to use it, the beta state, and terms."}],"toolCount":10,"toolsHash":"b593d8e8834255c1606e16b5c40fc9013ac8de2a1f7f24082dc701517b75c2e5","serverName":"hla-verify","capabilities":["tools"],"serverVersion":"1.0.1","protocolVersion":"2025-06-18"}},{"at":"2026-10-08T21:22:54.517Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":12,"error":null,"detail":{"tools":[{"name":"verify_text","description":"Scan HLA typing report text, or model output about HLA, for allele-shaped tokens and classify each one: valid / legacy spelling such as A*0201 or Cw*0702 (valid"},{"name":"normalize_allele","description":"Normalize one reported HLA allele name (any era or reporting shorthand: legacy A*0101, Cw*0702 or Cw*07:02, G/P group names, A*02:XX, two-field A*02:01g, option"},{"name":"allele_info","description":"Look up one name in the pinned release and return what it is: assigned (G/P group, first release, confirmed status, WMDA serology, null flag), valid_prefix (mem"},{"name":"match_score","description":"Count a donor-recipient HLA match by the published counting rules (R1-R6): allele arithmetic over chromosomes, not a donor recommendation. recipient/donor: {\"A\""},{"name":"check_typing","description":"QC-check one HLA typing (all loci) against the pinned release: resolves every reported allele, flags unresolvable/outdated/locus-mismatched/null alleles, flags "},{"name":"donor_compat","description":"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 li"},{"name":"validate_gl_string","description":"Validate and normalize a GL String (Genotype List, ^ | + ~ / grammar): resolves every allele token, flags outdated/unresolvable names and structural problems (m"},{"name":"beta_signup","description":"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 "},{"name":"research_access","description":"Apply for free HLA-Verify access for an academic or nonprofit lab. Ask before calling: it records the address, institution and use case you give it. Approval is"},{"name":"about","description":"What this server is and is not, what to send it, benchmark evidence for why to use it, the beta state, and terms."}],"toolCount":10,"toolsHash":"b593d8e8834255c1606e16b5c40fc9013ac8de2a1f7f24082dc701517b75c2e5","serverName":"hla-verify","capabilities":["tools"],"serverVersion":"1.0.1","protocolVersion":"2025-06-18"}},{"at":"2026-10-08T15:23:36.998Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":71,"error":null,"detail":{"tools":[{"name":"verify_text","description":"Scan HLA typing report text, or model output about HLA, for allele-shaped tokens and classify each one: valid / legacy spelling such as A*0201 or Cw*0702 (valid"},{"name":"normalize_allele","description":"Normalize one reported HLA allele name (any era or reporting shorthand: legacy A*0101, Cw*0702 or Cw*07:02, G/P group names, A*02:XX, two-field A*02:01g, option"},{"name":"allele_info","description":"Look up one name in the pinned release and return what it is: assigned (G/P group, first release, confirmed status, WMDA serology, null flag), valid_prefix (mem"},{"name":"match_score","description":"Count a donor-recipient HLA match by the published counting rules (R1-R6): allele arithmetic over chromosomes, not a donor recommendation. recipient/donor: {\"A\""},{"name":"check_typing","description":"QC-check one HLA typing (all loci) against the pinned release: resolves every reported allele, flags unresolvable/outdated/locus-mismatched/null alleles, flags "},{"name":"donor_compat","description":"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 li"},{"name":"validate_gl_string","description":"Validate and normalize a GL String (Genotype List, ^ | + ~ / grammar): resolves every allele token, flags outdated/unresolvable names and structural problems (m"},{"name":"beta_signup","description":"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 "},{"name":"research_access","description":"Apply for free HLA-Verify access for an academic or nonprofit lab. Ask before calling: it records the address, institution and use case you give it. Approval is"},{"name":"about","description":"What this server is and is not, what to send it, benchmark evidence for why to use it, the beta state, and terms."}],"toolCount":10,"toolsHash":"b593d8e8834255c1606e16b5c40fc9013ac8de2a1f7f24082dc701517b75c2e5","serverName":"hla-verify","capabilities":["tools"],"serverVersion":"1.0.1","protocolVersion":"2025-06-18"}},{"at":"2026-10-08T08:30:06.276Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":25,"error":null,"detail":{"tools":[{"name":"verify_text","description":"Scan HLA typing report text, or model output about HLA, for allele-shaped tokens and classify each one: valid / legacy spelling such as A*0201 or Cw*0702 (valid"},{"name":"normalize_allele","description":"Normalize one reported HLA allele name (any era or reporting shorthand: legacy A*0101, Cw*0702 or Cw*07:02, G/P group names, A*02:XX, two-field A*02:01g, option"},{"name":"allele_info","description":"Look up one name in the pinned release and return what it is: assigned (G/P group, first release, confirmed status, WMDA serology, null flag), valid_prefix (mem"},{"name":"match_score","description":"Count a donor-recipient HLA match by the published counting rules (R1-R6): allele arithmetic over chromosomes, not a donor recommendation. recipient/donor: {\"A\""},{"name":"check_typing","description":"QC-check one HLA typing (all loci) against the pinned release: resolves every reported allele, flags unresolvable/outdated/locus-mismatched/null alleles, flags "},{"name":"donor_compat","description":"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 li"},{"name":"validate_gl_string","description":"Validate and normalize a GL String (Genotype List, ^ | + ~ / grammar): resolves every allele token, flags outdated/unresolvable names and structural problems (m"},{"name":"beta_signup","description":"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 "},{"name":"research_access","description":"Apply for free HLA-Verify access for an academic or nonprofit lab. Ask before calling: it records the address, institution and use case you give it. Approval is"},{"name":"about","description":"What this server is and is not, what to send it, benchmark evidence for why to use it, the beta state, and terms."}],"toolCount":10,"toolsHash":"b593d8e8834255c1606e16b5c40fc9013ac8de2a1f7f24082dc701517b75c2e5","serverName":"hla-verify","capabilities":["tools"],"serverVersion":"1.0.1","protocolVersion":"2025-06-18"}}],"tools":[{"name":"verify_text","description":"Scan HLA typing report text, or model output about HLA, for allele-shaped tokens and classify each one: valid / legacy spelling such as A*0201 or Cw*0702 (valid"},{"name":"normalize_allele","description":"Normalize one reported HLA allele name (any era or reporting shorthand: legacy A*0101, Cw*0702 or Cw*07:02, G/P group names, A*02:XX, two-field A*02:01g, option"},{"name":"allele_info","description":"Look up one name in the pinned release and return what it is: assigned (G/P group, first release, confirmed status, WMDA serology, null flag), valid_prefix (mem"},{"name":"match_score","description":"Count a donor-recipient HLA match by the published counting rules (R1-R6): allele arithmetic over chromosomes, not a donor recommendation. recipient/donor: {\"A\""},{"name":"check_typing","description":"QC-check one HLA typing (all loci) against the pinned release: resolves every reported allele, flags unresolvable/outdated/locus-mismatched/null alleles, flags "},{"name":"donor_compat","description":"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 li"},{"name":"validate_gl_string","description":"Validate and normalize a GL String (Genotype List, ^ | + ~ / grammar): resolves every allele token, flags outdated/unresolvable names and structural problems (m"},{"name":"beta_signup","description":"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 "},{"name":"research_access","description":"Apply for free HLA-Verify access for an academic or nonprofit lab. Ask before calling: it records the address, institution and use case you give it. Approval is"},{"name":"about","description":"What this server is and is not, what to send it, benchmark evidence for why to use it, the beta state, and terms."}],"package":null,"toolSurface":{"id":"ts_v6bvscw4yq5j","endpointId":"ep_jmcjmwbgkrqk","hash":"b593d8e8834255c1606e16b5c40fc9013ac8de2a1f7f24082dc701517b75c2e5","toolCount":10,"serverName":"hla-verify","serverVersion":"1.0.1","protocolVersion":"2025-06-18","firstSeenAt":"2026-10-06T12:28:16.236Z","lastSeenAt":"2026-10-10T20:28:20.893Z","observations":17,"toolNames":["verify_text","normalize_allele","allele_info","match_score","check_typing","donor_compat","validate_gl_string","beta_signup","research_access","about"],"distinctSurfaces":5},"endpointFacts":[{"id":"ep_jmcjmwbgkrqk","url":"https://api.hlaverify.com/mcp","type":"mcp_streamable_http","factsCheckedAt":"2026-10-09T11:25:41.732Z","auth":{"observedAt":"2026-10-09T11:25:41.779Z","authRequired":false,"scheme":null,"resourceMetadata":{"url":"https://api.hlaverify.com/.well-known/oauth-protected-resource/mcp","resource":"https://api.hlaverify.com/mcp","authorizationServers":["https://api.hlaverify.com"],"scopesSupported":["mcp"]},"authorizationServer":{"url":"https://api.hlaverify.com/.well-known/oauth-authorization-server","issuer":"https://api.hlaverify.com","grantTypesSupported":["authorization_code","refresh_token"],"codeChallengeMethodsSupported":["S256"],"tokenEndpointAuthMethodsSupported":["none"],"dynamicClientRegistration":true,"dpopSigningAlgValuesSupported":[],"clientIdMetadataDocumentSupported":true},"conformance":{"dpop":false,"rfc8414":true,"rfc9728":true,"pkceS256":true,"clientIdMetadataDocument":true,"dynamicClientRegistration":true}},"tls":{"observedAt":"2026-10-09T11:25:41.808Z","protocol":"TLSv1.3","chainValid":true,"chainError":null,"hostMatches":true,"subject":"hlaverify.com","issuer":{"commonName":"WE1","organization":"Google Trust Services"},"validFrom":"2026-09-10T18:24:07.000Z","validTo":"2026-12-09T19:24:04.000Z","daysToExpiry":59,"sanCount":3,"fingerprint256":"0D:55:CA:11:21:A2:30:3B:B4:AB:38:6E:8A:E2:05:A6:41:49:A9:E8:47:D3:F0:29:1B:C1:7D:2D:16:8D:C7:D6"}}]},"verification":{"claimed":false,"claimedAt":null,"proofs":[]},"provenance":{"sources":[{"source":"ard_catalog","key":"urn:air:hlaverify.com:mcp:hla-verify","url":"https://hlaverify.com/.well-known/ard.json","firstSeenAt":"2026-09-18T07:23:58.230Z","fetchedAt":"2026-09-18T07:23:58.230Z","normalizedAt":"2026-09-18T07:23:58.230Z"},{"source":"mcp_registry","key":"com.hlaverify/hla-verify","url":"https://registry.modelcontextprotocol.io/v0/servers/com.hlaverify%2Fhla-verify","firstSeenAt":"2026-09-18T07:22:28.547Z","fetchedAt":"2026-10-09T07:21:04.443Z","normalizedAt":"2026-10-09T07:21:04.443Z"}]},"firstSeenAt":"2026-09-18T07:22:28.547Z","updatedAt":"2026-10-10T20:30:39.238Z"}