GenomeMCP
by Eldergenix
README.md
# GenomeMCP
> **AI-powered genomic intelligence through the Model Context Protocol**
[](https://www.python.org/downloads/)
[](https://modelcontextprotocol.io/)
[](https://opensource.org/licenses/MIT)
[](https://www.ncbi.nlm.nih.gov/clinvar/)
[](https://gnomad.broadinstitute.org/)
[](https://reactome.org/)
[](https://railway.app/new/template?template=https%3A%2F%2Fgithub.com%2Fnexisdev%2FGenomeMCP&envs=SUPABASE_URL%2CSUPABASE_KEY&optionalEnvs=PORT)
**GenomeMCP** is a research-grade **Model Context Protocol (MCP) server** that enables AI agents to query clinical genomics databases, retrieve supporting scientific literature, analyze population genetics, and visualize biological pathways โ all in real-time.
---
## ๐ฅ๏ธ CLI Tool
GenomeMCP includes a beautiful command-line interface with rich formatting and an interactive TUI mode.
### Quick Install
```bash
# Recommended (any platform with Python)
pipx install genomemcp
# macOS (Homebrew)
brew install nexisdev/tap/genomemcp
# Windows (Scoop)
scoop bucket add genomemcp https://github.com/nexisdev/scoop-genomemcp
scoop install genomemcp
# From source
git clone https://github.com/nexisdev/GenomeMCP.git
cd GenomeMCP && ./install.sh
```
**Standalone binaries** available on [GitHub Releases](https://github.com/nexisdev/GenomeMCP/releases).
### CLI Commands
```bash
genomemcp search BRCA1 # ๐ Search ClinVar
genomemcp variant 12345 # ๐ Get variant report
genomemcp gene TP53 # ๐งฌ Get gene info
genomemcp pathway EGFR --visualize # ๐ฌ Pathway analysis
genomemcp population 1-55516888-G-GA # ๐ฅ gnomAD frequencies
genomemcp discover "Lynch Syndrome" # ๐ Discover related genes
genomemcp tui # ๐ฅ๏ธ Interactive mode
```
### Theme Options
```bash
genomemcp --theme cyberpunk search BRCA1
genomemcp --theme professional gene TP53
genomemcp --theme minimal pathway EGFR
```
See [CLI Guide](docs/cli_guide.md) for complete documentation.
---
## ๐ฏ Why GenomeMCP?
| Problem | GenomeMCP Solution |
| --------------------------------- | -------------------------------------------- |
| AI agents lack genomic knowledge | Direct ClinVar, gnomAD, Reactome integration |
| No evidence for clinical claims | Auto-retrieves PubMed abstracts |
| Variant interpretation is complex | Population frequency + pathway context |
| Gene-disease links are opaque | Automatic relationship discovery |
---
## ๐งฌ Features
### Core Genomics Tools
- **`search_clinvar(term)`** โ Query ClinVar for genes, variants, or diseases
- **`get_variant_report(id)`** โ Detailed clinical significance report
- **`get_gene_info(symbol)`** โ Gene function, location, and aliases from NCBI Gene
- **`get_supporting_literature(id)`** โ PubMed articles linked to a variant
### Population Genetics
- **`get_population_stats(variant)`** โ Allele frequency from gnomAD (Genome Aggregation Database)
### Pathway Analysis
- **`get_pathway_info(gene)`** โ Reactome biological pathways for a gene
- **`visualize_pathway(gene)`** โ Generate Mermaid.js diagrams of gene-pathway relationships
### Discovery & Synthesis
- **`find_related_genes(phenotype)`** โ Discover genes associated with a disease
- **`get_genomic_context(gene, position)`** โ Identify exon vs intron regions
- **`get_discovery_evidence(phenotype)`** โ Aggregate PubMed abstracts for AI reasoning
---
## ๐ Quick Start
### MCP Server Installation
```bash
# Clone the repository
git clone https://github.com/nexisdev/GenomeMCP.git
cd GenomeMCP
# Install dependencies with uv
uv sync
# Run the MCP server
uv run python src/main.py
```
### CLI Installation
```bash
# Using the install script
./install.sh
# Or with pip
pip install genomemcp[cli]
# Or for development
./setup-dev.sh
source .venv/bin/activate
```
### Claude Desktop Integration
Add to your `claude_desktop_config.json`:
```json
{
"mcpServers": {
"genomemcp": {
"command": "uv",
"args": [
"--directory",
"/path/to/GenomeMCP",
"run",
"python",
"src/main.py"
]
}
}
}
```
```
### โ๏ธ Cloud Deployment (Railway)
You can deploy the GenomeMCP server to the cloud with one click. It will be exposed as an SSE (Server-Sent Events) endpoint, ready for remote agents.
1. Click the **Deploy on Railway** button above.
2. Provide your `SUPABASE_URL` and `SUPABASE_KEY` (optional, for persistence).
3. Connect your agent to the deployment URL (e.g. `https://your-app.up.railway.app/sse`).
---
## ๐ Usage Examples
### Search for a Gene Variant
```
User: "What variants are associated with BRCA1?"
Agent uses: search_clinvar("BRCA1")
```
### Get Population Frequency
```
User: "How common is the variant 1-55516888-G-GA?"
Agent uses: get_population_stats("1-55516888-G-GA")
โ Returns gnomAD allele frequency: 0.000123 (0.01%)
```
### Discover Gene-Disease Relationships
```
User: "What genes are linked to Lynch Syndrome?"
Agent uses: find_related_genes("Lynch Syndrome")
โ Returns: MSH2 (12 variants), MLH1 (8 variants), PMS2 (5 variants)
```
### Visualize Pathways
```
User: "Show me the pathways for TP53"
Agent uses: visualize_pathway("TP53")
โ Returns Mermaid diagram:
````
```mermaid
graph TD
TP53((TP53))
TP53 --> P_123["Transcriptional Regulation by TP53"]
TP53 --> P_456["Cell Cycle Checkpoints"]
TP53 --> P_789["DNA Damage Response"]
````
---
## ๐ฌ Data Sources
| Source | Description | API |
| ------------------------------------------------ | -------------------------------- | ------------------------ |
| [ClinVar](https://www.ncbi.nlm.nih.gov/clinvar/) | Clinical variant interpretations | NCBI E-utilities |
| [gnomAD](https://gnomad.broadinstitute.org/) | Population allele frequencies | gnomAD GraphQL |
| [Reactome](https://reactome.org/) | Biological pathway database | Reactome Content Service |
| [PubMed](https://pubmed.ncbi.nlm.nih.gov/) | Scientific literature | NCBI E-utilities |
| [NCBI Gene](https://www.ncbi.nlm.nih.gov/gene/) | Gene annotations | NCBI E-utilities |
---
## ๐๏ธ Architecture
```
GenomeMCP/
โโโ src/
โ โโโ main.py # MCP server & tool definitions
โ โโโ clinvar.py # ClinVar & PubMed API client
โ โโโ genomics.py # Exon/Intron mapping
โ โโโ population.py # gnomAD integration
โ โโโ pathways.py # Reactome integration
โ โโโ utils.py # Shared utilities
โ โโโ cli/ # Command-line interface
โ โโโ app.py # Typer CLI application
โ โโโ formatters/ # Rich output formatters
โ โโโ tui/ # Textual interactive UI
โ โโโ config.py # Theme configuration
โโโ tests/ # Unit tests
โโโ docs/ # Documentation
โโโ install.sh # Quick install script
โโโ setup-dev.sh # Development setup
โโโ pyproject.toml # Project configuration
```
---
## ๐งช Testing
```bash
# Run all tests
uv run pytest
# Run CLI tests
uv run pytest tests/test_cli.py -v
# Run specific test suite
uv run pytest tests/test_phase4.py tests/test_phase5.py
```
---
## ๐ Documentation
- [CLI Guide](docs/cli_guide.md) โ Command-line interface documentation
- [Tool Reference](docs/tool_reference.md) โ Complete API documentation
- [Architecture Guide](docs/architecture_and_capabilities.md) โ System design
---
## ๐ค Contributing
Contributions are welcome! Please open an issue or submit a pull request.
---
## ๐ License
MIT License โ see [LICENSE](LICENSE) for details.
---
## ๐ Keywords
`genomics` `bioinformatics` `clinvar` `gnomad` `mcp` `model-context-protocol` `ai-agent` `claude` `variant-interpretation` `population-genetics` `reactome` `pathway-analysis` `pubmed` `ncbi` `gene-discovery` `clinical-genomics` `precision-medicine` `llm-tools` `cli` `tui` `terminal`
---
<p align="center">
<strong>Built for AI agents. Powered by open genomic data.</strong>
</p>
<div align="center">
<img src="https://raw.githubusercontent.com/Nexis-AI/branding-assets/refs/heads/main/nex_banner.png" alt="Nexis AI Banner" width="100%" />
</div>
This server cannot be deployed
Maintenance
ActivityInactive
ResponsivenessUnresponsive