Metadata-Version: 2.4
Name: pgx-mcp
Version: 0.1.0
Summary: MCP server for pharmacogenomics — real-time access to ClinVar, PharmGKB, gnomAD, OpenTargets, and clinical trials from Claude
Project-URL: Homepage, https://github.com/Julius-Schmidt/mcp-pharmacogenomics
Project-URL: Repository, https://github.com/Julius-Schmidt/mcp-pharmacogenomics
Project-URL: Issues, https://github.com/Julius-Schmidt/mcp-pharmacogenomics/issues
Author: Julius Schmidt
License-Expression: MIT
License-File: LICENSE
Keywords: clinvar,cpic,gnomad,mcp,opentargets,pgx,pharmacogenomics,pharmgkb
Classifier: Development Status :: 3 - Alpha
Classifier: Intended Audience :: Healthcare Industry
Classifier: Intended Audience :: Science/Research
Classifier: License :: OSI Approved :: MIT License
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Programming Language :: Python :: 3.13
Classifier: Topic :: Scientific/Engineering :: Bio-Informatics
Classifier: Topic :: Scientific/Engineering :: Medical Science Apps.
Requires-Python: >=3.11
Requires-Dist: cachetools>=5.3
Requires-Dist: httpx>=0.27.0
Requires-Dist: mcp[cli]>=1.8.0
Requires-Dist: pydantic-settings>=2.0
Requires-Dist: pydantic>=2.0
Provides-Extra: dev
Requires-Dist: mypy>=1.10; extra == 'dev'
Requires-Dist: pytest-asyncio>=0.24; extra == 'dev'
Requires-Dist: pytest-cov>=5.0; extra == 'dev'
Requires-Dist: pytest>=8.0; extra == 'dev'
Requires-Dist: respx>=0.22; extra == 'dev'
Requires-Dist: ruff>=0.8; extra == 'dev'
Description-Content-Type: text/markdown

# pgx-mcp

An open-source MCP server that gives Claude real-time access to pharmacogenomics databases — turning genetic variant lookups and drug interaction checks from a 45-minute manual workflow into a single conversation.

## Features

- **ClinVar**: Variant clinical significance and pathogenicity
- **PharmGKB**: Drug-gene interactions, clinical annotations, CPIC/DPWG dosing guidelines
- **gnomAD**: Population allele frequencies across ancestries
- **Open Targets**: Drug-target-disease associations, pharmacogenomics evidence
- **ClinicalTrials.gov**: Clinical trial search (US and international)

## Installation

```bash
pip install pgx-mcp
```

Or with uvx:

```bash
uvx pgx-mcp
```

## Claude Desktop Configuration

Add to your Claude Desktop config (`~/Library/Application Support/Claude/claude_desktop_config.json`):

```json
{
  "mcpServers": {
    "pgx-mcp": {
      "command": "uvx",
      "args": ["pgx-mcp"]
    }
  }
}
```

For local development:

```json
{
  "mcpServers": {
    "pgx-mcp": {
      "command": "uv",
      "args": ["--directory", "/path/to/mcp-pharmacogenomics", "run", "pgx-mcp"]
    }
  }
}
```

## Available Tools

| Tool | Source | Description |
|------|--------|-------------|
| `lookup_variant_clinvar` | ClinVar | Variant clinical significance |
| `search_gene_variants_clinvar` | ClinVar | List variants in a gene |
| `get_drug_gene_interactions` | PharmGKB | Clinical annotations for drug-gene pairs |
| `get_drug_info` | PharmGKB | Drug details and cross-references |
| `get_dosing_guideline` | PharmGKB | CPIC/DPWG dosing recommendations |
| `search_drug_targets` | Open Targets | Drug mechanisms, indications, PGx evidence |
| `get_variant_frequency` | gnomAD | Population allele frequencies |
| `search_clinical_trials` | ClinicalTrials.gov | Trial search with filters |
| `get_trial_details` | ClinicalTrials.gov | Full trial details |
| `pgx_consultation` | All | Comprehensive PGx consultation report |

## Example Usage

Ask Claude:

> "My patient is a CYP2D6 poor metabolizer (*4/*4) and needs pain management. What should I prescribe?"

> "What are the CPIC guidelines for clopidogrel and CYP2C19?"

> "Are there any recruiting pharmacogenomics clinical trials in Germany?"

## Configuration

All settings are optional and configured via environment variables:

| Variable | Default | Description |
|----------|---------|-------------|
| `PGX_MCP_NCBI_API_KEY` | None | NCBI API key for higher ClinVar rate limits |
| `PGX_MCP_CACHE_TTL_SECONDS` | 3600 | Cache duration in seconds |

## Development

```bash
git clone https://github.com/Julius-Schmidt/mcp-pharmacogenomics.git
cd mcp-pharmacogenomics
pip install -e ".[dev]"
pytest
```

## License

MIT
