Retrieve mouse phenotype data from the Jackson Laboratory Mouse Phenome Database (MPD) via its REST API. Browse 520+ projects, look up per-project measure metadata, pull strain-level means (raw or LS-mean adjusted) and per-animal values, find measures by MP/VT ontology terms, and resolve strain nomenclature or gene coordinates.
SkillScore91Maintained
Automatic
◆Research pack
Last verified 9/3/2026
What it changes
Passed 20 of 22 test cases with the skill, and 5 of 22 without it.
Without skill23%
With skill91%
Checks it passed that the model alone missed
Accesses JSON key jaxinfo.
Accesses JSON key mpdinfo.
Queries endpoint /geneinfo/Lep.
and 22 more in the full report
16 fixed4 passed either way1 still failing1 broke
Pass-rate lift
+68 pp
Tokens
+291%
Agent turns
0%
Response time
-43%
Model gemini-3.6-flashMeasured 9/3/2026v220 of 22 cases passed with skill
Tokens, turns and time describe resource use, not a dollar price.
See it in action
One of 16 test cases the skill fixed. Same model, same prompt, with and without the skill.
1 of 16
Prompt
What API endpoint in the Mouse Phenome Database retrieves all valid values for panel symbols before filtering projects?
What was checked, without and with the skill
Checked
Without skill
With skill
Queries endpoint /project_filters/panelsym.
Missed
Passed
case-11 · gemini-3.6-flash · 9/3/2026 · answers are capped and redacted
What's inside
The instructions your model reads when the skill loads.
SKILL.md532 linessingle file
mouse-phenome-database
Overview
The Mouse Phenome Database (MPD), maintained at the Jackson Laboratory, catalogs standardized phenotype measurements across inbred, recombinant inbred (e.g., BXD), and Collaborative Cross / Diversity Outbred mouse panels. It aggregates 520+ projects spanning metabolic, cardiovascular, behavioral, hematological, and immunological traits. The REST API at https://phenome.jax.org/api is free, requires no authentication, and is documented at https://phenome.jax.org/about/api. MPD measurement IDs (measnum) are project-scoped 5-digit integers — there is no global "measnum 10001 = body weight" mapping; valid measnums must be discovered per project via the measureinfo endpoint.
When to Use
Selecting inbred strains with extreme phenotypes (highest/lowest fasted glucose, body weight, heart rate, etc.) as experimental models
Pulling individual-animal data from BXD / CC / DO panels for QTL mapping with R/qtl2 or similar tools
Comparing strain means and variance across metabolic, behavioral, or cardiovascular measures for genetic background studies
Finding MPD projects that measure a trait of interest using ontology terms (MP, VT, MA) or free-text descriptions
Validating mouse strain nomenclature (canonical JAX names ↔ stock numbers ↔ MGI IDs) before submitting orders or analyses
Looking up coordinates and annotations for mouse genes in the MPD/MGI cross-reference
Use omics-plotting SKILL to render strain-mean bar charts and strain × measure heatmaps from the query results
Use monarch-database instead for disease-gene-phenotype knowledge graphs (HPO ↔ MP ↔ disease)
Use ensembl-database instead for transcript-level mouse gene annotations and variant consequence prediction
Prerequisites
Python packages: requests, pandas, matplotlib
Data requirements: a project symbol (e.g., Jaxwest1, Auwerx1) or a measnum (e.g., 15101); strain names follow JAX canonical nomenclature (e.g., C57BL/6J, DBA/2J)
Environment: internet connection; no API key required
Rate limits: no published hard limit; keep bursts under ~5 requests/second and add time.sleep(0.3) between requests in loops
pip install requests pandas matplotlib
Quick Start
import requests
MPD = "https://phenome.jax.org/api"
# 1) Pick a project (Jaxwest1 — cardiovascular phenotyping on inbred panel)
r = requests.get(f"{MPD}/projects/Jaxwest1/strains", timeout=30)
strains = r.json()["strains"]
print(f"Jaxwest1: {len(strains)} strains tested")