Skip to main content
Glama
shukwong

gnomAD MCP Server

by shukwong

gnomAD MCP Server

A Model Context Protocol (MCP) server that provides access to the gnomAD (Genome Aggregation Database) GraphQL API. This server enables AI assistants to query genetic variant data, gene constraints, and population genetics information from gnomAD.

Features

  • ๐Ÿงฌ Gene Information: Search and retrieve detailed gene data including constraint scores

  • ๐Ÿ”ฌ Variant Analysis: Query specific variants and their population frequencies

  • ๐Ÿ“Š Population Genetics: Access allele frequencies across different populations

  • ๐Ÿงฎ Constraint Scores: Get pLI, LOEUF, and other constraint metrics

  • ๐Ÿ” Region Queries: Find variants within specific genomic regions

  • ๐Ÿงช Transcript Data: Access transcript-specific information and constraints

  • ๐Ÿ“ˆ Coverage Data: Retrieve sequencing coverage statistics

  • ๐Ÿ”„ Structural Variants: Query structural variant data

  • ๐Ÿงฒ Mitochondrial Variants: Access mitochondrial genome variants

Related MCP server: Open Targets Platform MCP

Installation

Prerequisites

  • Node.js 18 or higher

  • npm or yarn

Install from source

git clone https://github.com/yourusername/gnomad-mcp-server.git
cd gnomad-mcp-server
npm install
npm run build

Configuration

Claude Desktop

Add to your Claude Desktop configuration file:

macOS: ~/Library/Application Support/Claude/claude_desktop_config.json Windows: %APPDATA%\Claude\claude_desktop_config.json

{
  "mcpServers": {
    "gnomad": {
      "command": "node",
      "args": ["/path/to/gnomad-mcp-server/dist/index.js"]
    }
  }
}

With MCP CLI

npx @modelcontextprotocol/cli gnomad-mcp-server

Available Tools

1. search

Search for genes, variants, or regions in gnomAD.

Parameters:

  • query (required): Search query (gene symbol, gene ID, variant ID, rsID)

  • reference_genome: Reference genome (GRCh37 or GRCh38, default: GRCh38)

  • dataset: Dataset ID (gnomad_r4, gnomad_r3, gnomad_r2_1, etc., default: gnomad_r4)

Example:

{
  "query": "TP53",
  "reference_genome": "GRCh38"
}

2. get_gene

Get detailed information about a gene including constraint scores.

Parameters:

  • gene_id: Ensembl gene ID (e.g., ENSG00000141510)

  • gene_symbol: Gene symbol (e.g., TP53)

  • reference_genome: Reference genome (default: GRCh38)

Example:

{
  "gene_symbol": "BRCA1",
  "reference_genome": "GRCh38"
}

3. get_variant

Get detailed information about a specific variant.

Parameters:

  • variant_id (required): Variant ID in format: chr-pos-ref-alt (e

Available Tools

9 tools
get_coverageC

Get coverage information for a gene

ParametersJSON Schema
NameRequiredDescriptionDefault
gene_idNoEnsembl gene ID
gene_symbolNoGene symbol
datasetNoDataset IDgnomad_r4
reference_genomeNoReference genomeGRCh38

TDQS

C2.6/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full burden of behavioral disclosure. It only states what the tool does ('Get coverage information'), without detailing what 'coverage information' entails (e.g., metrics, formats), whether it's a read-only query, any rate limits, authentication needs, or error handling. This is inadequate for a tool with no annotation coverage.

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

Conciseness4/5

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

The description is a single, efficient sentence that gets straight to the point without unnecessary words. It's appropriately sized for a simple query tool, though it could be more informative. There's no fluff or redundancy, making it easy to parse.

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

Completeness2/5

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

Given the tool's complexity (4 parameters, no annotations, no output schema), the description is incomplete. It doesn't explain what 'coverage information' means in this context, how results are returned, or any prerequisites. For a tool in a genomics server with multiple siblings, more context is needed to guide effective use.

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%, with all parameters documented in the schema (e.g., 'Ensembl gene ID' for gene_id). The description adds no parameter-specific information beyond the schema, not even clarifying if parameters are optional or how they interact (e.g., using gene_id vs. gene_symbol). Baseline 3 is appropriate as the schema handles the heavy lifting.

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

Purpose3/5

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

The description states the tool's purpose as 'Get coverage information for a gene', which is clear but vague. It specifies the resource (coverage information) and target (a gene), but doesn't distinguish it from siblings like 'get_gene' or 'get_variants_in_gene' in terms of what type of information it returns. The verb 'Get' is generic but functional.

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

Usage Guidelines2/5

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

The description provides no guidance on when to use this tool versus alternatives. With siblings like 'get_gene', 'get_variants_in_gene', and 'search', there's no indication of what makes 'get_coverage' distinct or appropriate for coverage-specific queries versus broader gene data. This leaves the agent to infer usage from the name alone.

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

get_geneC

Get detailed information about a gene including constraint scores

ParametersJSON Schema
NameRequiredDescriptionDefault
gene_idNoEnsembl gene ID (e.g., ENSG00000141510)
gene_symbolNoGene symbol (e.g., TP53)
reference_genomeNoReference genome (GRCh37 or GRCh38)GRCh38

TDQS

C2.9/5.0
Behavior2/5

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

No annotations are provided, so the description carries full burden for behavioral disclosure. It mentions 'detailed information' and 'constraint scores' but doesn't specify what other details are included, response format, error conditions, or any operational constraints like rate limits or authentication needs.

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

Conciseness5/5

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

The description is a single, efficient sentence with zero waste. It's front-loaded with the core purpose and includes a specific data element ('constraint scores') that adds value without unnecessary elaboration.

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

Completeness2/5

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

Given no annotations and no output schema, the description is incomplete for a tool that returns 'detailed information'. It doesn't specify what details beyond constraint scores are included, the response structure, or how to handle the optional parameters, leaving significant gaps for an AI agent.

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 fully documents all three parameters. The description adds no parameter-specific information beyond implying gene identification is needed, which is already clear from the schema. Baseline 3 is appropriate when the schema does the heavy lifting.

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 clearly states the tool's purpose with a specific verb ('Get') and resource ('detailed information about a gene'), including a key data element ('constraint scores'). It distinguishes from siblings like 'get_variant' or 'get_transcript' by focusing on gene-level information, though it doesn't explicitly name these alternatives.

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

Usage Guidelines2/5

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

The description provides no guidance on when to use this tool versus alternatives. With siblings like 'get_variants_in_gene' or 'search' available, there's no indication of when gene-level details are preferred over variant-level or search-based approaches, leaving usage context unclear.

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

get_mitochondrial_variantsC

Get mitochondrial variants

ParametersJSON Schema
NameRequiredDescriptionDefault
datasetNoDataset IDgnomad_r3

TDQS

C2.1/5.0
Behavior1/5

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

No annotations are provided, so the description carries the full burden of behavioral disclosure. However, it only states 'Get mitochondrial variants', which doesn't reveal any behavioral traits such as whether this is a read-only operation, potential side effects, authentication needs, rate limits, or what the return format might be. This leaves the agent with insufficient information to understand how the tool behaves.

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 extremely concise with just three words, 'Get mitochondrial variants', which is front-loaded and wastes no space. Every word earns its place by conveying the core action and target, though it lacks depth. This minimalism is efficient but comes at the cost of completeness.

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

Completeness2/5

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

Given the complexity of retrieving genetic variants, the absence of annotations and output schema, and the presence of sibling tools, the description is incomplete. It doesn't explain what 'mitochondrial variants' entails, how results are returned, or differentiate from other variant tools. For a tool with no structured support and potential nuances in genomics, more context is needed to be fully helpful.

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?

The input schema has 1 parameter with 100% description coverage ('Dataset ID'), so the schema already documents it adequately. The description doesn't add any meaning beyond what the schema provides, as it mentions no parameters. Given the high schema coverage, a baseline score of 3 is appropriate, as the description doesn't need to compensate but also doesn't enhance parameter understanding.

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

Purpose2/5

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

The description 'Get mitochondrial variants' is essentially a tautology that restates the tool name with minimal elaboration. While it indicates the tool retrieves mitochondrial variants, it lacks specificity about what kind of variants or what 'get' entails (e.g., list, fetch, query). It doesn't distinguish this tool from sibling tools like 'get_variant' or 'get_structural_variants' in terms of scope or target.

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

Usage Guidelines1/5

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

The description provides no guidance on when to use this tool versus alternatives. There are multiple sibling tools for retrieving variants (e.g., 'get_variant', 'get_variants_in_gene', 'get_structural_variants'), but the description doesn't clarify that this tool is specifically for mitochondrial variants or suggest any context or prerequisites for its use.

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

get_region_variantsC

Get variants in a specific genomic region

ParametersJSON Schema
NameRequiredDescriptionDefault
chromYesChromosome (1-22, X, Y)
startYesStart position
stopYesStop position
datasetNoDataset IDgnomad_r4
reference_genomeNoReference genomeGRCh38

TDQS

C2.9/5.0
Behavior2/5

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

With no annotations provided, the description carries full burden for behavioral disclosure. It states what the tool does but doesn't describe how it behaves: no information about return format (list of variants? structured data?), pagination, rate limits, authentication requirements, or error conditions. For a query tool with 5 parameters, this leaves significant behavioral gaps.

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

Conciseness5/5

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

The description is a single, efficient sentence that gets straight to the point with zero wasted words. It's appropriately sized for a tool with clear parameters documented in the schema, and the information is front-loaded effectively.

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

Completeness2/5

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

For a genomic query tool with 5 parameters, no annotations, and no output schema, the description is insufficiently complete. It doesn't explain what 'variants' means in this context, what data is returned, or how results are structured. The agent would need to guess about the tool's behavior and output format based solely on the parameter schema.

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 all 5 parameters thoroughly. The description adds no parameter-specific information beyond what's in the schema - it doesn't explain relationships between parameters (e.g., that start/stop define the region boundaries) or provide additional context about parameter usage.

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 clearly states the verb ('Get') and resource ('variants in a specific genomic region'), making the purpose immediately understandable. However, it doesn't distinguish this tool from sibling tools like 'get_variants_in_gene' or 'get_variant', which could cause confusion about when to use each specific variant-fetching tool.

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

Usage Guidelines2/5

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

The description provides no guidance on when to use this tool versus alternatives like 'get_variants_in_gene' or 'get_variant'. It doesn't specify whether this is for region-based queries versus gene-based queries, nor does it mention any prerequisites or exclusions for usage.

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

get_structural_variantsC

Get structural variants in a genomic region

ParametersJSON Schema
NameRequiredDescriptionDefault
chromYesChromosome
startYesStart position
stopYesStop position
datasetNoDataset ID (gnomad_sv_r4, gnomad_sv_r2_1)gnomad_sv_r4
reference_genomeNoReference genomeGRCh38

TDQS

C2.9/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full burden of behavioral disclosure. It states the tool retrieves data but doesn't describe key behaviors like whether it's read-only, potential rate limits, authentication needs, or what the output format looks like (e.g., list of variants, JSON structure). This leaves significant gaps for an agent to understand how to use it effectively.

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

Conciseness5/5

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

The description is a single, clear sentence that directly states the tool's purpose without unnecessary words. It's front-loaded and efficiently conveys the core function, making it easy for an agent to parse quickly.

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

Completeness2/5

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

Given the complexity of genomic data retrieval, no annotations, and no output schema, the description is incomplete. It doesn't explain what structural variants are, how results are returned, or any limitations (e.g., region size constraints). For a tool with 5 parameters and no structured output info, more context is needed to guide proper usage.

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 fully documents all parameters (chrom, start, stop, dataset, reference_genome). The description adds no additional meaning beyond implying a genomic region context, which is already clear from the schema. This meets the baseline for high schema coverage.

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 clearly states the action ('Get') and resource ('structural variants in a genomic region'), making the purpose understandable. However, it doesn't differentiate from sibling tools like 'get_region_variants' or 'get_variants_in_gene', which might retrieve similar data, so it's not fully specific for sibling distinction.

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

Usage Guidelines2/5

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

The description provides no guidance on when to use this tool versus alternatives. It doesn't mention sibling tools or contexts where this tool is preferred, such as for structural variants versus other variant types, leaving the agent to infer usage based on the name alone.

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

get_transcriptC

Get information about a specific transcript

ParametersJSON Schema
NameRequiredDescriptionDefault
transcript_idYesEnsembl transcript ID (e.g., ENST00000269305)
reference_genomeNoReference genomeGRCh38

TDQS

C2.6/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full burden of behavioral disclosure. It states the tool retrieves information, implying a read-only operation, but does not specify permissions, rate limits, error conditions, or output format. This leaves significant gaps in understanding how the tool behaves beyond basic functionality.

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

Conciseness4/5

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

The description is a single, efficient sentence ('Get information about a specific transcript') that is front-loaded and wastes no words. However, it is overly concise, bordering on under-specified, which slightly reduces its effectiveness despite the clean structure.

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

Completeness2/5

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

Given the tool's complexity (retrieving transcript information), lack of annotations, and no output schema, the description is incomplete. It does not explain what information is returned, error handling, or behavioral traits, making it inadequate for an agent to fully understand the tool's context and usage.

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 fully documents both parameters ('transcript_id' and 'reference_genome'). The description adds no additional meaning beyond what the schema provides, such as examples or constraints, resulting in a baseline score of 3 as the schema handles parameter documentation adequately.

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

Purpose3/5

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

The description states the tool's purpose ('Get information about a specific transcript'), which is clear but vague. It specifies the verb ('Get') and resource ('transcript'), but does not distinguish what type of information is retrieved or how it differs from sibling tools like 'get_gene' or 'get_variant', leaving the scope ambiguous.

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

Usage Guidelines2/5

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

The description provides no guidance on when to use this tool versus alternatives. It does not mention prerequisites, exclusions, or compare to siblings such as 'get_gene' or 'get_variants_in_gene', leaving the agent to infer usage context without explicit direction.

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

get_variantC

Get detailed information about a specific variant

ParametersJSON Schema
NameRequiredDescriptionDefault
variant_idYesVariant ID in format: chr-pos-ref-alt (e.g., 1-55516888-G-A)
datasetNoDataset ID (gnomad_r4, gnomad_r3, gnomad_r2_1, etc.)gnomad_r4

TDQS

C2.9/5.0
Behavior2/5

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

With no annotations provided, the description carries the full burden of behavioral disclosure. It mentions retrieving 'detailed information' but does not specify what that includes (e.g., annotations, frequencies, consequences), whether it's a read-only operation, potential errors (e.g., invalid ID), or performance aspects like rate limits. This leaves significant gaps in understanding the tool's behavior.

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

Conciseness5/5

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

The description is a single, front-loaded sentence that directly states the tool's purpose without unnecessary words. It is efficiently structured, making it easy to parse and understand quickly, with no wasted information.

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

Completeness2/5

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

Given the tool's complexity (fetching detailed variant data), lack of annotations, and no output schema, the description is insufficient. It does not explain what 'detailed information' entails, potential use cases, or how results are structured, leaving the agent with incomplete context for effective tool invocation.

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?

The input schema has 100% description coverage, clearly documenting both parameters (variant_id and dataset) with formats and defaults. The description adds no additional semantic context beyond implying the tool fetches details for a 'specific variant', which aligns with the schema but does not enhance parameter understanding. This meets the baseline for high schema coverage.

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 clearly states the verb 'Get' and the resource 'detailed information about a specific variant', making the purpose immediately understandable. However, it does not explicitly differentiate this tool from sibling tools like 'get_variants_in_gene' or 'get_region_variants', which might also retrieve variant information but with different scopes or filters.

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

Usage Guidelines2/5

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

The description provides no guidance on when to use this tool versus alternatives. It lacks context such as prerequisites (e.g., needing a specific variant ID format), exclusions (e.g., not for bulk queries), or comparisons to sibling tools like 'get_variants_in_gene' for gene-based queries or 'search' for broader searches.

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

get_variants_in_geneC

Get all variants in a specific gene

ParametersJSON Schema
NameRequiredDescriptionDefault
gene_idNoEnsembl gene ID
gene_symbolNoGene symbol
datasetNoDataset IDgnomad_r4
reference_genomeNoReference genomeGRCh38

TDQS

C2.9/5.0
Behavior2/5

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

With no annotations provided, the description carries the full burden of behavioral disclosure. It states what the tool does but doesn't cover critical aspects like whether this is a read-only operation, potential rate limits, authentication needs, or what 'all variants' entails (e.g., pagination, format). For a tool with zero annotation coverage, this is a significant gap.

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

Conciseness5/5

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

The description is a single, efficient sentence with zero waste, front-loaded with the core purpose. It's appropriately sized for a simple tool, making every word count without unnecessary elaboration.

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

Completeness2/5

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

Given the complexity (4 parameters, no output schema, no annotations), the description is incomplete. It doesn't explain what 'variants' are, the return format, or how to handle the gene_id vs. gene_symbol parameters. With no output schema and minimal behavioral context, it leaves too many gaps for effective use.

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?

The description adds no parameter semantics beyond what the input schema provides, which has 100% coverage with clear descriptions for all 4 parameters. Since schema_description_coverage is high (>80%), the baseline is 3, as the schema does the heavy lifting without additional value from the description.

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 clearly states the action ('Get all variants') and target resource ('in a specific gene'), providing a specific verb+resource combination. However, it doesn't differentiate from sibling tools like 'get_region_variants' or 'get_variant', which could also retrieve variant data, so it doesn't reach the highest score.

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

Usage Guidelines2/5

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

The description provides no guidance on when to use this tool versus alternatives like 'get_region_variants' or 'get_variant'. It lacks explicit context, exclusions, or prerequisites, offering only a basic statement of function without usage direction.

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. 9 tool updates
    • First observedget_coverage
    • First observedget_gene
    • First observedget_mitochondrial_variants
    • First observedget_region_variants
    • First observedget_structural_variants
    • First observedget_transcript
    • First observedget_variant
    • First observedget_variants_in_gene
    • First observedsearch

TDQS

B3.1/5.0
Disambiguation4/5

Most tools have distinct purposes targeting specific genomic entities (e.g., genes, variants, regions), but some overlap exists between 'get_variants_in_gene' and 'get_region_variants' which could cause confusion when querying gene regions. The descriptions help clarify, but the boundaries aren't perfectly clear.

Naming Consistency5/5

All tool names follow a consistent 'verb_noun' pattern with 'get_' or 'search' prefixes, using snake_case uniformly. This predictability makes it easy for agents to understand and select tools without naming confusion.

Tool Count5/5

With 9 tools, this server is well-scoped for querying genomic data from gnomAD. Each tool serves a specific purpose (e.g., coverage, genes, variants), and the count aligns with the domain's complexity without being overwhelming or insufficient.

Completeness4/5

The toolset covers core query operations for genes, variants, transcripts, and regions, with a general search function. Minor gaps exist, such as no explicit tools for filtering or aggregating results, but agents can work around this using the provided tools for most workflows.

Maintenance

ActivityInactive
ResponsivenessNo issues

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    B
    maintenance
    Enables AI assistants to interact with the Open Targets Platform API to search and retrieve comprehensive data about target-disease associations, drugs, genes, and drug discovery information through GraphQL queries.
    37
    Apache 2.0
  • A
    license
    B
    quality
    D
    maintenance
    Provides a programmatic interface to the Genome Aggregation Database (gnomAD) API across versions v2.1.1, v3.1.2, and v4.1.0. It enables users to query gene metadata, variant information, population frequencies, and ClinVar data through a unified schema.
    12
    6
    Apache 2.0
  • A
    license
    C
    quality
    D
    maintenance
    Enables AI assistants to query gene annotations, expression, pathways, variants, and more via the MyGene.info API, supporting batch operations and multiple biological data sources.
    26
    MIT

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/shukwong/gnomad-mcp-server'

If you have feedback or need assistance with the MCP directory API, please join our Discord server