Skip to main content
Glama
winternewt
by winternewt

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault
PRS_MCP_HOSTNoHTTP server host
PRS_MCP_MODENoServer mode: essentials or extendedessentials
PRS_MCP_PORTNoHTTP server port
PRS_MCP_HF_TOKENNoHuggingFace token for catalog upload
PRS_MCP_CACHE_DIRNoRoot directory for cached data
PRS_MCP_LOG_LEVELNoLogging level
PRS_MCP_TRANSPORTNoTransport type (stdio, http, etc.)
FASTMCP_DOCKET_URLNoRedis URL for background task backend
PRS_MCP_DEFAULT_PANELNoDefault reference panel
PRS_MCP_DUCKDB_MEMORY_LIMITNoMemory limit for DuckDB
PRS_MCP_DEFAULT_GENOME_BUILDNoDefault genome build (e.g., GRCh37, GRCh38)

Capabilities

Features and capabilities supported by this server

CapabilityDetails
tasks
{
  "list": {},
  "cancel": {},
  "requests": {
    "tools": {
      "call": {}
    },
    "prompts": {
      "get": {}
    },
    "resources": {
      "read": {}
    }
  }
}
tools
{
  "listChanged": true
}
logging
{}
prompts
{
  "listChanged": false
}
resources
{
  "subscribe": false,
  "listChanged": false
}
extensions
{
  "io.modelcontextprotocol/ui": {}
}
experimental
{}

Tools

Functions exposed to the LLM to take actions

NameDescription
search_scoresA

Search the PGS Catalog for polygenic scores by free text.

Case-insensitive substring match across PGS ID, score name, reported trait, and EFO trait. Optionally filter to a genome build (GRCh37 / GRCh38, harmonized cross-build scores included). Returns up to limit matches with their key metadata.

score_infoA

Get cleaned metadata for a single PGS score by its ID (e.g. 'PGS000001').

best_performanceA

Look up the best evaluation performance for a score (largest sample, EUR-preferred).

Returns parsed effect sizes (OR/HR/Beta) and classification metrics (AUROC/C-index) plus pre-formatted display strings.

search_traitsA

Search the PGS Catalog REST API for traits by term (e.g. 'type 2 diabetes').

trait_infoA

Fetch a trait by EFO ID (e.g. 'EFO_0001645') with its associated PGS IDs.

normalize_vcfA

Normalize a VCF to a quality-filtered genotype Parquet (background task).

Strips the chr prefix, renames id→rsid, computes genotype from GT, applies optional quality filters (FILTER allow-list, min DP, min QUAL), and writes zstd-compressed Parquet. The output is a drop-in genotype source for compute_prs / compute_prs_batch (pass it as genotypes_path), so a VCF is normalized once and reused across many scores.

Runs as a real MCP background task: the client gets a task id immediately and polls for the result. Normalization is the slow step (seconds to minutes depending on VCF size).

compute_prsA

Compute a polygenic risk score for one VCF against one PGS score.

Downloads the harmonized scoring file (cached) and scores the genotypes. Pass genotypes_path to reuse a normalized Parquet from normalize_vcf (avoids re-reading the VCF); otherwise the VCF is read directly. Returns the score, match rate, variant counts, trait, and (when data permits) a theoretical percentile.

percentileA

Estimate the population percentile (0-100) for a computed PRS value.

Uses the 3-tier fallback: precomputed reference-panel distributions (best), then a theoretical distribution, then an AUROC approximation. superpopulation is a 1000G code (AFR/AMR/EAS/EUR/SAS).

absolute_riskA

Estimate absolute disease risk from a PRS z-score and population prevalence.

Joins the score's trait to prevalence + effect-size data. z_score is the PRS in standard deviations from the population mean. Raises if the required prevalence / effect-size data is unavailable for this score.

assess_qualityA

Classify and interpret a PRS result's quality (pure logic — no I/O).

match_rate is the fraction of scoring variants matched (0-1). Returns a quality label/color and a human-readable interpretation combining match rate, AUROC, and (optionally) the result percentile.

Prompts

Interactive templates invoked by user choice

NameDescription
compute_prs_for_traitPrompt template: find and compute PRS for a trait against a VCF.

Resources

Contextual data attached and managed by the client

NameDescription
panelsReference panels, supported genome builds, and the active cache directory.

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/winternewt/just-prs-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server