Skip to main content
Glama

Folklore Clinical Variant Interpretation MCP

Server Details

Helena Bioinformatics MCP for clinical variant interpretation, ACMG/AMP evidence and literature.

Ownership verified
Status
Healthy
Last Tested
Transport
Streamable HTTP
URL
Repository
helena-bioinformatics/folklore-mcp
GitHub Stars
0
Server Listing
Folklore Variant Evidence

Available Tools

5 tools
get_publication_detailsGet details for a PubMed publicationA
Read-onlyIdempotent
Inspect

Retrieve the complete public bibliographic record for one PMID from Folklore's PubMed-derived genetics corpus. Returns the full abstract, authors, journal metadata, publication and MeSH terms, gene and variant mentions, retraction status, and PubMed/PMC links. Use after literature search when a user asks to inspect a specific publication. This is read-only professional literature evidence and contains no patient context.

ParametersJSON Schema
NameRequiredDescriptionDefault
pmidYesOne PubMed identifier to look up in Folklore's current corpus, as 1 to 12 digits without a PMID prefix.

Output Schema

ParametersJSON Schema
NameRequiredDescription
publicationYes
usage_boundaryYes
contract_versionYes

TDQS

A4.3/5.0
Behavior4/5

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

Annotations already declare readOnlyHint, idempotentHint, and destructiveHint=false. The description adds non-redundant context by noting the data is 'professional literature evidence and contains no patient context,' which is useful for privacy and sensitivity assessment. It also highlights that retraction status is included, a behavioral detail beyond what annotations cover.

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 tightly written sentences, each earning its place: the first states the action and scope, the second lists return contents, the third gives usage context and safety framing. It is front-loaded with the verb and resource and contains 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, idempotent tool with an output schema and rich annotations, the description covers purpose, scope, return contents, usage trigger, and data sensitivity. There is no missing information an agent would need to invoke it correctly.

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%: the sole pmid parameter is fully documented with pattern, format, and prefix guidance. The description doesn't add any additional parameter-level semantics, so it does not exceed the 3-point baseline expected when structured schema already covers parameters completely.

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 ('Retrieve') and names a precise resource: 'complete public bibliographic record for one PMID from Folklore's PubMed-derived genetics corpus.' It then enumerates the returned fields (abstract, authors, journal, MeSH terms, gene/variant mentions, retraction status, links), which clearly separates it from the sibling search tools that return sets of results rather than a single record.

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 an explicit trigger: 'Use after literature search when a user asks to inspect a specific publication.' This clearly tells an agent when to invoke it, but it does not explicitly name alternatives or state when not to use it beyond the implied contrast with searching. It is clear context without formal exclusions, so not a 5.

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

search_literature_corpusSearch the Folklore Literature CorpusA
Read-onlyIdempotent
Inspect

Semantically search the public scientific Literature Corpus by a natural-language question. A question may include one or more PMID, DOI or PMCID references; those publications become exact anchors for finding related experiments, evidence and concepts across the corpus. Also accepts genes, variants, phenotypes, HPO and OMIM concepts. Include every known publication identifier in the query when the user asks to compare papers or find work related to a specific paper. Returns source-linked evidence candidates for professional review, not diagnoses, causality claims or treatment recommendations.

ParametersJSON Schema
NameRequiredDescriptionDefault
sortNoResult ordering: relevance-ranked, newest publication first, or oldest publication first.relevance
limitNoMaximum number of publications to return, from 1 to 25.
queryYesNatural-language literature question or exact PMID, DOI, PMCID, gene, variant, phenotype, HPO, or OMIM query. Include every known publication identifier when comparing or finding related papers.
cursorNoOpaque continuation cursor from the preceding response for the same query and sort order; omit for the first page.

Output Schema

ParametersJSON Schema
NameRequiredDescription
queryYes
resultsYes
has_moreNo
graph_usedNo
next_cursorNo
graph_versionNo
returned_countYes
usage_boundaryYes
contract_versionYes
searchable_fieldsYes
semantic_index_usedNo
graph_degraded_reasonNo
semantic_degraded_reasonNo

TDQS

A4/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 destructiveHint=false; the description adds meaningful context by stating it returns 'source-linked evidence candidates for professional review, not diagnoses, causality claims or treatment recommendations.' This safety caveat goes beyond the structured 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?

Three sentences front-load the core purpose, provide a concrete usage rule, and close with an important caveat. There is no filler or repetition of schema contents.

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 read-only search tool with a rich output schema and fully documented parameters, the description covers the essential invocation behavior, accepted input classes, and professional-review caveat. It is slightly incomplete only in not routing the agent between overlapping sibling search tools.

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 input schema already documents query, sort, limit, and cursor well. The description reinforces the query semantics (e.g., PMID/DOI/PMCID as anchors) but adds little parameter-level detail beyond the schema.

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 names a specific verb and resource: semantically search the public scientific Literature Corpus by natural-language question, and lists accepted identifier/concept types. It is clear on its own, but the title's 'Folklore Literature Corpus' conflicts slightly with the description's 'scientific Literature Corpus,' and it does not explicitly distinguish itself from sibling search_variant_literature.

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 concrete usage guidance: include every known publication identifier when the user wants to compare papers or find work related to a specific paper. It establishes clear context but does not state when not to use this tool versus sibling search tools such as search_variant_literature.

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

search_variant_evidenceClassify or interpret a germline variant under ACMG/AMPA
Read-onlyIdempotent
Inspect

Use when a user asks to classify or interpret pathogenicity, review a VUS, check available ClinVar assertions or population-frequency evidence, or resolve a variant notation. Classify, interpret or resolve one public GRCh38 germline SNV or simple indel smaller than 50 bp. Accepts coordinates, genomic/coding/protein HGVS, SPDI or rsID. Returns normalized variant identity, automated ACMG/AMP decision support, evidence, provenance and explicit limitations. This is variant-level decision support for professional review. It does not evaluate patient context and must not be presented as a diagnosis or treatment recommendation. Never choose a candidate when resolution is ambiguous.

ParametersJSON Schema
NameRequiredDescriptionDefault
queryYesOne germline nuclear SNV or simple indel to resolve and interpret; accepted forms include coordinates, genomic/coding/protein HGVS, SPDI, rsID, or a returned Folklore canonical_key in GRCh38:chrN:position:REF:ALT form.
assemblyNoReference genome assembly. Folklore currently accepts GRCh38 only.GRCh38

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes
record_urlYes
adapter_errorYes
usage_boundaryYes
contract_versionYes

TDQS

A4.4/5.0
Behavior5/5

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

Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, so the bar is lowered; the description still adds meaningful context beyond them: output is decision-support with explicit limitations, the tool does not evaluate patient context, results must not be framed as diagnosis/treatment, and it refuses to select a candidate when resolution is ambiguous. These are behavioral traits that materially shape how an agent should invoke and present the results.

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?

Six sentences, each carrying distinct information: usage triggers, scope, input forms, return contents, safety limitations, and ambiguity policy. It is front-loaded with the highest-value routing information and, while slightly verbose, the density is justified for a medical-reasoning tool with safety implications.

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 complex ACMG/AMP classification tool, the description covers what to pass, what comes back, scope limits, and safety constraints, with an output schema available to document return structure. An agent has everything needed to decide when to call it and how to responsibly handle the result.

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 coverage is 100%, so the baseline is 3; the query and assembly parameters are already well documented in the schema. The description adds useful scope constraints not fully explicit in the schema (germline SNV or simple indel <50 bp, GRCh38-only), but it mostly restates accepted input forms already enumerated in the query parameter description.

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 explicit user-intent triggers ('classify or interpret pathogenicity, review a VUS, check available ClinVar assertions or population-frequency evidence, or resolve a variant notation') and states a precise scope: one public GRCh38 germline SNV or simple indel smaller than 50 bp. This clearly differentiates it from the literature-oriented siblings (search_variant_literature, get_publication_details), which concern publications rather than variant 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?

Provides explicit 'Use when...' triggers covering classification, VUS review, evidence checking, and notation resolution, plus a clear exclusion: it does not evaluate patient context and must not be presented as a diagnosis or treatment recommendation. It does not explicitly name sibling literature tools as alternatives, but 'Never choose a candidate when resolution is ambiguous' adds practical guidance on when to abstain from answering.

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

search_variant_literatureFind literature for a germline variantA
Read-onlyIdempotent
Inspect

Resolve one public GRCh38 germline variant and retrieve relevant publications from Folklore's PubMed-derived genetics corpus. Exact variant mentions rank ahead of broader gene associations. Use when a user asks what has been published about a variant, gene or associated condition. Associations do not establish causality, pathogenicity or a diagnosis and do not change Folklore's ACMG/AMP classification.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNoMaximum number of publications to return, from 1 to 25.
queryYesOne germline nuclear SNV or simple indel to resolve before retrieving its literature; this is a variant identifier, not a natural-language question. Accepts a returned Folklore canonical_key in GRCh38:chrN:position:REF:ALT form.
assemblyNoReference genome assembly. Folklore currently accepts GRCh38 only.GRCh38
questionNoOptional natural-language focus applied after the variant is resolved, such as a condition or evidence question; do not put the variant identifier here.

Output Schema

ParametersJSON Schema
NameRequiredDescription
statusYes
literatureYes
usage_boundaryYes
variant_resultYes
contract_versionNo

TDQS

A4.2/5.0
Behavior4/5

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

The annotations already declare readOnlyHint, openWorldHint, idempotentHint, and destructiveHint, so the safety profile is covered. The description adds valuable behavioral context beyond the structure: exact variant mentions rank ahead of broader gene associations, and the results should not be interpreted as establishing causality, pathogenicity, or diagnosis. This compounds the tool's behavior beyond what annotations provide.

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 compact and well-structured: the first sentence explains the core function, the second provides usage guidance, and the third adds an important caveat. Every sentence contributes meaningful information and the critical constraints are front-loaded.

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 output schema, the description does not need to explain return values. It provides the key operational details needed to call the tool correctly: the genome assembly requirement, the ranking behavior, and the clinical classification caveat. It could be slightly more explicit about how gene-level queries are handled, but it is otherwise quite complete for a surgical tool.

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 the query, limit, assembly, and question parameters thoroughly. The description reinforces that query is a variant identifier rather than a natural-language question, but this is also present in the schema's parameter description. The description does not add significant new parameter-level meaning 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 states a specific verb and resource: resolve a GRCh38 variant and retrieve publications from Folklore's PubMed-derived corpus. It differentiates itself from sibling tools by focusing on exact variant mentions ranking ahead of gene associations, which clarifies what makes this tool distinct from a general literature search.

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 explicitly says to use the tool when a user asks what has been published about a variant, gene, or associated condition. It does not mention exclusions or directly name these siblings, but the context is clear enough for an agent to know this tool is appropriate for variant-centric literature questions.

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

support_helenaSupport Helena's free scientific infrastructureA
Read-onlyIdempotent
Inspect

Learn how an agent can support or spread Helena's free public scientific infrastructure through the separate Helena Good MCP. This is an explicit opt-in information action. It does not initiate payment, create a relay, or change any Folklore scientific result.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A4.5/5.0
Behavior4/5

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

Annotations already provide readOnlyHint=true, openWorldHint=false, idempotentHint=true, destructiveHint=false. The description adds specific behavioral context beyond these annotations: it explicitly clarifies this is an information action and names precise exclusions (no payment, no relay creation, no result modification). This enriches the agent's understanding of side effects and side-effect-free guarantees, without contradicting the annotations.

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

Conciseness5/5

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

The description is two sentences with no wasted words. The first sentence front-loads the purpose and mechanism; the second sentence immediately addresses exclusions and behavioral boundaries. Each sentence earns its place, and the structure is efficient for agent consumption.

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 parameterless, read-only, informational tool with output schema present, the description covers all necessary aspects: what it does, how it works (via separate MCP), and what it does not do. Annotations handle safety/behavior, and the absence of parameters removes any parameter-related gaps. Nothing material is missing for an agent to correctly invoke this tool.

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 0 parameters, so the baseline for parameter semantics is 4. The description adds no parameter-specific information because none is needed; the schema is empty and coverage is 100%. The description's focus on purpose and behavioral constraints is appropriate for a parameterless tool.

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 clearly states the verb 'Learn how an agent can support or spread' and the resource 'Helena's free public scientific infrastructure'. It explicitly identifies the mechanism ('through the separate Helena Good MCP') and distinguishes itself from the sibling search tools by focusing on support rather than search. The sentence 'This is an explicit opt-in information action' further clarifies the tool's nature, removing ambiguity about whether it performs actions.

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 exclusions: 'It does not initiate payment, create a relay, or change any Folklore scientific result,' which tells the agent when NOT to use this tool. It also states it is an 'opt-in information action,' implying it should be used when seeking informational support on spreading Helena's infrastructure. However, it does not explicitly contrast with sibling tools or state when to choose it over alternatives, though the context of sibling search tools makes this reasonably clear.

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. Dates show when Glama detected each change.

  1. 1 tool update
    • Changedget_publication_details2 fields changed
      • addedOutput schema / $defs / PublicAbstractReuse
        Added value: +{
        +  "additionalProperties": false,
        +  "properties": {
        +    "allowed": {
        +      "default": false,
        +      "title": "Allowed",
        +      "type": "boolean"
        +    },
        +    "evidence_url": {
        +      "anyOf": [
        +        {
        +          "type": "string"
        +        },
        +        {
        +          "type": "null"
        +        }
        +      ],
        +      "default": null,
        +      "title": "Evidence Url"
        +    },
        +    "license": {
        +      "anyOf": [
        +        {
        +          "type": "string"
        +        },
        +        {
        +          "type": "null"
        +        }
        +      ],
        +      "default": null,
        +      "title": "License"
        +    },
        +    "source": {
        +      "anyOf": [
        +        {
        +          "type": "string"
        +        },
        +        {
        +          "type": "null"
        +        }
        +      ],
        +      "default": null,
        +      "title": "Source"
        +    }
        +  },
        +  "title": "PublicAbstractReuse",
        +  "type": "object"
        +}
      • addedOutput schema / $defs / PublicPublicationDetails / properties / abstract_reuse
        Added value: +{
        +  "$ref": "#/$defs/PublicAbstractReuse"
        +}
  2. 1 tool update
    • Changedsearch_literature_corpus6 fields changed
      • addedOutput schema / $defs / PublicCorpusSearchResult / properties / graph_anchor_pmid
        Added value: +{
        +  "anyOf": [
        +    {
        +      "type": "string"
        +    },
        +    {
        +      "type": "null"
        +    }
        +  ],
        +  "default": null,
        +  "title": "Graph Anchor Pmid"
        +}
      • addedOutput schema / $defs / PublicCorpusSearchResult / properties / graph_score
        Added value: +{
        +  "anyOf": [
        +    {
        +      "type": "number"
        +    },
        +    {
        +      "type": "null"
        +    }
        +  ],
        +  "default": null,
        +  "title": "Graph Score"
        +}
      • changedOutput schema / $defs / PublicCorpusSearchResult / properties / match_types / items / enum
        Previous value: -[
        -  "pmid",
        -  "doi",
        -  "pmcid",
        -  "title",
        -  "abstract",
        -  "gene",
        -  "variant",
        -  "phenotype",
        -  "hpo",
        -  "omim",
        -  "semantic"
        -]New value: +[
        +  "pmid",
        +  "doi",
        +  "pmcid",
        +  "title",
        +  "abstract",
        +  "gene",
        +  "variant",
        +  "phenotype",
        +  "hpo",
        +  "omim",
        +  "semantic",
        +  "graph"
        +]
      • addedOutput schema / properties / graph_degraded_reason
        Added value: +{
        +  "anyOf": [
        +    {
        +      "type": "string"
        +    },
        +    {
        +      "type": "null"
        +    }
        +  ],
        +  "default": null,
        +  "title": "Graph Degraded Reason"
        +}
      • addedOutput schema / properties / graph_used
        Added value: +{
        +  "default": false,
        +  "title": "Graph Used",
        +  "type": "boolean"
        +}
      • addedOutput schema / properties / graph_version
        Added value: +{
        +  "anyOf": [
        +    {
        +      "type": "string"
        +    },
        +    {
        +      "type": "null"
        +    }
        +  ],
        +  "default": null,
        +  "title": "Graph Version"
        +}
  3. 1 tool update
    • Changedsearch_literature_corpus1 field changed
      • addedOutput schema / $defs / PublicCorpusSearchResult / properties / authors
        Added value: +{
        +  "items": {
        +    "type": "string"
        +  },
        +  "title": "Authors",
        +  "type": "array"
        +}
  4. 1 tool update
    • Addedsupport_helena
  5. 4 tool updates
    • Changedget_publication_details1 field changed
      • addedInput schema / properties / pmid / description
        Added value: +"One PubMed identifier to look up in Folklore's current corpus, as 1 to 12 digits without a PMID prefix."
    • Changedsearch_literature_corpus4 fields changed
      • addedInput schema / properties / cursor / description
        Added value: +"Opaque continuation cursor from the preceding response for the same query and sort order; omit for the first page."
      • addedInput schema / properties / limit / description
        Added value: +"Maximum number of publications to return, from 1 to 25."
      • addedInput schema / properties / query / description
        Added value: +"Natural-language literature question or exact PMID, DOI, PMCID, gene, variant, phenotype, HPO, or OMIM query. Include every known publication identifier when comparing or finding related papers."
      • addedInput schema / properties / sort / description
        Added value: +"Result ordering: relevance-ranked, newest publication first, or oldest publication first."
    • Changedsearch_variant_evidence2 fields changed
      • addedInput schema / properties / assembly / description
        Added value: +"Reference genome assembly. Folklore currently accepts GRCh38 only."
      • addedInput schema / properties / query / description
        Added value: +"One germline nuclear SNV or simple indel to resolve and interpret; accepted forms include coordinates, genomic/coding/protein HGVS, SPDI, rsID, or a returned Folklore canonical_key in GRCh38:chrN:position:REF:ALT form."
    • Changedsearch_variant_literature4 fields changed
      • addedInput schema / properties / assembly / description
        Added value: +"Reference genome assembly. Folklore currently accepts GRCh38 only."
      • addedInput schema / properties / limit / description
        Added value: +"Maximum number of publications to return, from 1 to 25."
      • addedInput schema / properties / query / description
        Added value: +"One germline nuclear SNV or simple indel to resolve before retrieving its literature; this is a variant identifier, not a natural-language question. Accepts a returned Folklore canonical_key in GRCh38:chrN:position:REF:ALT form."
      • addedInput schema / properties / question / description
        Added value: +"Optional natural-language focus applied after the variant is resolved, such as a condition or evidence question; do not put the variant identifier here."
  6. 1 tool update
    • Changedsearch_literature_corpus2 fields changed
      • addedOutput schema / $defs / PublicCorpusArticleEntity
        Added value: +{
        +  "additionalProperties": false,
        +  "properties": {
        +    "entity_type": {
        +      "enum": [
        +        "gene",
        +        "variant",
        +        "phenotype",
        +        "pmid",
        +        "doi",
        +        "pmcid",
        +        "omim"
        +      ],
        +      "title": "Entity Type",
        +      "type": "string"
        +    },
        +    "identifier": {
        +      "anyOf": [
        +        {
        +          "type": "string"
        +        },
        +        {
        +          "type": "null"
        +        }
        +      ],
        +      "title": "Identifier"
        +    },
        +    "label": {
        +      "title": "Label",
        +      "type": "string"
        +    },
        +    "normalization_state": {
        +      "enum": [
        +        "normalized",
        +        "source_indexed"
        +      ],
        +      "title": "Normalization State",
        +      "type": "string"
        +    },
        +    "source_field": {
        +      "enum": [
        +        "work_identifiers.normalized_value",
        +        "gene_mentions.gene_symbol",
        +        "variant_mentions.normalized_variant",
        +        "phenotype_mentions.hpo_id",
        +        "phenotype_mentions.omim_id",
        +        "phenotype_mentions.mesh_term",
        +        "phenotype_mentions.phenotype_name"
        +      ],
        +      "title": "Source Field",
        +      "type": "string"
        +    }
        +  },
        +  "required": [
        +    "entity_type",
        +    "identifier",
        +    "label",
        +    "source_field",
        +    "normalization_state"
        +  ],
        +  "title": "PublicCorpusArticleEntity",
        +  "type": "object"
        +}
      • addedOutput schema / $defs / PublicCorpusSearchResult / properties / article_entities
        Added value: +{
        +  "items": {
        +    "$ref": "#/$defs/PublicCorpusArticleEntity"
        +  },
        +  "title": "Article Entities",
        +  "type": "array"
        +}
  7. 1 tool update
    • Changedsearch_literature_corpus3 fields changed
      • addedInput schema / properties / cursor
        Added value: +{
        +  "anyOf": [
        +    {
        +      "maxLength": 128,
        +      "minLength": 8,
        +      "pattern": "^[A-Za-z0-9_-]+$",
        +      "type": "string"
        +    },
        +    {
        +      "type": "null"
        +    }
        +  ],
        +  "default": null,
        +  "title": "Cursor"
        +}
      • addedOutput schema / properties / has_more
        Added value: +{
        +  "default": false,
        +  "title": "Has More",
        +  "type": "boolean"
        +}
      • addedOutput schema / properties / next_cursor
        Added value: +{
        +  "anyOf": [
        +    {
        +      "type": "string"
        +    },
        +    {
        +      "type": "null"
        +    }
        +  ],
        +  "default": null,
        +  "title": "Next Cursor"
        +}
  8. 2 tool updates
    • Changedsearch_literature_corpus8 fields changed
      • addedOutput schema / $defs / PublicCorpusSearchResult / properties / pmid / anyOf
        Added value: +[
        +  {
        +    "pattern": "^[0-9]{1,12}$",
        +    "type": "string"
        +  },
        +  {
        +    "type": "null"
        +  }
        +]
      • removedOutput schema / $defs / PublicCorpusSearchResult / properties / pmid / pattern
        Removed value: -"^[0-9]{1,12}$"
      • removedOutput schema / $defs / PublicCorpusSearchResult / properties / pmid / type
        Removed value: -"string"
      • addedOutput schema / $defs / PublicCorpusSearchResult / properties / pubmed_url / anyOf
        Added value: +[
        +  {
        +    "type": "string"
        +  },
        +  {
        +    "type": "null"
        +  }
        +]
      • removedOutput schema / $defs / PublicCorpusSearchResult / properties / pubmed_url / type
        Removed value: -"string"
      • addedOutput schema / $defs / PublicCorpusSearchResult / properties / source_url
        Added value: +{
        +  "title": "Source Url",
        +  "type": "string"
        +}
      • addedOutput schema / $defs / PublicCorpusSearchResult / properties / work_id
        Added value: +{
        +  "title": "Work Id",
        +  "type": "string"
        +}
      • changedOutput schema / $defs / PublicCorpusSearchResult / required
        Previous value: -[
        -  "pmid",
        -  "title",
        -  "abstract_excerpt",
        -  "journal",
        -  "publication_date",
        -  "doi",
        -  "pmc_id",
        -  "pubmed_url",
        -  "match_types",
        -  "structured_score"
        -]New value: +[
        +  "work_id",
        +  "pmid",
        +  "title",
        +  "abstract_excerpt",
        +  "journal",
        +  "publication_date",
        +  "doi",
        +  "pmc_id",
        +  "source_url",
        +  "pubmed_url",
        +  "match_types",
        +  "structured_score"
        +]
    • Changedsearch_variant_literature1 field changed
      • changedOutput schema / $defs / CorpusProvenance / properties / source / const
        Previous value: -"PubMed-derived Helena genetics corpus"New value: +"Helena Literature Corpus canonical works"
  9. 1 tool update
    • Addedsearch_literature_corpus
  10. 2 tool updates
    • Addedget_publication_details
    • Addedsearch_variant_literature
  11. 1 tool update
    • Changedsearch_variant_evidence2 fields changed
      • addedOutput schema / properties / usage_boundary
        Added value: +{
        +  "additionalProperties": false,
        +  "properties": {
        +    "intended_use": {
        +      "const": "professional_variant_review",
        +      "type": "string"
        +    },
        +    "not_for": {
        +      "items": {
        +        "enum": [
        +          "patient_diagnosis",
        +          "treatment_decision",
        +          "standalone_clinical_reporting"
        +        ],
        +        "type": "string"
        +      },
        +      "maxItems": 3,
        +      "minItems": 3,
        +      "type": "array",
        +      "uniqueItems": true
        +    },
        +    "patient_context_evaluated": {
        +      "const": false,
        +      "type": "boolean"
        +    },
        +    "result_type": {
        +      "const": "automated_variant_level_classification",
        +      "type": "string"
        +    },
        +    "review_required": {
        +      "const": true,
        +      "type": "boolean"
        +    }
        +  },
        +  "required": [
        +    "result_type",
        +    "review_required",
        +    "patient_context_evaluated",
        +    "intended_use",
        +    "not_for"
        +  ],
        +  "type": "object"
        +}
      • changedOutput schema / required
        Previous value: -[
        -  "contract_version",
        -  "record_url",
        -  "result",
        -  "adapter_error"
        -]New value: +[
        +  "contract_version",
        +  "record_url",
        +  "result",
        +  "usage_boundary",
        +  "adapter_error"
        +]

Frequently Asked Questions

Discussions

No comments yet. Be the first to start the discussion!

Related MCP Connectors

Related MCP Servers

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

TDQS

A4.3/5.0
Disambiguation4/5

Most tools have clearly distinct roles: evidence/classification, variant-specific literature, broad literature search, publication details, and an auxiliary support action. The main ambiguity is between search_literature_corpus and search_variant_literature, though their descriptions clarify that one is a general semantic search and the other resolves a specific variant's publications.

Naming Consistency5/5

All tool names follow a consistent snake_case verb_noun pattern: get_publication_details, search_literature_corpus, search_variant_evidence, search_variant_literature, and support_helena. The naming convention is uniform and predictable.

Tool Count5/5

Five tools is a well-scoped count for a clinical variant interpretation server. Each tool contributes to literature search, variant evidence, publication retrieval, or explicit support infrastructure, without unnecessary bloat.

Completeness4/5

The core workflow is covered: find literature, retrieve publication details, resolve a variant, obtain ACMG/AMP evidence, and find variant-specific publications. Minor gaps exist for batch variant handling or larger/structural variants, but within the stated GRCh38 SNV/indel scope the surface is reasonably complete.