gwas-mcp
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
No arguments | |||
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": false
} |
| resources | {
"subscribe": false,
"listChanged": false
} |
| experimental | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| vcf_quality_checkA | Perform quality control on a VCF file. Filters variants based on MAF, missingness, and Hardy-Weinberg equilibrium. |
| calculate_pcaA | Perform Principal Component Analysis for population stratification. Uses PLINK files as input. |
| ld_pruningA | Prune SNPs based on linkage disequilibrium (LD). Removes variants in high LD to create an independent set. |
| calculate_missingnessB | Calculate per-individual and per-variant missingness rates from genotype data. |
| run_gwasC | Perform genome-wide association study using linear or logistic regression. Returns summary statistics including p-values, beta coefficients, and standard errors. |
| calculate_genomic_inflationA | Calculate genomic inflation factor (lambda GC) from GWAS summary statistics. Used to assess population stratification. |
| identify_significant_snpsB | Filter GWAS results to identify genome-wide significant SNPs based on p-value threshold. |
| calculate_heritability_ldscB | Estimate SNP-heritability using LD Score regression. Requires GWAS summary statistics and LD scores. |
| annotate_snpsA | Annotate SNPs with gene names, functional consequences, and allele frequencies from Ensembl VEP and gnomAD. |
| query_gwas_catalogA | Query the NHGRI-EBI GWAS Catalog for previously reported associations for a SNP or trait. |
| get_eqtl_dataA | Get expression quantitative trait loci (eQTL) data from GTEx for a SNP and tissue. |
| gene_set_enrichmentC | Perform gene set enrichment analysis using GO and KEGG pathways via Enrichr. |
| create_manhattan_plotB | Create a Manhattan plot from GWAS summary statistics. Shows -log10(p-value) across chromosomes. |
| create_qq_plotA | Create a Quantile-Quantile (QQ) plot from GWAS p-values. Shows observed vs expected p-values. |
| create_regional_plotB | Create a regional association plot (LocusZoom-style) for a specific genomic region around a lead SNP. |
| create_pca_plotB | Create a PCA scatter plot showing population structure. Plots PC1 vs PC2. |
| calculate_prsB | Calculate Polygenic Risk Scores (PRS) for individuals using GWAS summary statistics and target genotypes. |
| clump_snpsC | Perform LD-based clumping of GWAS results to identify independent significant signals. |
| extract_locusB | Extract genotype data for a specific genomic region around a lead SNP for fine-mapping. |
| search_uniprotA | Search UniProt for protein information by protein name, gene name, or UniProt ID. Returns protein function, sequence info, and associated genes. |
| get_protein_detailsA | Get detailed protein information from UniProt by UniProt accession ID. Returns full protein details including function, domains, and GO annotations. |
| search_ncbi_geneB | Search NCBI Gene database for gene information by gene symbol, name, or ID. |
| get_interpro_domainsC | Get protein domain information from InterPro for a given UniProt ID or protein sequence. |
| search_ensembl_geneA | Search Ensembl for gene information by gene symbol or Ensembl ID. Returns gene location, biotype, and description. |
| get_variant_infoA | Get detailed variant/SNP information from Ensembl by rsID. Returns position, alleles, clinical significance, and consequences. |
| search_clinvarB | Search ClinVar for clinical variant interpretations. Find pathogenic/benign classifications for genetic variants. |
| get_clinvar_variantB | Get detailed ClinVar information for a specific variant by rsID or ClinVar ID. |
| get_protein_interactionsB | Get protein-protein interaction network from STRING database. Shows what proteins interact with your protein of interest. |
| get_interaction_networkB | Get interaction network between a list of proteins from STRING. Shows how multiple proteins interact with each other. |
| get_functional_enrichmentA | Get functional enrichment analysis for a list of proteins using STRING. Returns enriched GO terms, pathways, and domains. |
| search_pdb_structuresB | Search PDB for protein 3D structures by protein name, gene name, or UniProt ID. |
| get_pdb_structureB | Get detailed information about a PDB structure by PDB ID. |
| search_kegg_pathwayA | Search KEGG for metabolic and signaling pathways by name or gene. |
| get_kegg_pathwayA | Get detailed KEGG pathway information including genes and description. |
| get_gene_pathwaysA | Find all KEGG pathways that a gene participates in. |
| search_pharmgkbB | Search PharmGKB for drug-gene interactions and pharmacogenomics data. |
| get_drug_gene_interactionsA | Get drug-gene interaction annotations from PharmGKB for a specific gene. |
| get_alphafold_structureA | Get AlphaFold AI-predicted protein structure by UniProt ID. Returns structure confidence and download links. |
| search_alphafoldA | Search AlphaFold database for predicted structures by gene name or protein name. |
| get_drug_targetsA | Get drug target information from Open Targets for a gene. Shows drugs in development and approved drugs targeting this gene. |
| get_disease_associationsA | Get disease associations for a gene from Open Targets with evidence scores. |
| search_open_targetsB | Search Open Targets Platform for genes, diseases, or drugs. |
| search_omimB | Search OMIM (Online Mendelian Inheritance in Man) for genetic diseases and phenotypes. |
| get_gene_diseasesA | Get genetic diseases associated with a gene from OMIM and other sources. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
| GWAS Catalog Traits | List of all traits/diseases in the GWAS Catalog database |
TDQS
Scored across 44 tools
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.