Skip to content

Eldergenix/GenomeMCP

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

4 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

GenomeMCP

AI-powered genomic intelligence through the Model Context Protocol

Python 3.10+ MCP License: MIT ClinVar gnomAD Reactome Deploy on Railway

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

# 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.

CLI Commands

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

genomemcp --theme cyberpunk search BRCA1
genomemcp --theme professional gene TP53
genomemcp --theme minimal pathway EGFR

See CLI Guide 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

# 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

# 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:

{
  "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 Clinical variant interpretations NCBI E-utilities
gnomAD Population allele frequencies gnomAD GraphQL
Reactome Biological pathway database Reactome Content Service
PubMed Scientific literature NCBI E-utilities
NCBI 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

# 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


🀝 Contributing

Contributions are welcome! Please open an issue or submit a pull request.


πŸ“„ License

MIT License β€” see 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


Built for AI agents. Powered by open genomic data.

Nexis AI Banner

About

An AI-driven genomic intelligence system delivering structured ClinVar interpretation and high-precision exon, intron, and gene queries using the Model Context Protocol (MCP).

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages