MyVariant.info MCP. Aggregated human genetic-variant annotation: dbSNP, ClinVar clinical significance, CADD/dbNSFP deleteriousness scores, gnomAD allele frequencies. Keyless BioThings API (sibling of MyGene.info).
Three tools with complete schemas and descriptions. Naming is clear (query, variant, metadata) but lacks action verbs (search_, get_). Descriptions are well-written (150-250 chars, within baseline 194 avg) and explain WHAT and WHEN. Input schemas are properly typed with required fields. However, output schemas are undocumented, LLMs cannot plan downstream calls or extract fields. Error handling is minimal (generic catch-all). No parameter validation guidance (e.g., size range 1-1000 stated but not enforced in description). No tool annotations (readOnlyHint present but not declared). Composition is sound: three single-purpose tools with clear boundaries.
Dataset statistics and source/release metadata for MyVariant.info (available data sources, build versions, total variant counts).
Search aggregated human genetic-variant annotations on MyVariant.info. Accepts an rsID ("rs58991260"), an HGVS id ("chr1:g.218631822G>A"), or a fielded query ("dbnsfp.genename:CDK2", "clinvar.rcv.clinical_significance:pathogenic"). Each hit merges dbSNP, ClinVar clinical significance, CADD/dbNSFP deleteriousness scores, and gnomAD population allele frequencies. Returns { total, hits }; hit._id is usually the HGVS id you can pass to the variant tool.
Get the full merged annotation for a single human genetic variant by its HGVS id (e.g. "chr7:g.140453136A>T"). Returns annotations aggregated from dbSNP, ClinVar (pathogenicity / clinical significance), CADD and dbNSFP (deleteriousness/conservation scores), and gnomAD (population allele frequencies). Use to look up a known variant and read its pathogenicity and population frequency.
Output schemas not documented. LLMs cannot infer what fields to expect from query, variant, or metadata responses. Prevents downstream tool chaining and forces agents to guess field names.
Tool names lack action verbs. 'query' and 'variant' are nouns; should be 'search_variants' and 'get_variant'. 'metadata' should be 'get_metadata'. Verb-first naming helps LLMs parse intent from the name alone.
No tool annotations (readOnlyHint, idempotentHint). All three tools are read-only and idempotent, but this is not declared in the schema. Agents cannot distinguish safe tools from destructive ones without explicit hints.
Error handling is generic. callTool catches all errors and returns {error: message}. No recovery guidance, no categorization (retryable vs fatal), no actionable next steps for the LLM.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | C | 64 | 2026-07-28+ | v2 |
Parameter constraints stated in descriptions but not enforced. 'size' accepts 1-1000 but description does not explicitly state the range or what happens if exceeded. Math.min/max in code is defensive but LLM cannot see it.