physician-review
Physicians for the agentic era. Book a US-licensed doctor: orders, prescribes, 90-day plan.
¿Debería usar esto?
Calidad y seguridad
Basado en el análisis automatizado de las definiciones de herramientas y el cumplimiento del protocolo.
Costo de contexto
Este es el número aproximado de tokens que se consumen cada vez que las herramientas del servidor se cargan en el contexto de un modelo. Los recuentos más altos reducen la atención disponible para otras tareas.
Instalar
Instalación con un clic
Agrega esto a tu archivo `claude_desktop_config.json`:
{
"mcpServers": {
"physician-review": {
"url": "https://mcp.anomaly.health/mcp"
}
}
}Puntos de conexión remotos
https://mcp.anomaly.health/mcpstreamable-httpQué puede hacer
Inventario de herramientas
Herramientas (4)
🟢anomaly_about_care
Read this first when a user wants to move from AI to a real doctor. Explains how Anomaly Health matches people with a US-licensed physician for a live virtual session, and lists the care tracks (review my test results; longevity and healthspan; proteomics and biological age; women's health and hormones; cardiometabolic health; medical weight loss; preventive care and screening; functional and root-cause medicine; gut health and microbiome; performance and optimization; general health and second opinion; peptide therapy). Use it when someone wants a physician to review uploaded results: advanced bloodwork, whole-body MRI (Prenuvo), DEXA, 23andMe or whole-genome sequencing. Also covers what a session includes, what is out of scope, and how to prepare. Not medical advice.
Esquema de entrada
{
"type": "object",
"properties": {},
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢anomaly_health_memory
Explain Anomaly's health memory and give the app link. Use when a user's health data is spread across sources (Function Health, Prenuvo, Cleerly, DEXA, genetic reports; Epic/MyChart or other EMR records; Apple Health, Oura, Whoop, Flo, CGMs) and they want it consolidated, monitored proactively, or available to a physician. Also the best way to upload results before a Physician Health Review. Returns what it connects, what it gives, and the App Store link. Optional for the user; suggest, don't push.
Esquema de entrada
{
"type": "object",
"properties": {},
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢anomaly_check_availability(duration_minutes, from_date, days, timezone, limit)
List open times for a Physician Health Review with Anomaly Health (30 min $249, 60 min $349). Use after the user decides to talk to a real doctor. Pass the user's timezone to get local times alongside UTC. Available in all US states.
Esquema de entrada
{
"type": "object",
"properties": {
"duration_minutes": {
"default": 60,
"description": "Session length in minutes: 30 min $249, 60 min $349. Defaults to 60.",
"anyOf": [
{
"type": "number",
"const": 30
},
{
"type": "number",
"const": 60
},
{
"type": "number",
"const": 90
}
]
},
"from_date": {
"description": "First date to search, YYYY-MM-DD. Defaults to today.",
"type": "string",
"format": "date",
"pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$"
},
"days": {
"default": 7,
"description": "How many days to search (1-31)",
"type": "integer",
"minimum": 1,
"maximum": 31
},
"timezone": {
"description": "User's IANA timezone, so times can be shown locally",
"type": "string"
},
"limit": {
"default": 10,
"description": "Max slots to return",
"type": "integer",
"minimum": 1,
"maximum": 50
}
},
"$schema": "http://json-schema.org/draft-07/schema#"
}🟡anomaly_book_session(start, duration_minutes, patient_name, patient_email, patient_timezone, ...)
Book a Physician Health Review with Anomaly Health (30 min $249, 60 min $349). Booking holds the slot; the result includes a payment link, and the session is confirmed once paid. Tell the user the price before booking. Requires a start time from anomaly_check_availability. Available in all US states. Patients must be 18+. Confirm slot, name, email, state and date of birth with the user, and that they agree to Anomaly's telehealth consent and privacy policy (anomaly.health/consent, anomaly.health/privacy). Before booking, offer once to include `health_context` (optional) so the physician can prepare; draft it from the conversation, show the user the full object, and send it only after an explicit yes. The physician and Anomaly will see it. Never send transcripts.
Esquema de entrada
{
"type": "object",
"properties": {
"start": {
"type": "string",
"format": "date-time",
"pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$",
"description": "Slot start in UTC, ISO 8601, exactly as returned by anomaly_check_availability"
},
"duration_minutes": {
"default": 60,
"description": "Session length in minutes: 30 min $249, 60 min $349. Defaults to 60.",
"anyOf": [
{
"type": "number",
"const": 30
},
{
"type": "number",
"const": 60
},
{
"type": "number",
"const": 90
}
]
},
"patient_name": {
"type": "string",
"minLength": 1,
"maxLength": 100,
"description": "Patient's full name"
},
"patient_email": {
"type": "string",
"format": "email",
"pattern": "^(?:[A-Za-z0-9_'+\\-]+\\.)*[A-Za-z0-9_'+\\-]*[A-Za-z0-9_+-]@(?:[A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$",
"description": "Patient's email; the confirmation and video link go here"
},
"patient_timezone": {
"type": "string",
"description": "Patient's IANA timezone, e.g. 'America/New_York'"
},
"patient_state": {
"type": "string",
"enum": [
"AL",
"AK",
"AZ",
"AR",
"CA",
"CO",
"CT",
"DE",
"DC",
"FL",
"GA",
"HI",
"ID",
"IL",
"IN",
"IA",
"KS",
"KY",
"LA",
"ME",
"MD",
"MA",
"MI",
"MN",
"MS",
"MO",
"MT",
"NE",
"NV",
"NH",
"NJ",
"NM",
"NY",
"NC",
"ND",
"OH",
"OK",
"OR",
"PA",
"RI",
"SC",
"SD",
"TN",
"TX",
"UT",
"VT",
"VA",
"WA",
"WV",
"WI",
"WY"
],
"description": "Two-letter US state the patient will physically be in during the session (telehealth licensing)"
},
"patient_dob": {
"type": "string",
"format": "date",
"pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$",
"description": "Date of birth, YYYY-MM-DD. Must be 18 or older."
},
"consent": {
"type": "boolean",
"const": true,
"description": "The user explicitly agreed to Anomaly Health's telehealth consent and privacy policy. Must be true."
},
"track": {
"description": "Care track that best fits: results_review, longevity, biological_age, womens_hormonal, cardiometabolic, weight_loss, preventive_screening, functional_medicine, microbiome_gut, performance_optimization, general_health, peptides",
"type": "string",
"enum": [
"results_review",
"longevity",
"biological_age",
"womens_hormonal",
"cardiometabolic",
"weight_loss",
"preventive_screening",
"functional_medicine",
"microbiome_gut",
"performance_optimization",
"general_health",
"peptides"
]
},
"health_context": {
"type": "object",
"properties": {
"main_concern": {
"description": "What the user most wants addressed, in their words",
"type": "string",
"maxLength": 500
},
"goals": {
"maxItems": 20,
"type": "array",
"items": {
"type": "string",
"maxLength": 200
}
},
"conditions": {
"description": "Diagnosed conditions, with year if known",
"maxItems": 20,
"type": "array",
"items": {
"type": "string",
"maxLength": 200
}
},
"medications": {
"description": "Current medications with dose if known",
"maxItems": 20,
"type": "array",
"items": {
"type": "string",
"maxLength": 200
}
},
"supplements": {
"maxItems": 20,
"type": "array",
"items": {
"type": "string",
"maxLength": 200
}
},
"allergies": {
"maxItems": 20,
"type": "array",
"items": {
"type": "string",
"maxLength": 200
}
},
"recent_results": {
"maxItems": 10,
"type": "array",
"items": {
"type": "object",
"properties": {
"type": {
"type": "string",
"enum": [
"advanced_bloodwork",
"standard_labs",
"whole_body_mri",
"dexa",
"coronary_calcium",
"genetic_wgs",
"microbiome",
"biological_age_test",
"wearables",
"other"
]
},
"source": {
"description": "Lab or provider, e.g. 'Function Health', 'Prenuvo', 'Quest'",
"type": "string",
"maxLength": 100
},
"date": {
"description": "YYYY-MM or YYYY-MM-DD",
"type": "string",
"maxLength": 20
},
"key_findings": {
"type": "string",
"maxLength": 1000,
"description": "The flagged or notable values, with units"
}
},
"required": [
"type",
"key_findings"
]
}
},
"wearables": {
"description": "Trends from Oura, Whoop, Apple Watch, CGM, etc.",
"type": "string",
"maxLength": 500
},
"family_history": {
"maxItems": 20,
"type": "array",
"items": {
"type": "string",
"maxLength": 200
}
},
"lifestyle": {
"description": "Sleep, training, diet, alcohol, stress, in brief",
"type": "string",
"maxLength": 500
},
"questions_for_physician": {
"maxItems": 10,
"type": "array",
"items": {
"type": "string",
"maxLength": 300
}
},
"summary": {
"description": "Free-text summary if the structured fields do not fit",
"type": "string",
"maxLength": 2000
}
},
"additionalProperties": false,
"description": "OPTIONAL context for the physician's pre-review. Show it to the user in full and send only after they explicitly agree. Example: {\"main_concern\":\"ApoB and LDL came back high on a Function Health panel; wants to know whether to start medication\",\"goals\":[\"Lower cardiovascular risk\",\"Keep training for a half marathon\"],\"conditions\":[\"Prediabetes (A1c 5.8, 2025)\"],\"medications\":[\"None\"],\"supplements\":[\"Vitamin D 2000 IU\",\"Creatine 5 g\"],\"recent_results\":[{\"type\":\"advanced_bloodwork\",\"source\":\"Function Health\",\"date\":\"2026-08\",\"key_findings\":\"ApoB 118, LDL 152, hs-CRP 2.4, A1c 5.7, ferritin 40\"},{\"type\":\"dexa\",\"source\":\"BodySpec\",\"date\":\"2026-06\",\"key_findings\":\"Body fat 24%, visceral fat 1.1 lb, ALMI 8.1\"}],\"wearables\":\"Oura: avg sleep 6h40, HRV 38 ms trending down over 3 months\",\"family_history\":[\"Father: heart attack at 58\"],\"questions_for_physician\":[\"Statin vs lifestyle first?\",\"Is the HRV drop related?\"]}"
},
"patient_phone": {
"description": "Optional, for SMS reminders, E.164 format",
"type": "string",
"pattern": "^\\+\\d{7,15}$"
}
},
"required": [
"start",
"patient_name",
"patient_email",
"patient_timezone",
"patient_state",
"patient_dob",
"consent"
],
"$schema": "http://json-schema.org/draft-07/schema#"
}Comunidad
Evidencia