GWAS Bioinformatics MCP Server

Access 30+ bioinformatics tools from 14 databases.

โ˜… 0MITdatabases

Install

Config snippet generator goes here (5 client tabs)

README

# ๐Ÿงฌ GWAS-MCP: Bioinformatics MCP Server

[![PyPI version](https://badge.fury.io/py/gwas-mcp.svg)](https://badge.fury.io/py/gwas-mcp)
[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)
[![MCP](https://img.shields.io/badge/MCP-Compatible-blue)](https://modelcontextprotocol.io)

<!-- mcp-name: io.github.zaeyasa/gwas-mcp -->

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.

<p align="center">
  <img src="https://img.shields.io/badge/Tools-30+-green" alt="30+ Tools">
  <img src="https://img.shields.io/badge/Databases-12+-blue" alt="12+ Databases">
  <img src="https://img.shields.io/badge/Python-3.10+-blue" alt="Python 3.10+">
</p>

---

## โœจ 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

---

## ๐Ÿš€ Quick Start

### Installation

```bash
pip install gwas-mcp
```

### Claude Desktop Configuration

Add to your `claude_desktop_config.json`:

```json
{
  "mcpServers": {
    "gwas-bioinformatics": {
      "command": "python",
      "args": ["-m", "gwas_mcp.server"]
    }
  }
}
```

**Config file location:**
- Windows: `%APPDATA%\Claude\claude_desktop_config.json`
- macOS: `~/Library/Application Support/Claude/claude_desktop_config.json`
- Linux: `~/.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` | Search UniProt by protein name, gene, or ID |
| `get_protein_details` | Get detailed protein info (function, domains, GO terms) |
| `search_ncbi_gene` | Search NCBI Gene database |
| `search_ensembl_gene` | Get gene location and details from Ensembl |
| `get_variant_info` | Get SNP/variant info by rsID |
| `get_interpro_domains` | Get protein domain information |

### Clinical & Variant Tools

| Tool | Description |
|------|-------------|
| `search_clinvar` | Search ClinVar for clinical variants |
| `get_clinvar_variant` | Get clinical interpretation for a variant |
| `annotate_snps` | Annotate SNPs with functional consequences |
| `query_gwas_catalog` | Query GWAS Catalog for associations |
| `get_eqtl_data` | Get eQTL data from GTEx |

### Protein Interaction Tools

| Tool | Description |
|------|-------------|
| `get_protein_interactions` | Find interacting proteins (STRING) |
| `get_interaction_network` | Get network between multiple proteins |
| `get_functional_enrichment` | Pathway/GO enrichment analysis |

### Structure & Pathway Tools

| Tool | Description |
|------|-------------|
| `get_alphafold_structure` | Get AI-predicted structure |
| `search_alphafold` | Search AlphaFold database |
| `search_pdb_structures` | Search PDB for 3D structures |
| `get_pdb_structure` | Get PDB structure details |
| `search_kegg_pathway` | Search KEGG pathways |
| `get_kegg_pathway` | Get pathway genes and details |
| `get_gene_pathways` | Find pathways for a gene |

### Drug Discovery Tools

| Tool | Description |
|------|-------------|
| `get_drug_targets` | Find drugs targeting a gene (Open Targets) |
| `get_disease_associations` | Get disease associations with scores |
| `search_open_targets` | Search genes, diseases, or drugs |
| `search_pharmgkb` | Search PharmGKB database |
| `get_drug_gene_interactions` | Get drug-gene interactions |

### Genetic Disease Tools

| Tool | Description |
|------|-------------|
| `search_omim` | Search OMIM for genetic diseases |
| `get_gene_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