Folklore Clinical Variant Interpretation MCP
Server Details
Helena Bioinformatics MCP for clinical variant interpretation, ACMG/AMP evidence and literature.
- Status
- Healthy
- Last Tested
- Transport
- Streamable HTTP
- URL
- Repository
- helena-bioinformatics/folklore-mcp
- GitHub Stars
- 0
- Server Listing
- Folklore Variant Evidence
Available Tools
5 toolsget_publication_detailsGet details for a PubMed publicationARead-onlyIdempotentInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| pmid | Yes | One PubMed identifier to look up in Folklore's current corpus, as 1 to 12 digits without a PMID prefix. |
Output Schema
| Name | Required | Description |
|---|---|---|
| publication | Yes | |
| usage_boundary | Yes | |
| contract_version | Yes |
TDQS
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.
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.
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.
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.
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.
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 CorpusARead-onlyIdempotentInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| sort | No | Result ordering: relevance-ranked, newest publication first, or oldest publication first. | relevance |
| limit | No | Maximum number of publications to return, from 1 to 25. | |
| query | Yes | 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. | |
| cursor | No | Opaque continuation cursor from the preceding response for the same query and sort order; omit for the first page. |
Output Schema
| Name | Required | Description |
|---|---|---|
| query | Yes | |
| results | Yes | |
| has_more | No | |
| graph_used | No | |
| next_cursor | No | |
| graph_version | No | |
| returned_count | Yes | |
| usage_boundary | Yes | |
| contract_version | Yes | |
| searchable_fields | Yes | |
| semantic_index_used | No | |
| graph_degraded_reason | No | |
| semantic_degraded_reason | No |
TDQS
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.
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.
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.
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.
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.
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/AMPARead-onlyIdempotentInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| query | Yes | 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. | |
| assembly | No | Reference genome assembly. Folklore currently accepts GRCh38 only. | GRCh38 |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes | |
| record_url | Yes | |
| adapter_error | Yes | |
| usage_boundary | Yes | |
| contract_version | Yes |
TDQS
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.
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.
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.
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.
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.
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 variantARead-onlyIdempotentInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Maximum number of publications to return, from 1 to 25. | |
| query | Yes | 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. | |
| assembly | No | Reference genome assembly. Folklore currently accepts GRCh38 only. | GRCh38 |
| question | No | Optional 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
| Name | Required | Description |
|---|---|---|
| status | Yes | |
| literature | Yes | |
| usage_boundary | Yes | |
| variant_result | Yes | |
| contract_version | No |
TDQS
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.
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.
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.
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.
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.
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 infrastructureARead-onlyIdempotentInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
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.
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.
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.
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.
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.
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 tool update
- Changed
get_publication_details2 fields changed- added
Output schema / $defs / PublicAbstractReuseAdded 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" +} - added
Output schema / $defs / PublicPublicationDetails / properties / abstract_reuseAdded value: +{ + "$ref": "#/$defs/PublicAbstractReuse" +}
1 tool update
- Changed
search_literature_corpus6 fields changed- added
Output schema / $defs / PublicCorpusSearchResult / properties / graph_anchor_pmidAdded value: +{ + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "default": null, + "title": "Graph Anchor Pmid" +} - added
Output schema / $defs / PublicCorpusSearchResult / properties / graph_scoreAdded value: +{ + "anyOf": [ + { + "type": "number" + }, + { + "type": "null" + } + ], + "default": null, + "title": "Graph Score" +} - changed
Output schema / $defs / PublicCorpusSearchResult / properties / match_types / items / enumPrevious 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" +] - added
Output schema / properties / graph_degraded_reasonAdded value: +{ + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "default": null, + "title": "Graph Degraded Reason" +} - added
Output schema / properties / graph_usedAdded value: +{ + "default": false, + "title": "Graph Used", + "type": "boolean" +} - added
Output schema / properties / graph_versionAdded value: +{ + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "default": null, + "title": "Graph Version" +}
1 tool update
- Changed
search_literature_corpus1 field changed- added
Output schema / $defs / PublicCorpusSearchResult / properties / authorsAdded value: +{ + "items": { + "type": "string" + }, + "title": "Authors", + "type": "array" +}
1 tool update
- Added
support_helena
4 tool updates
- Changed
get_publication_details1 field changed- added
Input schema / properties / pmid / descriptionAdded value: +"One PubMed identifier to look up in Folklore's current corpus, as 1 to 12 digits without a PMID prefix."
- Changed
search_literature_corpus4 fields changed- added
Input schema / properties / cursor / descriptionAdded value: +"Opaque continuation cursor from the preceding response for the same query and sort order; omit for the first page." - added
Input schema / properties / limit / descriptionAdded value: +"Maximum number of publications to return, from 1 to 25." - added
Input schema / properties / query / descriptionAdded 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." - added
Input schema / properties / sort / descriptionAdded value: +"Result ordering: relevance-ranked, newest publication first, or oldest publication first."
- Changed
search_variant_evidence2 fields changed- added
Input schema / properties / assembly / descriptionAdded value: +"Reference genome assembly. Folklore currently accepts GRCh38 only." - added
Input schema / properties / query / descriptionAdded 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."
- Changed
search_variant_literature4 fields changed- added
Input schema / properties / assembly / descriptionAdded value: +"Reference genome assembly. Folklore currently accepts GRCh38 only." - added
Input schema / properties / limit / descriptionAdded value: +"Maximum number of publications to return, from 1 to 25." - added
Input schema / properties / query / descriptionAdded 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." - added
Input schema / properties / question / descriptionAdded 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."
1 tool update
- Changed
search_literature_corpus2 fields changed- added
Output schema / $defs / PublicCorpusArticleEntityAdded 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" +} - added
Output schema / $defs / PublicCorpusSearchResult / properties / article_entitiesAdded value: +{ + "items": { + "$ref": "#/$defs/PublicCorpusArticleEntity" + }, + "title": "Article Entities", + "type": "array" +}
1 tool update
- Changed
search_literature_corpus3 fields changed- added
Input schema / properties / cursorAdded value: +{ + "anyOf": [ + { + "maxLength": 128, + "minLength": 8, + "pattern": "^[A-Za-z0-9_-]+$", + "type": "string" + }, + { + "type": "null" + } + ], + "default": null, + "title": "Cursor" +} - added
Output schema / properties / has_moreAdded value: +{ + "default": false, + "title": "Has More", + "type": "boolean" +} - added
Output schema / properties / next_cursorAdded value: +{ + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "default": null, + "title": "Next Cursor" +}
2 tool updates
- Changed
search_literature_corpus8 fields changed- added
Output schema / $defs / PublicCorpusSearchResult / properties / pmid / anyOfAdded value: +[ + { + "pattern": "^[0-9]{1,12}$", + "type": "string" + }, + { + "type": "null" + } +] - removed
Output schema / $defs / PublicCorpusSearchResult / properties / pmid / patternRemoved value: -"^[0-9]{1,12}$" - removed
Output schema / $defs / PublicCorpusSearchResult / properties / pmid / typeRemoved value: -"string" - added
Output schema / $defs / PublicCorpusSearchResult / properties / pubmed_url / anyOfAdded value: +[ + { + "type": "string" + }, + { + "type": "null" + } +] - removed
Output schema / $defs / PublicCorpusSearchResult / properties / pubmed_url / typeRemoved value: -"string" - added
Output schema / $defs / PublicCorpusSearchResult / properties / source_urlAdded value: +{ + "title": "Source Url", + "type": "string" +} - added
Output schema / $defs / PublicCorpusSearchResult / properties / work_idAdded value: +{ + "title": "Work Id", + "type": "string" +} - changed
Output schema / $defs / PublicCorpusSearchResult / requiredPrevious 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" +]
- Changed
search_variant_literature1 field changed- changed
Output schema / $defs / CorpusProvenance / properties / source / constPrevious value: -"PubMed-derived Helena genetics corpus"New value: +"Helena Literature Corpus canonical works"
1 tool update
- Added
search_literature_corpus
2 tool updates
- Added
get_publication_details - Added
search_variant_literature
1 tool update
- Changed
search_variant_evidence2 fields changed- added
Output schema / properties / usage_boundaryAdded 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" +} - changed
Output schema / requiredPrevious value: -[ - "contract_version", - "record_url", - "result", - "adapter_error" -]New value: +[ + "contract_version", + "record_url", + "result", + "usage_boundary", + "adapter_error" +]
Frequently Asked Questions
Claiming proves that you control a remote MCP connector. It does not move, proxy, or interrupt the server.
Open the connector listing, choose Claim ownership, and sign in to Glama.
Complete one verification method:
GitHub identity — fastest for official registry listings. For a namespace such as
io.github.alice/server, link the matching GitHub user, then choose Claim with GitHub. An organization namespace such asio.github.acme/serveralso needs that organization to have installed the Glama AI GitHub App and approved its permissions, because GitHub discloses organization membership only to apps it has installed. Use HTTP or DNS when it has not.HTTP challenge — works when you can deploy a public file. Generate a token, publish the exact JSON Glama shows at
/.well-known/glama.jsonon the same origin as the connector, then choose Check HTTP challenge.DNS challenge — works when you control DNS but cannot change the server. Generate a token, create the exact TXT record Glama shows, wait for it to propagate, then choose Check DNS challenge.
After verification, Glama sends a confirmation email and gives you access to listing details, thumbnails, health checks, and analytics. Keep the HTTP file or DNS record in place: Glama periodically checks it and ownership remains verified while the token is discoverable.
The HTTP ownership file has this structure:
{
"$schema": "https://glama.ai/mcp/schemas/connector.json",
"claim": "glama_claim_..."
}Claim tokens are opaque, stable, and bound to the signed-in Glama account. They contain no email address or other personal information. If Glama can no longer discover a verified HTTP or DNS token, it starts a seven-day grace period before removing claim-based access. Restore the same token during that period to keep ownership verified. Never publish an email address, Glama session token, GitHub token, or connector credential as ownership proof.
If verification fails, confirm that you copied the current token exactly. The HTTP file must be public, return valid JSON with a successful HTTP response, and stay on the connector's origin. DNS changes may need more time to propagate. A claim cannot transfer to a different origin or hostname: if the connector target changes, Glama starts the grace period and the new target must be claimed separately after the previous claim is released.
For a connector linked to the official MCP Registry, registry updates continue to replace its name, description, and URL by default. After claiming, open Manage connector and enable Use Glama listing details as the source of truth if edits made on Glama should be preserved. Categories and thumbnails are always managed on Glama; registry linkage and technical connection settings continue to sync.
Control your server's listing on Glama, including description and metadata
Access analytics and receive server usage reports
Get monitoring and health status updates for your server
Feature your server to boost visibility and reach more users
To improve your MCP server's ranking:
Claim ownership of the server listing
Complete the server profile with an accurate description and thumbnail
Provide a test profile so Glama can connect to and evaluate the server
Keep tool definitions clear and complete to earn a high Tool Definition Quality Score (TDQS)
Route real usage through the Glama Gateway; more recorded successful server uses also improve the ranking
For users:
Full audit trail – every tool call is logged with inputs and outputs for compliance and debugging
Granular tool control – enable or disable individual tools per connector to limit what your AI agents can do
Centralized credential management – store and rotate API keys and OAuth tokens in one place
Change alerts – get notified when a connector changes its schema, adds or removes tools, or updates tool definitions, so nothing breaks silently
For server owners:
Proven adoption – public usage metrics on your listing show real-world traction and build trust with prospective users
Tool-level analytics – see which tools are being used most, helping you prioritize development and documentation
Direct user feedback – users can report issues and suggest improvements through the listing, giving you a channel you would not have otherwise
The connector status is unhealthy when Glama is unable to successfully connect to the server. This can happen for several reasons:
The server is experiencing an outage
The URL of the server is wrong
Credentials required to access the server are missing or invalid
If you are the owner of this MCP connector and would like to make modifications to the listing, including providing test credentials for accessing the server, please contact support@glama.ai.
Discussions
No comments yet. Be the first to start the discussion!
Related MCP Connectors
MCP gateway federating 21 biomedical MCP servers behind one endpoint: gnomAD, ClinVar, HPO, VEP.
Official answers about Helena Bioinformatics and its products, with citations to public sources.
Related MCP Servers
AlicenseNot gradedqualityAmaintenanceOfficial public, read-only Helena Bioinformatics MCP for source-cited answers about the company and its published products.Apache 2.0- AlicenseNot gradedqualityAmaintenanceEnables querying ClinGen curated evidence for gene-disease validity, dosage, actionability, and variant pathogenicity via MCP tools.MIT
- AlicenseNot gradedqualityCmaintenanceA local-first MCP server that annotates whole-genome VCF files and lets you query pharmacogenomics, disease risk, and carrier status through natural language.4MIT
- AlicenseNot gradedqualityDmaintenanceEnables real-time pharmacogenomics analysis, including variant clinical significance, drug-gene interactions, and dosing guidelines, by connecting to ClinVar, PharmGKB, gnomAD, and other databases.1MIT
Glama MCP Gateway
Add one secure layer between your agents and this server.
TDQS
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.
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.
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.
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.