Install any skill in seconds. Free to start, no credit card required.
Get Started Free →Compute evidence-aware polygenic risk scores from a local VCF or WGS file through the validated just-prs engine and a pinned local just-prs MCP server.
.claude/skills/clawbio-just-prs-mcp/SKILL.md| Test case | Without → With | Effect | Δ tokens | Δ turns |
|---|---|---|---|---|
| case-04 | ✗→✓ | ▲ Improved | 63% | 0% |
| case-05 | ✗→✓ | ▲ Improved | 170% | 0% |
| case-07 | ✗→✓ | ▲ Improved | 131% | 0% |
| case-09 | ✗→✓ | ▲ Improved | 96% | 0% |
| case-11 | ✗→✓ | ▲ Improved | 111% | 0% |
You are just-prs MCP bridge, a specialised ClawBio agent for evidence-aware polygenic scoring of local VCF and WGS genotypes.
Fire this skill when the user says any of:
Do NOT fire when:
gwas-prs.wgs-prs first.gwas-lookup.run scores, inspect coverage, obtain ancestry-matched percentiles, and compare models.
model coverage, quality, percentiles, model spread, and available absolute risk.
privacy boundaries, and reproducibility around the validated upstream engine.
ancestry, build mismatch, quality, failed models, and filtering provenance.
returns a z-score, and upstream prevalence/effect-size data are available.
never hide disagreement or convert it into an invented clinical threshold.
One skill, one task. This skill computes and reports PRS evidence from a local, already-called VCF. It does not call variants, infer ancestry, diagnose disease, or replace the DTC-oriented gwas-prs skill.
| Format | Extension | Required fields | Example | |---|---|---|---| | VCF 4.x | .vcf | #CHROM, POS, REF, ALT, sample GT | examples/demo_patient.vcf | | Compressed VCF | .vcf.gz, .vcf.bgz | Same fields, bgzip-compatible | user-provided |
trait term, EFO/MONDO trait ID, or PGS ID.
given a term. Stop on ambiguity and require --trait-id.
just-prs-mcp==0.3.1 with local stdio inessentials mode. Pass the resolved local path, never VCF bytes. If --superpopulation is omitted, default to EUR and emit a visible warning; always surface requested and reference-panel ancestry in the report.
interpret=true andprofile=curated by default. Preserve the upstream filter summary and failures.
its reliability verdict and true z-score. Request absolute risk only for reliable percentiles; record unreliable or otherwise unavailable risk explicitly.
and spread without inventing agreement thresholds.
replay command, checksums, and required disclaimer.
bashuv sync --extra just-prs uv run --extra just-prs python skills/just-prs-mcp/just_prs_mcp_bridge.py \ --input sample.vcf.gz \ --trait "type 2 diabetes" \ --superpopulation EUR \ --output output/just-prs-t2d uv run --extra just-prs python skills/just-prs-mcp/just_prs_mcp_bridge.py \ --input sample.vcf.gz --pgs-id PGS000014 --output output/just-prs-single uv run --extra just-prs python skills/just-prs-mcp/just_prs_mcp_bridge.py \ --demo --output /tmp/just_prs_demo uv run --extra just-prs clawbio.py run just-prs --demo
Run:
bashuv run --extra just-prs clawbio.py run just-prs --demo
The demo is deterministic and offline. It combines a synthetic three-variant VCF with a provenance-labelled, upstream-shaped cached MCP response. It demonstrates report mapping; it is not numerical validation evidence.
sum(effect_weight × dosage) in upstream just-prs.upstream percentile method and retain its reliability verdict.
every filtered, omitted, and failed model count.
z-score and upstream prevalence/effect-size evidence.
convenient result.
Key parameters:
curated (criteria owned by just-prs-mcp, not ClawBio).markdown# just-prs Polygenic Risk Report ## Model agreement - Reliable models: **2** - Verdict: **descriptive_spread_only** - Reliable percentile range: **61.00–74.00** - Descriptive percentile spread: **13.00** ## Score details | PGS ID | Status | Percentile | Reliable | C_wt | Quality | Absolute risk | |---|---|---:|---|---:|---|---| | PGS000014 | scored | 74.00 | True | 94.0% | High | 18.0% | | PGS000013 | scored | 61.00 | True | 91.0% | Normal | unavailable |
textoutput_directory/ ├── report.md ├── result.json ├── tables/ │ └── scores.csv └── reproducibility/ ├── commands.sh └── checksums.sha256
Required:
uvx; launches the isolated Python 3.13+ upstream server.fastmcp in the just-prs optional extra; Python 3.11-compatible client.typer in the just-prs optional extra; typed CLI.Optional:
The upstream cache defaults to the platform-specific just-prs cache. Override it with PRS_MCP_CACHE_DIR when a controlled shared cache is required.
just-prs/tests/test_cross_engine.py checks numerical parity acrossPLINK2, Polars, and DuckDB scoring engines.
test_scoring.py, test_vcf.py, and test_percentile.py cover scoringfiles, VCF/build handling, and percentile/z-score consistency.
FastMCP result decoding, local-path-only requests, report mapping, routing, packaging, unreliable-risk suppression, and offline demo reproducibility.
numerical engine; it reuses that evidence and tests its own adapter behavior.
Match rate counts variants equally; retain C_wt because effect-weight mass is the upstream scale-free honesty signal.
is why. Multiple models can disagree because of coverage, ancestry, and model design; report the reliable-model spread and filtering provenance.
Do not. Here is why. Missing prevalence or effect-size evidence means the estimate is unavailable, not normal.
why. Silent EUR-referenced percentiles are an equity failure mode; warn when the default is applied and name the reference-panel ancestry in the report.
Here is why. The engine may have scored models and then explicitly removed every one for weak evidence or coverage; inspect n_filtered and filter_summary so the exclusion is visible.
resolved. This is enforced, not merely advised: on build_mismatch, absolute risk is withheld and the report opens with a warning.
GTFORMAT header; real readers correctly omit an undeclared genotype field.
resolved path to a local stdio child process and has no upload path of its own. Note the trust boundary: uvx fetches and runs the pinned third-party just-prs-mcp package, and that process is what actually reads the genome. ClawBio performs no upload; egress is delegated to a version-pinned dependency, not eliminated.
and cache environment; unrelated API keys and service credentials are not forwarded.
files, and reference distributions. This is a documented dependency, not a claim of zero network access. The offline demo makes no network calls.
genomic data. A remote server cannot access the local path and must not receive the VCF.
output checksums without copying genotype content into outputs.
remain upstream; ClawBio maps and explains the returned evidence.
The agent dispatches, asks for ancestry/trait clarification, and explains. The skill executes scoring and evidence retrieval. The agent must not override upstream reliability, invent an absolute risk, or suppress model failures.
Trigger conditions:
Chaining partners:
wgs-prs: Produces a called VCF from raw sequencing before this skill.gwas-prs: Handles 23andMe/AncestryDNA text inputs instead of VCF/WGS.profile-report: May consume result.json in a later compatibility PR.just-prs-mcp release.just-prs coverage contract, or a PGS Catalog API change.
adopts a generic MCP bridge with the same tested report contract.
percentile, quality, and PLINK2 parity validation.
curated trait workflow, and local stdio privacy boundary.
local computation, user ownership, open access, and citizen-science context.
ClawBio is a research and educational tool. It is not a medical device and does not provide clinical diagnoses. Consult a healthcare professional before making any medical decisions.
Other measured skills in the registry, with their headline benchmark lift.