gnomAD MCP Server
Provides access to the gnomAD (Genome Aggregation Database) GraphQL API for querying genetic variant data, gene constraints, population genetics information, and genomic coverage statistics.
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@gnomAD MCP Serverget gene constraint scores for BRCA1"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
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 buildConfiguration
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-serverAvailable 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 toolsget_coverageC
Get coverage information for a gene
| Name | Required | Description | Default |
|---|---|---|---|
| gene_id | No | Ensembl gene ID | |
| gene_symbol | No | Gene symbol | |
| dataset | No | Dataset ID | gnomad_r4 |
| reference_genome | No | Reference genome | GRCh38 |
TDQS
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.
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.
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.
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.
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.
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
| Name | Required | Description | Default |
|---|---|---|---|
| gene_id | No | Ensembl gene ID (e.g., ENSG00000141510) | |
| gene_symbol | No | Gene symbol (e.g., TP53) | |
| reference_genome | No | Reference genome (GRCh37 or GRCh38) | GRCh38 |
TDQS
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.
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.
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.
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.
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.
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
| Name | Required | Description | Default |
|---|---|---|---|
| dataset | No | Dataset ID | gnomad_r3 |
TDQS
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.
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.
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.
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.
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.
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
| Name | Required | Description | Default |
|---|---|---|---|
| chrom | Yes | Chromosome (1-22, X, Y) | |
| start | Yes | Start position | |
| stop | Yes | Stop position | |
| dataset | No | Dataset ID | gnomad_r4 |
| reference_genome | No | Reference genome | GRCh38 |
TDQS
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.
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.
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.
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.
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.
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
| Name | Required | Description | Default |
|---|---|---|---|
| chrom | Yes | Chromosome | |
| start | Yes | Start position | |
| stop | Yes | Stop position | |
| dataset | No | Dataset ID (gnomad_sv_r4, gnomad_sv_r2_1) | gnomad_sv_r4 |
| reference_genome | No | Reference genome | GRCh38 |
TDQS
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.
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.
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.
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.
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.
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
| Name | Required | Description | Default |
|---|---|---|---|
| transcript_id | Yes | Ensembl transcript ID (e.g., ENST00000269305) | |
| reference_genome | No | Reference genome | GRCh38 |
TDQS
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.
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.
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.
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.
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.
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
| Name | Required | Description | Default |
|---|---|---|---|
| variant_id | Yes | Variant ID in format: chr-pos-ref-alt (e.g., 1-55516888-G-A) | |
| dataset | No | Dataset ID (gnomad_r4, gnomad_r3, gnomad_r2_1, etc.) | gnomad_r4 |
TDQS
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.
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.
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.
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.
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.
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
| Name | Required | Description | Default |
|---|---|---|---|
| gene_id | No | Ensembl gene ID | |
| gene_symbol | No | Gene symbol | |
| dataset | No | Dataset ID | gnomad_r4 |
| reference_genome | No | Reference genome | GRCh38 |
TDQS
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.
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.
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.
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.
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.
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.
searchC
Search for genes, variants, or regions in gnomAD
| Name | Required | Description | Default |
|---|---|---|---|
| query | Yes | Search query (gene symbol, gene ID, variant ID, rsID, etc.) | |
| reference_genome | No | Reference genome (GRCh37 or GRCh38) | GRCh38 |
| dataset | No | Dataset ID (gnomad_r4, gnomad_r3, gnomad_r2_1, etc.) | gnomad_r4 |
TDQS
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 searches but doesn't describe what the search returns (e.g., list of matches, details), how results are formatted, any limitations (e.g., pagination, rate limits), or authentication needs. This leaves significant gaps for an agent to understand 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, efficient sentence that directly states the tool's purpose without any wasted words. It's front-loaded and appropriately sized for a search tool, 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.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the complexity of a search tool with no annotations and no output schema, the description is insufficient. It doesn't explain what the search returns, how results are structured, or any behavioral traits like error handling or performance. This leaves the agent with incomplete context for effective use.
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 fully documents all three parameters. The description adds no additional meaning beyond what's in the schema, such as examples of query formats or dataset differences. The baseline score of 3 reflects adequate coverage by the schema alone.
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 action ('Search for') and the target resources ('genes, variants, or regions in gnomAD'), which is specific and unambiguous. However, it doesn't explicitly differentiate from sibling tools like 'get_gene' or 'get_variant', which appear to fetch specific items rather than perform broad searches.
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 no guidance on when to use this tool versus alternatives. It doesn't mention sibling tools or contexts where other tools might be more appropriate, such as using 'get_gene' for known gene symbols or 'get_variant' for specific variant IDs.
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.
9 tool updates
- First observed
get_coverage - First observed
get_gene - First observed
get_mitochondrial_variants - First observed
get_region_variants - First observed
get_structural_variants - First observed
get_transcript - First observed
get_variant - First observed
get_variants_in_gene - First observed
search
TDQS
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.
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.
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.
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
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
Broad Institute gnomAD genomic variant database (GraphQL)
Look up allele frequencies by ancestry, gene constraint, variants, and coverage over gnomAD.
Connect AI clients to biomedical data and tools.
Provide detailed Pokรฉmon data and information through a standardized MCP interface. Enable LLMs anโฆ
Related MCP Servers
- FlicenseBqualityDmaintenanceEnables AI assistants to query and analyze genomics data from the GTEx Portal through 25 specialized tools for gene expression analysis, eQTL/sQTL associations, and genetic variant lookups across 54 human tissue types.253-
- AlicenseNot gradedqualityBmaintenanceEnables 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.37Apache 2.0
- AlicenseBqualityDmaintenanceProvides 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.126Apache 2.0
- AlicenseCqualityDmaintenanceEnables AI assistants to query gene annotations, expression, pathways, variants, and more via the MyGene.info API, supporting batch operations and multiple biological data sources.26MIT
Appeared in Searches
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
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