genomics-mcp

genomics-mcp

Provides programmatic access to curated SNP data by trait, enabling LLM-powered applications to search, interpret, and discover genetic variants.

Category
Visit Server

README

Genomics MCP Server

An MCP (Model Context Protocol) server that provides programmatic access to SNP (Single Nucleotide Polymorphism) data by trait. Enables LLM-powered applications to query curated genomics information through a standardized interface.

🌟 Features

  • 🧬 Search SNPs by trait - Find genetic variants associated with specific traits (e.g., "alzheimer_risk", "athletic_performance")
  • πŸ” Detailed SNP information - Get comprehensive data including genomic coordinates, genes, effects, and research sources
  • πŸ§ͺ Genotype interpretation - Understand what a specific genotype (e.g., "AG", "TT") means for a given SNP
  • πŸ“‹ Trait discovery - List all available traits with SNP counts, grouped by category, with optional pagination
  • πŸ“Š Dataset metadata - Query server version, SNP count, trait count, and last-updated date via get_metadata
  • πŸ“š Evidence-based - All data includes source citations with URLs and study types
  • ⚑ Fast lookups - In-memory indexing for sub-millisecond queries
  • πŸ”„ Database-ready - Repository pattern enables easy migration from JSON to SQL/NoSQL
  • 🌐 HTTP transport - Run as a standalone HTTP server (--transport http) in addition to the default stdio mode

πŸ“¦ Installation

# Install dependencies
bun install

# Run the server (stdio transport β€” default)
bun start

# Run as HTTP server (port 3000 by default)
bun start -- --transport http

# HTTP on a custom port
bun start -- --transport http --port 8080

πŸš€ Quick Start

Testing with MCP Inspector

The MCP Inspector is the recommended way to test your server:

# Run the inspector (launches web UI)
bun run inspector

Then open the URL shown in your browser to interact with the tools.

Integration with an MCP Client

Add this server to your MCP client's configuration. For example, in a config.json:

{
  "mcpServers": {
    "genomics": {
      "command": "bun",
      "args": ["/absolute/path/to/genomics-mcp/src/index.ts"]
    }
  }
}

Note: Replace /absolute/path/to/genomics-mcp with the actual path to your installation. Consult your MCP client's documentation for the exact config file location and format.

πŸ› οΈ Available Tools

The server provides 5 MCP tools for querying genomics data:

Tool Description
search_by_trait Search for SNPs associated with one or more traits (supports "any"/"all" matching, pagination)
get_snp_details Get comprehensive information about a specific SNP by rsID
interpret_genotype Interpret what a specific genotype (e.g., "AG", "CT") means for a given SNP
list_traits List all available traits with SNP counts, grouped by category (supports filtering and pagination)
get_metadata Return dataset statistics (SNP count, trait count, last-updated) and server version

All tools support both markdown and json response formats.

πŸ‘‰ See Tool Reference for detailed documentation, parameters, and examples.

πŸ“Š Dataset

The dataset covers a broad range of well-studied SNPs across multiple trait categories, including:

  • Neurological: Alzheimer's risk (APOE), memory (BDNF), cognitive function (COMT), dopamine signaling (DRD2)
  • Behavioral: Social behavior (OXTR), addiction risk (DRD2), nicotine dependence (CHRNA3)
  • Cardiovascular: Heart disease risk (9p21), hypertension (AGT), HDL cholesterol (CETP), beta-blocker response (ADRB1)
  • Metabolic: Folate metabolism (MTHFR), obesity risk (FTO), triglyceride levels (APOA5)
  • Pharmacogenomics: Drug metabolism (CYP2C9, CYP2C19), warfarin sensitivity (VKORC1), fluorouracil toxicity (DPYD), hepatitis C treatment (IFNL3), abacavir hypersensitivity (HCP5)
  • Autoimmune & Immune: Celiac disease (HLA-DQA1), rheumatoid arthritis (STAT4), autoimmune risk (PTPN22)
  • Inflammation: IL-1Ξ² (IL1B), IL-10 (IL10), CRP levels (CRP)
  • Cancer & Developmental: Detoxification (NQO1), melanoma risk (TYR), lung cancer risk (CHRNA3)
  • Eye & Vision: Age-related macular degeneration (CFH, ARMS2)
  • Bone & Musculoskeletal: Bone density (COL1A1, ESR1), osteoporosis risk
  • Iron & Liver: Hemochromatosis (HFE), Gilbert syndrome (UGT1A1)
  • Physical Traits: Eye color (OCA2), skin pigmentation (TYR, MC1R)
  • Athletic: Sprint/endurance performance (ACTN3)
  • Nutrition & Metabolism: Lactose intolerance (MCM6), vitamin D levels (GC, VDR)
  • Circadian & Sleep: Circadian rhythm (CLOCK), sleep duration (DEC2)
  • Musculoskeletal & Uric Acid: Gout risk (ABCG2), uric acid levels (SLC2A9)

All SNPs include:

  • Genomic coordinates (chromosome, position)
  • Associated genes and traits
  • Genotype-specific effects with risk levels
  • Population frequencies
  • Research source citations with URLs

πŸ—οΈ Architecture

The server uses a layered architecture: Tools β†’ Use Cases β†’ Repository β†’ Data, with in-memory indexing for sub-millisecond queries and a repository interface that makes database migration trivial.

πŸ‘‰ See Architecture Guide for diagrams, design patterns, data model, and technical details.

πŸ§ͺ Development

# Install dependencies
bun install

# Run in development mode (auto-reload)
bun run dev

# Run automated tests
bun test

# Type-check (optional β€” Bun runs TypeScript directly)
bun run build

# Format code
bun run format

# Lint code
bun run lint

# Lint + format in one pass (auto-fixes)
bun run check

A pre-commit hook runs bun run check on staged files and then bun test before every commit.

πŸ“ Adding New SNPs

To add new SNPs to the dataset:

  1. Edit src/repositories/data/snps.json
  2. Follow the schema with required fields:
    • rsid, genes, traits, description, chromosome, position
    • reference_allele, effects_by_genotype, sources, last_updated
  3. Restart the server β€” Zod validates on startup and will report any schema violations
  4. If the SNP introduces a new trait slug, add it to both the TRAIT_CATEGORIES map (for category grouping) and the TRAIT_DISPLAY_NAMES map (for the display label) in src/types/trait-categories.ts. Unlisted slugs fall back to Other and auto-generated Title Case respectively.
  5. Optionally run bun run build to type-check

The data is validated against Zod schemas on load, so any schema violations will be caught immediately.

πŸ“š Resources

Data Sources

The curated SNP dataset draws on the following authoritative genomics databases:

  • dbSNP β€” NCBI reference database for SNP identifiers, genomic coordinates, and allele frequencies
  • ClinVar β€” NCBI archive of clinically relevant genomic variants and their interpretations
  • SNPedia β€” Community-curated wiki of SNP associations and genotype effects
  • PharmGKB β€” Pharmacogenomics knowledge base for drug–gene interactions
  • CPIC β€” Clinical Pharmacogenetics Implementation Consortium guidelines
  • GnomAD β€” Genome Aggregation Database for population allele frequencies

πŸ“„ License

MIT License - see LICENSE file for details


Note: This server provides educational genomics information only. It is not intended for clinical use or medical diagnosis. Always consult healthcare professionals for medical decisions.

Recommended Servers

playwright-mcp

playwright-mcp

A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.

Official
Featured
TypeScript
Magic Component Platform (MCP)

Magic Component Platform (MCP)

An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.

Official
Featured
Local
TypeScript
Audiense Insights MCP Server

Audiense Insights MCP Server

Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.

Official
Featured
Local
TypeScript
VeyraX MCP

VeyraX MCP

Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.

Official
Featured
Local
graphlit-mcp-server

graphlit-mcp-server

The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.

Official
Featured
TypeScript
Kagi MCP Server

Kagi MCP Server

An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.

Official
Featured
Python
E2B

E2B

Using MCP to run code via e2b.

Official
Featured
Neon Database

Neon Database

MCP server for interacting with Neon Management API and databases

Official
Featured
Exa Search

Exa Search

A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.

Official
Featured
Qdrant Server

Qdrant Server

This repository is an example of how to create a MCP server for Qdrant, a vector search engine.

Official
Featured