gwas-mcp
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., "@gwas-mcpGet information about the BRCA1 gene"
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.
๐งฌ GWAS-MCP: Bioinformatics MCP Server
A powerful Model Context Protocol (MCP) server for GWAS and bioinformatics research. Seamlessly integrates with Claude Desktop and other MCP clients to provide AI-powered access to major biological databases.
โจ Features
๐ฌ Protein & Gene Lookup
UniProt - Search proteins by name, gene, or ID
Ensembl - Gene information and variant details
NCBI Gene - Comprehensive gene database
๐งช Clinical & Variants
ClinVar - Clinical variant interpretations (pathogenic/benign)
GWAS Catalog - Genome-wide association studies
GTEx - Expression quantitative trait loci (eQTL)
๐ Protein Interactions & Networks
STRING - Protein-protein interactions
InterPro - Protein domains and families
๐๏ธ Structures & Pathways
AlphaFold - AI-predicted protein structures
PDB - Experimental 3D structures
KEGG - Metabolic and signaling pathways
๐ Drug Discovery
Open Targets - Drug target validation & disease associations
PharmGKB - Pharmacogenomics & drug-gene interactions
๐ฅ Genetic Diseases
OMIM - Online Mendelian Inheritance in Man
Related MCP server: GenomeMCP
๐ Quick Start
Installation
pip install gwas-mcpClaude Desktop Configuration
Add to your claude_desktop_config.json:
{
"mcpServers": {
"gwas-bioinformatics": {
"command": "python",
"args": ["-m", "gwas_mcp.server"]
}
}
}Config file location:
Windows:
%APPDATA%\Claude\claude_desktop_config.jsonmacOS:
~/Library/Application Support/Claude/claude_desktop_config.jsonLinux:
~/.config/Claude/claude_desktop_config.json
Restart Claude Desktop
After adding the configuration, restart Claude Desktop to load the MCP server.
๐ ๏ธ Available Tools
Protein & Gene Tools
Tool | Description |
| Search UniProt by protein name, gene, or ID |
| Get detailed protein info (function, domains, GO terms) |
| Search NCBI Gene database |
| Get gene location and details from Ensembl |
| Get SNP/variant info by rsID |
| Get protein domain information |
Clinical & Variant Tools
Tool | Description |
| Search ClinVar for clinical variants |
| Get clinical interpretation for a variant |
| Annotate SNPs with functional consequences |
| Query GWAS Catalog for associations |
| Get eQTL data from GTEx |
Protein Interaction Tools
Tool | Description |
| Find interacting proteins (STRING) |
| Get network between multiple proteins |
| Pathway/GO enrichment analysis |
Structure & Pathway Tools
Tool | Description |
| Get AI-predicted structure |
| Search AlphaFold database |
| Search PDB for 3D structures |
| Get PDB structure details |
| Search KEGG pathways |
| Get pathway genes and details |
| Find pathways for a gene |
Drug Discovery Tools
Tool | Description |
| Find drugs targeting a gene (Open Targets) |
| Get disease associations with scores |
| Search genes, diseases, or drugs |
| Search PharmGKB database |
| Get drug-gene interactions |
Genetic Disease Tools
Tool | Description |
| Search OMIM for genetic diseases |
| Get all diseases for a gene |
๐ฌ Example Prompts
Once configured, ask Claude naturally:
Protein & Gene Queries
"Get information about the BRCA1 gene"
"Search UniProt for hemoglobin"
"What protein has UniProt ID P53_HUMAN?"
Clinical Variants
"Is the BRCA1 variant rs80357906 pathogenic?"
"Search ClinVar for TP53 variants"
Protein Interactions
"What proteins interact with TP53?"
"Find functional enrichment for BRCA1, ATM, and CHEK2"
Structures & Pathways
"Get the AlphaFold structure for TP53"
"What pathways is BRCA1 involved in?"
"Search PDB for insulin structures"
Drug Discovery
"What drugs target EGFR?"
"What diseases is BRAF associated with?"
Genetic Diseases
"Search OMIM for cystic fibrosis"
"What diseases are linked to the CFTR gene?"
โก Performance Features
Smart Caching - API responses cached for 1 hour to improve speed
Async Operations - All API calls are non-blocking
Error Handling - Graceful handling of API failures
๐ง Development
From Source
# Clone the repository
git clone https://github.com/zaeyasa/gwas-mcp.git
cd gwas-mcp
# Install dependencies
pip install -e .
# Run the server
python -m gwas_mcp.serverProject Structure
gwas-mcp/
โโโ src/
โ โโโ gwas_mcp/
โ โโโ server.py # Main MCP server
โ โโโ tools/
โ โ โโโ protein_tools.py # UniProt, NCBI, Ensembl
โ โ โโโ clinical_tools.py # ClinVar, STRING
โ โ โโโ structure_tools.py # PDB, KEGG, PharmGKB
โ โ โโโ advanced_tools.py # AlphaFold, Open Targets, OMIM
โ โโโ resources/
โ โโโ db_resources.py # Database resources
โโโ pyproject.toml
โโโ README.md
โโโ LICENSE๐ Supported Databases
Database | Type | Description |
Protein | Protein sequences and annotations | |
Gene/Variant | Genome browser and variant data | |
Gene | Gene information database | |
Clinical | Clinical variant interpretations | |
GWAS | Genome-wide association studies | |
Expression | Expression QTL data | |
Interactions | Protein-protein interactions | |
Domains | Protein families and domains | |
Structure | AI-predicted structures | |
Structure | Experimental 3D structures | |
Pathways | Metabolic and signaling pathways | |
Drug Discovery | Drug targets and disease associations | |
Pharmacogenomics | Drug-gene interactions | |
Diseases | Genetic disease database |
๐ค Contributing
Contributions are welcome! Please feel free to submit a Pull Request.
Fork the repository
Create your feature branch (
git checkout -b feature/amazing-feature)Commit your changes (
git commit -m 'Add amazing feature')Push to the branch (
git push origin feature/amazing-feature)Open a Pull Request
๐ License
This project is licensed under the MIT License - see the LICENSE file for details.
๐ Acknowledgments
Model Context Protocol - The MCP specification
Anthropic - Claude AI and MCP development
All the amazing bioinformatics databases that make this possible
๐ฌ Contact
GitHub: @zaeyasa
Available Tools
44 toolsannotate_snpsA
Annotate SNPs with gene names, functional consequences, and allele frequencies from Ensembl VEP and gnomAD.
| Name | Required | Description | Default |
|---|---|---|---|
| rsids | Yes | List of rsIDs to annotate (e.g., ['rs12345', 'rs67890']) | |
| include_frequencies | No | Include population allele frequencies (default: true) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, so the description carries full burden. It doesn't disclose behavioral traits like rate limits, data freshness, network dependencies, or error recovery, leaving an agent underinformed.
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?
Single sentence that immediately conveys action, resource, and added value. No extraneous information; efficiently structured and 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?
Adequate for a moderate tool with two parameters, but lacks details about output format, batch processing limits, or expected response times. Could be improved to fully inform the 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 coverage is 100% with clear parameter descriptions. The tool description adds no additional parameter-level meaning beyond what's already in the schema, resulting in a baseline score.
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 it annotates SNPs with gene names, consequences, and allele frequencies from specific sources (Ensembl VEP, gnomAD), effectively distinguishing it from siblings like get_variant_info or search_clinvar.
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 lacks explicit when-to-use or when-not-to-use guidance. Usage is implied for annotating rsIDs, but no comparison with alternatives or context on batch size limits.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
calculate_genomic_inflationA
Calculate genomic inflation factor (lambda GC) from GWAS summary statistics. Used to assess population stratification.
| Name | Required | Description | Default |
|---|---|---|---|
| sumstats_path | Yes | Path to GWAS summary statistics file | |
| pvalue_column | No | Name of p-value column (default: P) | P |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must fully disclose behavioral traits. It only states 'calculate' (implying a read-only computation) but does not describe file format requirements, missing data handling, error conditions, or whether any files are modified. For a tool with no annotations, this is insufficient.
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 long, both directly informative. There is no redundant or extraneous information. It front-loads the core purpose and follows with the context.
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 moderate complexity (2 parameters, no output schema), the description should at least mention the return value (e.g., lambda GC value and possibly a plot or table). It does not explain the output format or any prerequisites like file formatting. Some gaps remain.
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 schema already describes the parameters adequately. The description adds the context of GWAS summary statistics and stratification but does not provide additional meaning for individual parameters beyond the schema defaults. Baseline 3 is appropriate.
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 calculates the genomic inflation factor (lambda GC) from GWAS summary statistics, with a specific purpose of assessing population stratification. It uses a specific verb and resource, and it is distinct from sibling tools like calculate_heritability_ldsc or run_gwas.
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 context by indicating it is used for population stratification assessment, but it does not explicitly state when to use this tool versus alternatives (e.g., for lambda GC vs. LD score regression). No exclusions or when-not guidance is given.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
calculate_heritability_ldscB
Estimate SNP-heritability using LD Score regression. Requires GWAS summary statistics and LD scores.
| Name | Required | Description | Default |
|---|---|---|---|
| sumstats_path | Yes | Path to GWAS summary statistics | |
| ld_scores_path | No | Path to LD scores file | |
| sample_size | No | GWAS sample size (required if not in sumstats) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries full burden. It does not disclose behavioral traits like computational cost, side effects, or what the output contains (e.g., heritability estimate, standard error). This is a significant gap for a regression tool.
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 purpose is front-loaded in the first sentence, making it efficient and 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 (statistical method with dependencies) and no output schema, the description lacks critical context such as what the output is, default behaviors, or how to handle optional parameters like sample_size. This leaves the agent under-informed.
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 schema already describes each parameter. The description adds no extra semantics beyond what the schema provides, meeting the baseline but not adding value.
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 'Estimate', the resource 'SNP-heritability', and the specific method 'LD Score regression'. It distinguishes itself from sibling tools like calculate_genomic_inflation or calculate_prs by specifying the technique.
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 notes required inputs ('Requires GWAS summary statistics and LD scores'), which gives a prerequisite but no explicit guidance on when to use this tool versus alternatives, such as when to prefer other heritability estimation methods.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
calculate_missingnessB
Calculate per-individual and per-variant missingness rates from genotype data.
| Name | Required | Description | Default |
|---|---|---|---|
| plink_prefix | Yes | Path prefix for PLINK files | |
| output_path | No | Optional path to save missingness report |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided; description does not disclose side effects, output destination, or whether this is a read-only operation. Minimal behavioral info beyond purpose.
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?
Single sentence, efficient and front-loaded. Could add more context without being verbose, but no wasted words.
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?
No output schema; description does not clarify what the user gets as output (file, stdout, etc.). Does not specify if output_path is required for results.
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 provides 100% coverage for both parameters; description adds no additional meaning or format details beyond 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?
Description clearly states the tool calculates missingness rates per individual and per variant from genotype data, using specific verbs and resource. It distinguishes from sibling tools which are mostly about annotation and GWAS.
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?
No guidance on when to use this tool versus alternatives like vcf_quality_check. No prerequisites or conditions for use mentioned.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
calculate_pcaA
Perform Principal Component Analysis for population stratification. Uses PLINK files as input.
| Name | Required | Description | Default |
|---|---|---|---|
| plink_prefix | Yes | Path prefix for PLINK files (without .bed/.bim/.fam extension) | |
| n_components | No | Number of principal components to compute (default: 10) | |
| output_path | No | Optional path to save PCA results |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries full burden but only states input type and optional output path. It does not disclose output format, computational demands, or side effects, leaving 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?
Two concise, front-loaded sentences with no redundant information. Every word provides value.
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 simple computation tool with fully documented parameters, the description is adequate but lacks details on output values and behavioral notes. Could be more complete given the absence of output 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?
Input schema covers 100% of parameters with descriptions, so baseline is 3. The description adds minimal additional meaning beyond reiterating PLINK files and PCA context.
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 performs Principal Component Analysis for population stratification using PLINK files. It distinguishes from sibling tools like 'create_pca_plot' (plotting) and 'run_gwas' (association analysis).
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 implies when to use (PCA for stratification) and specifies input format, but lacks explicit guidance on when not to use or comparison to alternatives like 'create_pca_plot'.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
calculate_prsB
Calculate Polygenic Risk Scores (PRS) for individuals using GWAS summary statistics and target genotypes.
| Name | Required | Description | Default |
|---|---|---|---|
| sumstats_path | Yes | Path to GWAS summary statistics (base data) | |
| target_plink_prefix | Yes | Path prefix for target PLINK files | |
| pvalue_threshold | No | P-value threshold for SNP inclusion (default: 1.0 - all SNPs) | |
| clump_r2 | No | LD rยฒ threshold for clumping (default: 0.1) | |
| output_path | No | Path to save PRS results |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, and the description fails to disclose behavioral traits such as computational cost, required file formats, external dependencies, or potential side effects. The description only repeats the tool's purpose.
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?
A single sentence with no extra words, but lacks structural elements like sections or bullet points. It is efficient but minimally informative.
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 tool with 5 parameters and no output schema, the description omits critical context such as output format, method details (e.g., clumping and thresholding), and error handling. The agent may need additional information to use 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 coverage is 100%, so baseline is 3. The description adds no additional meaning beyond parameter names and schema descriptions. It does not explain parameter interactions or default behavior.
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 specific action ('Calculate') and resource ('Polygenic Risk Scores') and specifies inputs (GWAS summary statistics and target genotypes). It distinguishes from sibling tools like 'run_gwas' or 'annotate_snps'.
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?
No guidance on when to use this tool versus alternatives. The description does not mention prerequisites, context, or exclusions, leaving the agent without decision support.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
clump_snpsC
Perform LD-based clumping of GWAS results to identify independent significant signals.
| Name | Required | Description | Default |
|---|---|---|---|
| sumstats_path | Yes | Path to GWAS summary statistics | |
| plink_prefix | No | Path prefix for PLINK files (LD reference) | |
| p1 | No | P-value threshold for index SNPs (default: 5e-8) | |
| p2 | No | P-value threshold for clumped SNPs (default: 1e-4) | |
| r2 | No | LD rยฒ threshold (default: 0.5) | |
| kb | No | Clumping window in kb (default: 250) | |
| output_path | No | Path to save clumped results |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries full burden but only gives a high-level purpose. Missing behavioral traits such as whether it mutates data, performance considerations, or error conditions that would help an agent anticipate outcomes.
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 concise sentence with no fluff. While it could be more informative, it is efficiently front-loaded and avoids redundancy.
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 has 7 parameters and no output schema, the description is insufficient. It omits the output format, required file structure, and typical usage context, leaving an agent with significant information gaps.
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% with clear parameter descriptions. The tool description adds no additional meaning beyond the schema, so it meets the baseline of adequate but does not enhance 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 clearly states the tool performs LD-based clumping of GWAS results to identify independent significant signals, using specific verb and resource. However, it does not differentiate from sibling tool 'ld_pruning' which performs a similar but distinct operation.
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?
No guidance is provided on when to use this tool versus alternatives like 'ld_pruning' or 'identify_significant_snps'. The description lacks context on prerequisites or exclusions, leaving 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.
create_manhattan_plotB
Create a Manhattan plot from GWAS summary statistics. Shows -log10(p-value) across chromosomes.
| Name | Required | Description | Default |
|---|---|---|---|
| sumstats_path | Yes | Path to GWAS summary statistics file | |
| significance_threshold | No | Genome-wide significance threshold (default: 5e-8) | |
| suggestive_threshold | No | Suggestive significance threshold (default: 1e-5) | |
| output_path | No | Path to save the plot (PNG format) | |
| title | No | Plot title | Manhattan Plot |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, so the description must fully disclose behavior. It only mentions creating a plot but lacks details on file output (overwriting, format), required summary statistics format, or any side effects.
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?
Two concise sentences with no extraneous words. Core purpose 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?
Adequate for a basic plot tool, but missing details like required columns in the sumstats file, plot customization aspects, and output behavior. No output schema, so description should compensate more.
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?
All 5 parameters have descriptions in the schema (100% coverage), so baseline is 3. The description adds minimal context (GWAS data, -log10 transformation) but does not repeat schema fields.
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?
Clearly states the verb 'Create', the resource 'Manhattan plot', and the context 'from GWAS summary statistics'. Distinguishes from sibling plotting tools like create_qq_plot or create_regional_plot.
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?
No guidance on when to use this tool versus alternatives such as Q-Q plot or regional plot. Does not specify prerequisites or use cases.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
create_pca_plotB
Create a PCA scatter plot showing population structure. Plots PC1 vs PC2.
| Name | Required | Description | Default |
|---|---|---|---|
| pca_results_path | Yes | Path to PCA results file (with PC1, PC2 columns) | |
| population_labels_path | No | Optional path to population labels file | |
| output_path | No | Path to save the plot | |
| title | No | Plot title | PCA Plot |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must disclose behavioral traits. It only states what the tool creates but does not describe edge cases, required file formats, error conditions, or side effects like overwriting output files.
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: two short sentences with no wasted words. The first sentence front-loads the core purpose.
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 simple plotting tool with no output schema, the description covers the basic operation but lacks details on file format requirements, optional input usage, and error handling. It is minimally adequate.
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?
Input schema has 100% coverage with descriptions for all 4 parameters. The description adds no new parameter information beyond 'Plots PC1 vs PC2', which is already implied. Baseline 3 is appropriate.
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 creates a PCA scatter plot showing population structure, and specifies it plots PC1 vs PC2. This distinguishes it from sibling plotting tools like Manhattan, QQ, and regional plots.
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 such as create_manhattan_plot or create_qq_plot. It does not mention prerequisites or scenarios.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
create_qq_plotA
Create a Quantile-Quantile (QQ) plot from GWAS p-values. Shows observed vs expected p-values.
| Name | Required | Description | Default |
|---|---|---|---|
| sumstats_path | Yes | Path to GWAS summary statistics file | |
| output_path | No | Path to save the plot | |
| title | No | Plot title | QQ Plot |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must cover behavioral traits. It only states it 'creates a plot' and 'shows observed vs expected p-values', but does not disclose file format requirements, computational cost, or whether it is a read-only operation.
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?
Two sentences with no unnecessary words. The action verb and subject are front-loaded. Every word is meaningful.
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 simplicity of the tool (3 params, no output schema, no annotations), the description is adequate but not complete. It does not specify expected input file format or what happens with the output file.
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 baseline is 3. The description adds context ('from GWAS p-values') but does not provide additional meaning beyond the parameter names and descriptions already in 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 clearly states 'Create a Quantile-Quantile (QQ) plot from GWAS p-values', specifying the tool's verb, resource, and purpose. It distinguishes itself from siblings like 'create_manhattan_plot' by mentioning QQ plots and p-values.
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 indicates when to use: when you have GWAS p-values. However, it does not explicitly state when not to use or provide alternatives, though the sibling list is available for context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
create_regional_plotB
Create a regional association plot (LocusZoom-style) for a specific genomic region around a lead SNP.
| Name | Required | Description | Default |
|---|---|---|---|
| sumstats_path | Yes | Path to GWAS summary statistics | |
| lead_snp | Yes | Lead SNP rsID or CHR:POS | |
| window_kb | No | Window size in kilobases (default: 500) | |
| output_path | No | Path to save the plot |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries full burden but only states the basic action and context. It does not disclose side effects (e.g., file overwrite), computational requirements, or plot content details.
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?
A single, concise sentence that front-loads the core purpose without extraneous words.
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 specialization and lack of output schema, the description omits important context such as plot features (e.g., -log10 p-values, recombination rate), required sumstats format, and behavior of the default window.
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% with parameter descriptions in the schema. The tool description adds no additional meaning beyond the schema, so baseline score of 3 is appropriate.
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 ('Create'), resource ('regional association plot'), and context ('for a specific genomic region around a lead SNP'), distinguishing it from sibling tools like create_manhattan_plot.
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 implies use for visualizing a specific genomic region but provides no explicit guidance on when to use vs. alternatives, prerequisites, or exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
extract_locusB
Extract genotype data for a specific genomic region around a lead SNP for fine-mapping.
| Name | Required | Description | Default |
|---|---|---|---|
| plink_prefix | Yes | Path prefix for PLINK files | |
| lead_snp | Yes | Lead SNP identifier (rsID or CHR:POS) | |
| window_kb | No | Window size in kb (default: 500) | |
| output_prefix | No | Output prefix for extracted files |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must entirely disclose behavior. It only states 'extract genotype data' without mentioning side effects, file outputs, permissions, or any operational details beyond the basic action.
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 sentence, concise with no filler. However, it is so brief that it sacrifices some detail, making it efficient but slightly under-specified.
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 has 4 parameters and no output schema, the description fails to explain what the output is (e.g., extracted genotypes, file format). For a data extraction tool, this is a significant gap, making it incomplete for an agent to understand the full 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 input schema has 100% description coverage for its 4 parameters. The description adds the context of fine-mapping but does not provide additional semantics beyond what the schema already offers, hence baseline 3.
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 explicitly states the tool extracts genotype data for a specific genomic region around a lead SNP for fine-mapping, providing a specific verb, resource, and purpose. It clearly distinguishes from sibling tools like 'clump_snps' or 'query_gwas_catalog' which serve different purposes.
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 indicates use for fine-mapping, implying context but not giving explicit when-to-use or when-not-to-use guidance. No alternatives are mentioned among the many sibling tools, leaving the agent to infer appropriate usage.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
gene_set_enrichmentC
Perform gene set enrichment analysis using GO and KEGG pathways via Enrichr.
| Name | Required | Description | Default |
|---|---|---|---|
| genes | Yes | List of gene symbols (e.g., ['BRCA1', 'TP53', 'EGFR']) | |
| databases | No | Databases to query (default: GO_Biological_Process, KEGG) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries full responsibility. It only states 'Perform gene set enrichment analysis' without revealing whether it is read-only, rate-limited, or produces intermediate results. No output format is specified.
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 concise sentence, but it lacks essential details that would not be considered fluff. It is under-specified for its complexity.
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 absence of an output schema and annotations, the description is incomplete. It does not explain what the tool returns (e.g., enriched terms with statistics) or that it relies on an external API (Enrichr). No differentiation from siblings.
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 descriptions already cover 100% of parameters, so baseline is 3. The description adds no extra meaning beyond the parameter names and default values.
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 that the tool performs gene set enrichment analysis using GO and KEGG pathways via Enrichr. It specifies a verb and resource, but lacks explicit differentiation from sibling tools like get_functional_enrichment.
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?
No guidance is provided on when to use this tool versus alternatives such as get_functional_enrichment or get_gene_pathways. No prerequisites or context for usage are mentioned.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_alphafold_structureA
Get AlphaFold AI-predicted protein structure by UniProt ID. Returns structure confidence and download links.
| Name | Required | Description | Default |
|---|---|---|---|
| uniprot_id | Yes | UniProt accession ID (e.g., 'P53_HUMAN' or 'P04637') |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Description mentions return of 'structure confidence and download links', providing basic behavioral context. However, no annotations exist, and description does not disclose read-only nature, rate limits, or data size. Adequate for a simple retrieval but missing depth.
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?
Single sentence, 10 words, front-loaded with verb and resource. No extraneous information. Extremely concise and to the point.
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 simple tool with one parameter and no output schema or annotations, the description covers input and output sufficiently. Could mention format or async behavior, but completeness is high given simplicity.
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% with a clear parameter description. The description's 'by UniProt ID' adds no new meaning beyond the schema. Baseline 3 applies as schema does full documentation.
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?
Clearly states verb 'Get', resource 'AlphaFold AI-predicted protein structure', and input method 'by UniProt ID'. Distinguishes from siblings like 'search_alphafold' which searches rather than retrieves a specific structure.
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?
No usage guidance provided. Does not specify when to use this tool versus siblings like 'search_alphafold' or 'get_pdb_structure'. Implicit usage only.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_clinvar_variantB
Get detailed ClinVar information for a specific variant by rsID or ClinVar ID.
| Name | Required | Description | Default |
|---|---|---|---|
| variant_id | Yes | Variant identifier - rsID (e.g., 'rs80357906') or ClinVar ID |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, and the description does not disclose behavioral traits such as read-only nature, required permissions, or any side effects. As a query tool, it is assumed non-destructive, but no explicit confirmation is given.
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 with no extraneous information. It is efficient and front-loaded with the key action and input type.
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 simple tool with one parameter and no output schema, the description is minimal but adequate. However, it does not specify what 'detailed ClinVar information' includes, which could leave the agent uncertain about the output structure. Additional context about return format would improve completeness.
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 for the single required parameter 'variant_id'. The schema already provides an example and explanation of acceptable values. The tool description adds no additional parameter semantics 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?
Description clearly states the tool retrieves detailed ClinVar information for a specific variant by rsID or ClinVar ID, using a specific verb-resource structure. This distinguishes it from sibling tools like search_clinvar (which searches) and get_variant_info (which may be more general).
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?
No guidance is provided on when to use this tool versus alternatives like search_clinvar or get_variant_info. The description does not specify any prerequisites or context for appropriate usage.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_disease_associationsA
Get disease associations for a gene from Open Targets with evidence scores.
| Name | Required | Description | Default |
|---|---|---|---|
| gene | Yes | Gene symbol | |
| limit | No | Maximum number of diseases (default: 20) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided. Description adds 'with evidence scores' indicating result contents, but does not disclose read-only nature, rate limits, or response structure. Sufficient for basic understanding but lacks depth.
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?
Single sentence, no redundancy, front-loaded with key action and resource. Every word carries meaning.
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?
Tool is simple with 2 parameters. Description covers purpose and key output feature (evidence scores). Missing details on response format or error handling, but adequate for basic 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?
Input schema has 100% description coverage for both parameters. Description adds no additional parameter-level detail beyond schema. Baseline score of 3 is appropriate.
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?
Description clearly states verb 'get', resource 'disease associations', and source 'Open Targets'. It also mentions 'evidence scores', specifying additional information provided. This distinguishes it from siblings like 'search_open_targets' and 'get_gene_diseases'.
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?
No guidance on when to use this tool versus alternatives. Siblings include many similar get/search tools (e.g., get_gene_diseases, search_open_targets), but description does not contrast or provide context for selection.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_drug_gene_interactionsA
Get drug-gene interaction annotations from PharmGKB for a specific gene.
| Name | Required | Description | Default |
|---|---|---|---|
| gene | Yes | Gene symbol (e.g., 'CYP2D6', 'VKORC1') |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must cover behavioral traits. It only states the action without disclosing effects like network dependencies, rate limiting, or result format. For a read operation, this is minimal but not harmful.
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, concise sentence that conveys the core purpose without extra words. It is front-loaded and efficient.
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 simple retrieval tool with one parameter and no output schema, the description adequately states the source and output type. However, it lacks context on result volume or pagination, which would help an agent plan the call.
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 only parameter 'gene' is described with examples ('CYP2D6', 'VKORC1'), adding practical guidance beyond the schema's type definition. Schema coverage is 100%, so the description effectively complements the structured data.
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 function: retrieving drug-gene interaction annotations from PharmGKB for a specific gene. It uses a specific verb ('Get') and names the resource ('PharmGKB'), distinguishing it from sibling tools like get_drug_targets or search_pharmgkb.
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, such as get_drug_targets or search_pharmgkb. There is no mention of prerequisites, limitations, or scenarios where the tool is not appropriate.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_drug_targetsA
Get drug target information from Open Targets for a gene. Shows drugs in development and approved drugs targeting this gene.
| Name | Required | Description | Default |
|---|---|---|---|
| gene | Yes | Gene symbol (e.g., 'EGFR', 'BRAF') |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must convey behavioral traits. It states the tool returns drugs in development and approved drugs, indicating it is a read-only query. However, it does not mention any potential side effects, permissions, or limitations such as rate limits or data freshness. The description is adequate but not comprehensive.
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 long, front-loaded with the verb 'Get', and contains no unnecessary words. It efficiently communicates the tool's purpose.
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 simplicity of the tool (one parameter) and no output schema, the description is mostly complete. However, it does not specify the format of the output (e.g., list of drugs with statuses, IDs, or links), which would help an agent parse results. Sibling tools are numerous, but the description provides enough context for selection.
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% for the single parameter 'gene', with a clear example. The description adds 'from Open Targets' but does not provide additional semantics beyond what the schema already conveys. Baseline 3 is appropriate.
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 retrieves drug target information from Open Targets for a given gene, specifically showing drugs in development and approved drugs. It uses a specific verb-resource combination and distinguishes from siblings like 'get_drug_gene_interactions' by focusing on drug targets rather than interactions.
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 implies the tool is used for getting drug targets for a gene, but provides no explicit guidance on when to use it versus alternatives such as 'get_drug_gene_interactions' or 'search_open_targets'. No exclusions or prerequisites are mentioned.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_eqtl_dataA
Get expression quantitative trait loci (eQTL) data from GTEx for a SNP and tissue.
| Name | Required | Description | Default |
|---|---|---|---|
| rsid | Yes | rsID to query | |
| tissue | No | GTEx tissue type (e.g., 'Whole_Blood', 'Brain_Cortex') | |
| gene | No | Optional gene to filter results |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are present, so the description carries full burden. It indicates the tool queries GTEx eQTL data, but does not discuss rate limits, error handling, or authorization needs. The behavior is simple, so a middle score is appropriate.
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?
Single sentence, no fluff. Clearly communicates the tool's purpose with no wasted words.
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 lack of annotations, output schema, and the tool's moderate complexity (3 params, 1 required), the description is brief. It does not explain the return format or account for edge cases, but it covers the basics.
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%, and the description minimally adds by mentioning 'SNP and tissue' and 'Optional gene to filter results', but these are already in schema fields. No new meaning beyond 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 clearly states the action 'Get' and the specific resource 'expression quantitative trait loci (eQTL) data from GTEx' with the required inputs (SNP and tissue), making it distinct from sibling tools like get_variant_info.
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?
No guidance is provided on when to use this tool versus alternatives (e.g., get_variant_info, query_gwas_catalog). The description only states what it does, not when it is appropriate.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_functional_enrichmentA
Get functional enrichment analysis for a list of proteins using STRING. Returns enriched GO terms, pathways, and domains.
| Name | Required | Description | Default |
|---|---|---|---|
| proteins | Yes | List of protein/gene names | |
| species | No | NCBI species taxonomy ID (default: 9606 for human) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries full burden. It mentions the data source (STRING) and output types, but does not disclose behavioral traits like read-only nature, rate limits, or data freshness. A 3 is appropriate as it provides basic context but lacks depth.
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?
Two short sentences with no fluff. Front-loaded with the action and resource, then specifies return types. Every sentence earns its place.
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 two parameters, high schema coverage, and no output schema, the description adequately explains what the tool does and returns. It could mention significance or sorting of results, but overall is complete enough 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 coverage is 100% with descriptions for both parameters. The description adds no further per-parameter details, so it meets the baseline for high coverage. No extra value beyond 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 clearly states the tool performs functional enrichment analysis on a list of proteins using STRING, returning GO terms, pathways, and domains. This distinguishes it from sibling tools like 'get_kegg_pathway' which fetch data for single entities.
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 implies usage context: for a list of proteins, using STRING. It doesn't explicitly exclude other tools, but the purpose is clear enough to infer when to use it over single-entity query tools among siblings.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_gene_diseasesA
Get genetic diseases associated with a gene from OMIM and other sources.
| Name | Required | Description | Default |
|---|---|---|---|
| gene | Yes | Gene symbol (e.g., 'BRCA1', 'CFTR') |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must convey behavioral traits. It only states the basic function without disclosing output format, limitations, permissions, or whether the operation is read-only, leaving significant gaps for an agent.
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 sentence of 11 words, front-loading the action and resource with no waste or redundancy.
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 simple single-parameter tool with no output schema, the description is adequate but lacks details about the output format or how to interpret results, which an agent might need given many sibling 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?
The input schema already describes the 'gene' parameter with examples and 100% coverage. The description adds context about sources ('from OMIM and other sources'), which provides minor additional 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 uses a specific verb 'Get' and resource 'genetic diseases associated with a gene', with mention of sources 'OMIM and other sources', distinguishing it from siblings like 'get_disease_associations'.
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 implies its use for retrieving disease-gene associations but provides no explicit guidance on when to use this tool versus siblings like 'get_disease_associations' or alternatives, nor does it mention when not to use it.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_gene_pathwaysA
Find all KEGG pathways that a gene participates in.
| Name | Required | Description | Default |
|---|---|---|---|
| gene | Yes | Gene symbol (e.g., 'TP53', 'BRCA1') |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided; description only states function without disclosing behavioral traits such as read-only nature, error handling, or rate limits.
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?
Single, concise sentence with no unnecessary words; information is 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?
For a simple one-parameter tool, description covers core purpose but lacks details about return format or behavior when gene is not found.
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?
Parameter 'gene' has good schema description coverage (100%). Description adds context that gene is queried against KEGG pathways, which is useful but minimal beyond 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?
Description clearly states verb 'Find', resource 'KEGG pathways', and scope 'a gene'. Distinguishes from siblings like get_kegg_pathway which likely retrieves a specific pathway.
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?
Implied usage for gene-to-pathway lookup but no explicit when-not-to-use or mention of alternatives like get_kegg_pathway or search_kegg_pathway.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_interaction_networkB
Get interaction network between a list of proteins from STRING. Shows how multiple proteins interact with each other.
| Name | Required | Description | Default |
|---|---|---|---|
| proteins | Yes | List of protein/gene names (e.g., ['TP53', 'BRCA1', 'ATM']) | |
| species | No | NCBI species taxonomy ID (default: 9606 for human) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description must fully disclose behavior. It only states it gets a network from STRING, omitting any details about edge representation, missing interactions, data source version, or rate limits. Limited transparency.
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?
Two concise sentences with no extraneous information. Every word adds value, and the structure is front-loaded with the core action.
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?
Adequate for a simple 2-param tool, but lacks any description of the return value format (e.g., nodes, edges, scores). Without output schema, more detail on what the network looks like would be beneficial.
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?
Input schema has 100% description coverage for both parameters, so baseline is 3. The description adds no extra semantic meaning beyond what the schema already provides, merely implying the array of proteins is used for the network.
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?
Clearly states 'Get interaction network between a list of proteins from STRING', specifying the verb, resource, and naming the source. This distinctly separates it from sibling 'get_protein_interactions' by emphasizing network among multiple proteins.
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?
No explicit guidance on when to use this tool versus alternatives like 'get_protein_interactions'. While implicit from context, the description itself fails to provide when/when-not or prerequisite conditions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_interpro_domainsC
Get protein domain information from InterPro for a given UniProt ID or protein sequence.
| Name | Required | Description | Default |
|---|---|---|---|
| uniprot_id | Yes | UniProt accession ID to look up domains for |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, and description only states the action without disclosing behavior (e.g., read-only, external API calls, rate limits, output structure).
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?
Single sentence is concise but contains inaccuracy. Front-loading is acceptable but could be more precise.
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?
With no output schema and a complex domain, description lacks details about what domain information is returned (e.g., annotations, positions, evidence). Incomplete 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 already describes the sole parameter fully; description adds 'or protein sequence' which contradicts the required uniprot_id field, causing confusion rather than adding value.
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?
Description states purpose clearly ('Get protein domain information from InterPro') but inaccurately claims support for protein sequence input, while schema only accepts uniprot_id. This mismatch reduces clarity.
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?
No guidance on when to use this tool versus its many sibling tools (e.g., get_protein_details, search_uniprot). No alternatives or context provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_kegg_pathwayA
Get detailed KEGG pathway information including genes and description.
| Name | Required | Description | Default |
|---|---|---|---|
| pathway_id | Yes | KEGG pathway ID (e.g., 'hsa04110' for cell cycle) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, and the description does not disclose any behavioral traits beyond the obvious read operation. It does not mention side effects, data freshness, or external calls, but for a simple retrieval tool, the lack of contradiction is acceptable.
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 concise sentence that communicates the essential information without any fluff or unnecessary details.
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 has one parameter, no output schema, and no annotations, the description is minimal. It adequately describes the purpose but does not specify the return format or differentiate from siblings beyond the basic action.
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 schema covers the single parameter with a description, and the tool description adds 'including genes and description' which hints at the return content but does not add specific 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 clearly states the action ('Get'), the resource ('KEGG pathway information'), and the specific contents ('genes and description'). It distinguishes this tool from sibling 'search_kegg_pathway', which implies search versus retrieval of details.
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 instead of alternatives like 'search_kegg_pathway' or 'get_gene_pathways'. It lacks explicit context for its use case.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_pdb_structureB
Get detailed information about a PDB structure by PDB ID.
| Name | Required | Description | Default |
|---|---|---|---|
| pdb_id | Yes | PDB ID (e.g., '1TUP', '6VXX') |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries full burden. It merely states 'get detailed information' without specifying what information is returned (e.g., metadata, coordinates) or any behavioral traits like rate limits or authentication. The description is too vague for an agent to fully understand tool 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 with no extraneous words. Every part serves a purpose.
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?
The description is minimal for a data retrieval tool. It does not explain what 'detailed information' includes, nor does it address possible outcomes or response format. The lack of output schema makes this gap significant, as the agent has no prior on return structure.
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% (one parameter with clear description and examples). The tool description adds nothing beyond the schema, so baseline 3 is appropriate.
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', the resource 'PDB structure', and the identifier method 'by PDB ID'. It effectively distinguishes from sibling tools like 'search_pdb_structures' which would be used for searching rather than direct retrieval.
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 implies usage when a PDB ID is known, but provides no explicit guidance on when to use this tool versus alternatives like 'search_pdb_structures' or 'get_alphafold_structure'. No exclusions or conditions are mentioned.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_protein_detailsA
Get detailed protein information from UniProt by UniProt accession ID. Returns full protein details including function, domains, and GO annotations.
| Name | Required | Description | Default |
|---|---|---|---|
| uniprot_id | Yes | UniProt accession ID (e.g., 'P38398' for BRCA1) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, so description carries burden. It mentions returns, but lacks disclosure on whether it calls an external API, rate limits, or potential delays. Adequate but not thorough.
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?
Two sentences, no fluff, front-loaded with purpose and return value.
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 simple lookup with one required param and no output schema, description covers purpose and return content adequately. Could mention if output format or pagination, but not essential.
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?
Input schema covers the single parameter with example. Description adds no extra semantic meaning beyond what schema provides. Baseline 3 for 100% 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?
Description clearly states it retrieves detailed protein information from UniProt using an accession ID, listing return fields (function, domains, GO annotations). Distinguishes from sibling 'search_uniprot' which likely searches by other criteria.
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?
Implicitly used when a specific UniProt ID is known, but no explicit guidance on when not to use or alternatives like 'search_uniprot' (present in sibling list).
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_protein_interactionsB
Get protein-protein interaction network from STRING database. Shows what proteins interact with your protein of interest.
| Name | Required | Description | Default |
|---|---|---|---|
| protein | Yes | Protein or gene name (e.g., 'TP53', 'BRCA1') | |
| species | No | NCBI species taxonomy ID (default: 9606 for human) | |
| limit | No | Maximum number of interaction partners to return (default: 20) | |
| score_threshold | No | Minimum interaction confidence score 0-1 (default: 0.4 = medium confidence) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description lacks details on behavioral aspects such as external data source dependency (STRING database), rate limits, or caching. Since no annotations exist, the description carries the full burden but only states a vague 'shows' without operational context.
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 two sentences that immediately convey the tool's purpose. Every word is necessary and there is no redundancy.
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 has no output schema and 4 parameters, the description provides only minimal context. It does not explain the return format, pagination, or error handling, which would be beneficial for an agent. However, for a simple data retrieval tool, it is minimally adequate.
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, so the schema already explains all parameters (protein, species, limit, score_threshold). The description adds no additional meaning beyond what is in 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 clearly states the tool retrieves a protein-protein interaction network from STRING for a given protein. It is specific but does not differentiate from the sibling tool 'get_interaction_network' which may have similar functionality.
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?
No guidance is provided on when to use this tool versus alternatives (e.g., get_interaction_network) or when not to use it. There are no contextual hints about prerequisites or limitations.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_variant_infoA
Get detailed variant/SNP information from Ensembl by rsID. Returns position, alleles, clinical significance, and consequences.
| Name | Required | Description | Default |
|---|---|---|---|
| rsid | Yes | dbSNP rsID (e.g., 'rs1234567') |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided; description states it returns information but does not disclose if it is read-only, rate limits, or any side effects. For a simple retrieval tool, the lack of behavioral context is acceptable but not ideal.
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?
Two sentences front-loaded with action and source: 'Get detailed variant/SNP information from Ensembl by rsID.' Returns are listed briefly. No wasted words.
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 tool with one parameter and no output schema, the description covers input and output adequately. It could mention that it queries the Ensembl REST API or that results may require internet access, but overall it is sufficient for an 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 coverage is 100% with a description for rsid. The description adds 'by rsID' which is already in the schema, so no extra meaning beyond the input 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?
Description clearly states 'Get detailed variant/SNP information from Ensembl by rsID' and lists return fields (position, alleles, clinical significance, consequences). This specifies the verb, resource, input, and outputs, distinguishing it from sibling tools like get_clinvar_variant or get_disease_associations.
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?
No explicit guidance on when to use this tool versus alternatives (e.g., search_clinvar, get_disease_associations). The description implies retrieval by rsID but does not state when not to use it or mention alternative tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
identify_significant_snpsB
Filter GWAS results to identify genome-wide significant SNPs based on p-value threshold.
| Name | Required | Description | Default |
|---|---|---|---|
| sumstats_path | Yes | Path to GWAS summary statistics file | |
| pvalue_threshold | No | P-value threshold for significance (default: 5e-8) | |
| suggestive_threshold | No | Suggestive significance threshold (default: 1e-5) | |
| output_path | No | Path to save significant SNPs |
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. It implies a read operation on the input file and a write operation to output_path, but does not explicitly state that the original file is untouched or that it is a non-destructive filter. The description is adequate but could be more explicit about side effects.
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 sentence of 12 words, fully front-loaded with the action and criterion. It is concise without any redundant 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 simplicity of the tool (filtering by threshold) and full schema coverage, the description covers the main action. However, it does not mention the output format or that results are saved to output_path (covered in schema but not in description). No output schema exists, so a brief note on return values would improve completeness.
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 baseline is 3. The description adds no further detail beyond what is already in the input schema. It does not explain the use of suggest_threshold or the relationship between thresholds.
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 'Filter' and resource 'GWAS results to identify genome-wide significant SNPs' with a specific criterion 'based on p-value threshold'. However, it does not differentiate from sibling tools like clump_snps, which also filter SNPs but by different criteria.
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?
No guidance is provided on when to use this tool versus alternatives. For instance, it does not mention that it is for simple p-value thresholding, while clump_snps might be used for LD-based pruning. The agent is left to infer from context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ld_pruningA
Prune SNPs based on linkage disequilibrium (LD). Removes variants in high LD to create an independent set.
| Name | Required | Description | Default |
|---|---|---|---|
| plink_prefix | Yes | Path prefix for PLINK files | |
| r2_threshold | No | rยฒ threshold for LD pruning (default: 0.2) | |
| window_size | No | Window size in kb for LD calculation (default: 500) | |
| step_size | No | Step size in variants (default: 50) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Without annotations, the description carries full burden but only states the core behavior. It does not disclose side effects (e.g., file output, data loss risk) or prerequisites beyond the plink_prefix.
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?
Two sentences, no redundant words, directly conveys purpose and action.
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?
With 4 parameters and no output schema or annotations, the description is minimal. It omits return values, output files, and default behavior context, leaving 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 coverage is 100% and includes descriptions for all parameters. The tool description adds no extra clarification, so baseline score applies.
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 (pruning), the basis (linkage disequilibrium), and the goal (create independent set), distinguishing it from sibling tools like clump_snps.
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?
No explicit guidance on when to use this tool vs alternatives, nor conditions for use. The purpose is implied but lacks context-specific direction.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
query_gwas_catalogA
Query the NHGRI-EBI GWAS Catalog for previously reported associations for a SNP or trait.
| Name | Required | Description | Default |
|---|---|---|---|
| rsid | No | rsID to query (e.g., 'rs12345') | |
| trait | No | Trait/disease to search for (e.g., 'diabetes') | |
| gene | No | Gene name to search for (e.g., 'BRCA1') |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must disclose behavior. It indicates a read operation but omits details like result limits, handling of multiple inputs, or authentication requirements.
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?
A single, front-loaded sentence of 13 words efficiently communicates the tool's function.
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 simple query tool with no output schema, the description sufficiently explains the scope, though it could mention the source database name or results format.
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% with descriptive parameter names and descriptions. The description adds no new info beyond mentioning 'SNP or trait'.
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 'Query' and the specific resource 'NHGRI-EBI GWAS Catalog' for 'previously reported associations', making it distinct from sibling tools like 'get_disease_associations' or 'search_clinvar'.
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 implies usage when seeking known GWAS associations for a SNP or trait, providing context but lacking explicit when-not-to-use or alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
run_gwasC
Perform genome-wide association study using linear or logistic regression. Returns summary statistics including p-values, beta coefficients, and standard errors.
| Name | Required | Description | Default |
|---|---|---|---|
| plink_prefix | Yes | Path prefix for PLINK genotype files | |
| phenotype_path | Yes | Path to phenotype file (tab-separated with FID, IID, PHENO columns) | |
| covariate_path | No | Optional path to covariate file | |
| model | No | Regression model type (default: linear) | linear |
| output_path | No | Path to save GWAS results |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, and description lacks details on prerequisites (e.g., PLINK software), side effects (e.g., file creation), or computational requirements. Only mentions regression type and output format, leaving many behavioral traits undisclosed.
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?
Two concise sentences, no redundancy, front-loaded with purpose. Every word adds value.
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 tool with 5 parameters, no output schema, and many siblings, the description is too minimal. It lacks context on expected inputs, output structure, and when to use this tool versus other GWAS analysis 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 covers 100% of parameters with descriptions. The description adds a high-level summary of return values but does not enhance parameter meaning beyond what is in 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?
Description clearly states it performs GWAS with linear/logistic regression and lists output statistics. However, it does not differentiate from sibling tools like calculate_heritability_ldsc or clump_snps, which are also GWAS-related.
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?
No explicit when-to-use or when-not-to-use guidance. The description does not mention alternatives or conditions for choosing this tool over siblings.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_alphafoldA
Search AlphaFold database for predicted structures by gene name or protein name.
| Name | Required | Description | Default |
|---|---|---|---|
| query | Yes | Gene symbol or protein name (e.g., 'TP53', 'BRCA1') | |
| organism | No | Organism (default: 'Homo sapiens') | Homo sapiens |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided; the description only says 'Search' without detailing behavioral traits such as return format, pagination, or error behavior. This is insufficient for a search tool without annotation support.
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 with no wasted words. It effectively conveys the tool's purpose in minimal space.
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 simplicity of a 2-parameter search and no output schema, the description is adequate but lacks mention of result format or potential limitations like pagination.
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% and both parameters are described in the schema. The description adds minor context ('by gene name or protein name') but does not significantly enhance understanding 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 clearly states the verb (Search), resource (AlphaFold database), and search criterion (gene or protein name). It distinguishes from sibling 'get_alphafold_structure' by implying a broader 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 implies usage for finding structures by name, but does not explicitly state when to use this tool vs alternatives like 'get_alphafold_structure' or provide when-not-to-use guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_clinvarB
Search ClinVar for clinical variant interpretations. Find pathogenic/benign classifications for genetic variants.
| Name | Required | Description | Default |
|---|---|---|---|
| query | Yes | Search query - can be gene name (e.g., 'BRCA1'), rsID (e.g., 'rs80357906'), or condition (e.g., 'breast cancer') | |
| limit | No | Maximum number of results (default: 10) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral disclosure burden. It only states the tool searches and finds classifications, without mentioning read-only nature, rate limits, pagination, or what happens on no results. This is a significant gap for a search tool.
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?
Two sentences with no wasted words. The first sentence front-loads the core purpose, and the second adds specific detail about the output. The description is appropriately sized for a simple search tool.
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?
Despite the tool's simplicity, the description lacks critical context: it does not specify return format, result fields, error handling, or behavior when limit is exceeded. With no output schema, the description should provide more completeness for an agent to invoke 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?
The input schema covers 100% of parameters with descriptions, so the description adds no extra meaning beyond what the schema provides. The description mentions the query can be gene name, rsID, or condition, which repeats the schema's description. Baseline 3 is appropriate.
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 that the tool searches ClinVar for clinical variant interpretations, specifically mentioning pathogenic/benign classifications. The verb 'search' and resource 'ClinVar' are precise, and the description differentiates from sibling 'get_clinvar_variant' which likely retrieves a specific variant.
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 implies the tool is used for searching variant interpretations but does not explicitly state when to use this tool versus alternatives like 'get_clinvar_variant'. No guidance on prerequisites, limitations, or complementary tools is provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_ensembl_geneA
Search Ensembl for gene information by gene symbol or Ensembl ID. Returns gene location, biotype, and description.
| Name | Required | Description | Default |
|---|---|---|---|
| gene | Yes | Gene symbol (e.g., 'BRCA1') or Ensembl ID (e.g., 'ENSG00000012048') | |
| species | No | Species (default: 'homo_sapiens') | homo_sapiens |
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 it performs a search and returns data, without revealing any side effects, authentication needs, rate limits, or other traits. For a read-only search, this is minimal but not misleading; however, it lacks depth.
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 sentence with no redundant words. It efficiently states purpose and output, earning a top score for conciseness.
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 simplicity (two parameters, no output schema, no annotations), the description covers the essential purpose and return values. It is sufficiently complete for an agent to understand its use, though it could mention data source reliability or versioning.
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% with both parameters described. The description adds that search is by symbol or ID and lists return fields, but this is already inferable from the schema and tool purpose. It provides no additional parameter details beyond what is in 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 clearly states the verb 'Search', the resource 'Ensembl for gene information', the input types (gene symbol or Ensembl ID), and the output (location, biotype, description). It distinguishes from sibling tools by specifying the Ensembl source and return fields.
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 implies usage for retrieving Ensembl gene data but provides no explicit when-to-use, when-not-to-use, or alternatives like search_ncbi_gene or search_uniprot. Guidance is minimal; context from sibling names suggests alternatives, but the description does not address this.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_kegg_pathwayA
Search KEGG for metabolic and signaling pathways by name or gene.
| Name | Required | Description | Default |
|---|---|---|---|
| query | Yes | Pathway name or gene symbol | |
| organism | No | Organism code (default: 'hsa' for human) | hsa |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided; description only states 'Search KEGG' without disclosing behavioral traits like read-only nature, rate limits, or authentication requirements.
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?
Single sentence, directly states action and scope. Front-loaded with verb 'Search'. No unnecessary words.
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?
Adequately describes core functionality for a simple search tool with 2 parameters. Lacks details on return format, pagination, or any limitations given no output 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?
Input schema has 100% coverage with clear descriptions for both parameters. Description adds context about pathway types ('metabolic and signaling') but doesn't add significant meaning beyond 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?
Description clearly states it searches KEGG for metabolic and signaling pathways using a name or gene query. Distinguishes from sibling get_kegg_pathway which retrieves a specific pathway.
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?
Implied usage for searching pathways by name or gene, but no explicit guidance on when to use this vs. sibling get_kegg_pathway or other search tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_ncbi_geneB
Search NCBI Gene database for gene information by gene symbol, name, or ID.
| Name | Required | Description | Default |
|---|---|---|---|
| query | Yes | Gene symbol (e.g., 'TP53'), name, or NCBI Gene ID | |
| organism | No | Organism to filter results (default: 'Homo sapiens') | Homo sapiens |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, so description carries full burden. It does not disclose behavioral aspects such as rate limits, authentication, output format, or that it is a read-only operation.
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?
Single sentence that is front-loaded and efficient. Lacks elaboration but is concise.
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 simple search tool, the description is adequate but lacks details on result format, pagination, or limitations. No output schema exists, so more contextual completeness would be beneficial.
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 baseline is 3. The description adds minimal value beyond the schema, repeating parameter meanings without additional detail.
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 specifies the database (NCBI Gene), action (search), and input types (symbol, name, ID). It clearly distinguishes from sibling search tools like search_ensembl_gene or search_clinvar.
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?
No guidance on when to use this tool versus alternatives. Among many sibling search tools, the description does not clarify when this is appropriate or what differentiates it.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_omimB
Search OMIM (Online Mendelian Inheritance in Man) for genetic diseases and phenotypes.
| Name | Required | Description | Default |
|---|---|---|---|
| query | Yes | Gene symbol or disease name | |
| limit | No | Maximum results (default: 10) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, and the description fails to disclose behavioral traits like whether it is read-only, what fields are returned, or if there are any side effects. The description is too minimal to inform the agent of tool behavior beyond the basic function.
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?
Single sentence, no wasted words. Information is front-loaded and clear for its brevity.
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?
The tool lacks an output schema, so the description should explain what results look like (e.g., list of OMIM entries). It does not. Also, with many sibling search tools, more context on OMIM's unique value would improve completeness.
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% (both query and limit described). The description adds no extra meaning beyond the schema; it does not explain default behavior for limit or accepted formats for query.
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?
Description clearly states the tool searches OMIM for genetic diseases and phenotypes, using a specific verb and resource. It distinguishes itself from sibling search tools like search_clinvar or search_ensembl_gene by naming the target database.
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?
No guidance on when to use this tool versus alternatives such as search_clinvar or get_gene_diseases. The description does not mention any prerequisites, exclusions, or context for usage.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_open_targetsB
Search Open Targets Platform for genes, diseases, or drugs.
| Name | Required | Description | Default |
|---|---|---|---|
| query | Yes | Search term (gene, disease, or drug name) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description must disclose behavioral traits. It does not mention any, such as whether the tool is read-only, if results are paginated, or if it makes external API calls. This lack of transparency could lead to incorrect assumptions.
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 sentence that is front-loaded and to the point. It is concise, but could be slightly improved by adding a brief note about result format without losing brevity.
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 simplicity (one parameter, no output schema, no annotations), the description covers the basic purpose and parameter. However, it does not describe the output format or any constraints, leaving some ambiguity for an agent to invoke 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 coverage is 100%, so baseline is 3. The description repeats the schema's parameter description exactly ('Search term (gene, disease, or drug name)'), adding no new meaning beyond what the schema already provides.
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) and the resource (Open Targets Platform) for specific entities (genes, diseases, or drugs). It distinguishes well from sibling tools that search other databases like AlphaFold or ClinVar.
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 implies usage for searching Open Targets, but does not explicitly state when to use this tool versus alternatives like search_ncbi_gene or search_ensembl_gene. No when-not-to-use guidance is provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_pdb_structuresB
Search PDB for protein 3D structures by protein name, gene name, or UniProt ID.
| Name | Required | Description | Default |
|---|---|---|---|
| query | Yes | Search query - protein name, gene symbol, or UniProt ID | |
| limit | No | Maximum results (default: 10) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must convey behavioral traits. It only says 'Search PDB' without disclosing result format, pagination, rate limits, or whether it returns summaries or full structures. This omission is critical for a search tool.
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 concise sentence that front-loads the core functionality (searching protein structures) with key usages (name, gene, UniProt). Every word is purposeful with no redundancy.
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 output schema, the description should clarify what the search returns (e.g., PDB IDs, metadata). It lacks this and also omits prerequisites, network requirements, or fallback behavior. The tool's complexity is low, but missing return-value context reduces completeness.
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%, and the description adds no new meaning beyond the schema. The query parameter description already details acceptable IDs, and limit is standard. Description merely rephrases the schema, earning the baseline score.
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 searches PDB for protein 3D structures and specifies acceptable inputs (protein name, gene name, UniProt ID). It distinguishes itself from sibling tools like 'get_pdb_structure' which retrieves by PDB ID, and 'search_alphafold' which searches a different database.
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 implies usage for finding structures from identifiers but offers no explicit guidance on when to use this tool versus alternatives such as 'get_pdb_structure' for known PDB IDs or 'search_alphafold' for AlphaFold models. No when-not-to-use advice is given.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_pharmgkbB
Search PharmGKB for drug-gene interactions and pharmacogenomics data.
| Name | Required | Description | Default |
|---|---|---|---|
| query | Yes | Gene name, drug name, or rsID | |
| resource_type | No | Type of resource: 'gene', 'drug', 'variant', or 'all' (default: 'all') | all |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided. Description implies a read-only search but provides no details on behavior, such as whether it returns a list of results, pagination, rate limits, or any side effects. Bare minimum.
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?
Single sentence efficiently conveys the purpose. Could be slightly expanded to include expected output format, but overall concise.
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?
With only one sentence and no output schema, the description is minimal. It covers the basic purpose but lacks sufficient details about return values or result structure for an agent to fully anticipate outcomes.
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?
Input schema has 100% coverage with adequate descriptions for both parameters. The description adds context about the type of data being searched but does not enhance understanding beyond what the schema already provides.
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?
Clearly states the tool searches PharmGKB for drug-gene interactions and pharmacogenomics data. The verb 'search' and resource 'PharmGKB' are specific, and it distinguishes from sibling search tools (e.g., search_clinvar, search_ensembl_gene).
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?
No guidance on when to use this tool versus alternatives. Does not mention prerequisites, limitations, or situations where another tool would be more appropriate.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_uniprotA
Search UniProt for protein information by protein name, gene name, or UniProt ID. Returns protein function, sequence info, and associated genes.
| Name | Required | Description | Default |
|---|---|---|---|
| query | Yes | Search query - can be protein name (e.g., 'hemoglobin'), gene symbol (e.g., 'BRCA1'), or UniProt ID (e.g., 'P38398') | |
| organism | No | Organism to filter results (default: 'human') | human |
| limit | No | Maximum number of results to return (default: 10) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Partially describes output (returns function, sequence, associated genes) but does not disclose side effects, permissions, or limitations. No annotations exist, so description carries full burden and falls short of full transparency.
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?
Two sentences, zero superfluous words. Front-loaded with core action and result. Highly efficient.
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 output schema and full schema coverage, the description adequately covers purpose, query types, and output. Could mention default organism and limit but schema compensates.
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 baseline is 3. The description does not add meaningful parameter information beyond what the schema already provides; it merely restates query options.
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?
Clearly states the verb 'Search', the resource 'UniProt for protein information', and specifies valid query types (protein name, gene name, UniProt ID). Distinguishes from sibling search tools like search_ncbi_gene by focusing on UniProt and protein information.
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?
Implies usage context (need protein information) but does not explicitly state when to avoid this tool or suggest alternatives like get_protein_details. Lacks precise usage boundaries.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
vcf_quality_checkA
Perform quality control on a VCF file. Filters variants based on MAF, missingness, and Hardy-Weinberg equilibrium.
| Name | Required | Description | Default |
|---|---|---|---|
| vcf_path | Yes | Path to VCF file (.vcf or .vcf.gz) | |
| maf_threshold | No | Minor allele frequency threshold (default: 0.01) | |
| missingness_threshold | No | Maximum allowed missingness rate (default: 0.1) | |
| hwe_pvalue | No | Hardy-Weinberg equilibrium p-value threshold (default: 1e-6) | |
| output_path | No | Optional path to save QC report |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries full burden. It mentions 'filters variants' indicating mutation, but does not disclose whether the tool modifies the original file, requires specific permissions, or has side effects.
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?
Two concise sentences that efficiently convey the tool's purpose and key filtering metrics, with no redundant 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?
The description lacks details on output: does it return a filtered VCF, a report, or both? No output schema exists, so the description should clarify, but it does not.
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?
Input schema has 100% coverage with descriptions for all parameters. The description adds no extra meaning beyond repeating the filtering criteria already in the schema, so baseline 3 applies.
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 'Perform quality control on a VCF file' and specifies the filtering criteria (MAF, missingness, HWE), distinguishing it from sibling tools like 'annotate_snps' or 'calculate_missingness'.
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 implies usage for QC filtering but provides no explicit guidance on when to use this tool versus alternatives, nor does it mention prerequisites or when not to use.
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.
44 tool updates
v1.0.2- First observed
annotate_snps - First observed
calculate_genomic_inflation - First observed
calculate_heritability_ldsc - First observed
calculate_missingness - First observed
calculate_pca - First observed
calculate_prs - First observed
clump_snps - First observed
create_manhattan_plot - First observed
create_pca_plot - First observed
create_qq_plot - First observed
create_regional_plot - First observed
extract_locus - First observed
gene_set_enrichment - First observed
get_alphafold_structure - First observed
get_clinvar_variant - First observed
get_disease_associations - First observed
get_drug_gene_interactions - First observed
get_drug_targets - First observed
get_eqtl_data - First observed
get_functional_enrichment - First observed
get_gene_diseases - First observed
get_gene_pathways - First observed
get_interaction_network - First observed
get_interpro_domains - First observed
get_kegg_pathway - First observed
get_pdb_structure - First observed
get_protein_details - First observed
get_protein_interactions - First observed
get_variant_info - First observed
identify_significant_snps - First observed
ld_pruning - First observed
query_gwas_catalog - First observed
run_gwas - First observed
search_alphafold - First observed
search_clinvar - First observed
search_ensembl_gene - First observed
search_kegg_pathway - First observed
search_ncbi_gene - First observed
search_omim - First observed
search_open_targets - First observed
search_pdb_structures - First observed
search_pharmgkb - First observed
search_uniprot - First observed
vcf_quality_check
TDQS
Many tools have overlapping purposes: multiple search tools for genes/proteins (search_ensembl_gene, search_ncbi_gene, search_uniprot) and multiple protein annotation tools (get_protein_details, get_protein_interactions, get_interaction_network). This creates ambiguity for an agent trying to select the right tool.
Tool names follow a verb_noun pattern with underscores (e.g., annotate_snps, create_manhattan_plot). However, verbs are mixed (get_, search_, calculate_, create_), which is mostly consistent but not perfectly uniform. Minor deviations like 'calculate_genomic_inflation' vs 'ld_pruning' (no verb) reduce consistency slightly.
44 tools is high for a GWAS server. Many tools are for searching external databases (10+ search_* tools) that could be consolidated. The server's scope is broad, but the number seems excessive and could overwhelm agents.
The server covers core GWAS analysis (run_gwas, clump_snps, create_manhattan_plot) and post-GWAS annotation (annotate_snps, enrichment, protein interactions). However, missing meta-analysis, imputation, and fine-mapping tools. Many search tools duplicate functionality, so coverage is moderate.
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
Connect AI clients to biomedical data and tools.
Ask data questions in natural language. Get SQL, insights, and charts from your databases.
Semantic search across 5 US government healthcare databases.
Biotech intelligence for AI agents: drugs, targets, diagnostics, PoS estimates, and writeups.
Related MCP Servers
- AlicenseBqualityCmaintenanceEnables querying genomics data from the Alliance of Genome Resources across model organisms including human, mouse, rat, zebrafish, fly, worm, yeast, and xenopus. Supports gene searches, disease associations, expression data, orthologs, phenotypes, and molecular interactions through natural language.2219MIT
- AlicenseNot gradedqualityDmaintenanceEnables AI agents to query clinical genomics databases, retrieve supporting literature, analyze population genetics, and visualize biological pathways.19MIT
- FlicenseBqualityDmaintenanceProvides programmatic access to AlphaFold protein structure predictions and UniProt data, enabling users to retrieve protein structures, summaries, and annotations through natural language.3-
- AlicenseAqualityDmaintenanceEnables AI-driven pharmacogenomic analysis by querying structured genetic variant, drug response, and disease risk data. Supports natural language questions about medications, traits, and health risks based on user genome data, with privacy-first local execution.162411MIT
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/muslus/gwas-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server