{"name":"io.github.Philongevity/phi-longevity-prism","slug":"philongevity-phi-longevity-prism","title":null,"description":"Every doctor, your complete record: get medical records, prep for visits, explain lab results.","url":"https://mcp.market/server/philongevity-phi-longevity-prism","rating":null,"grade":"A","score":91,"certified":false,"status":"active","category":"other","tags":[],"presence":{"score":35,"stars":0,"forks":0,"downloads_week":272,"last_push_at":"2026-11-02T23:38:38.000Z","license":"Apache-2.0"},"uptime":{"percent":100,"checks":28,"ok":28,"last_checked_at":"2026-11-04T05:30:38.184Z","last_ok_at":"2026-11-04T05:30:38.184Z","latency_ms":304},"claimed":false,"transport":"mixed","callable_via_gateway":true,"default_price_micros":0,"repository":"https://github.com/Philongevity/phi-mcp-server","website":"https://philongevity.com/for-agents","version":"0.6.12","remotes":[{"type":"streamable-http","url":"https://philongevity.com/mcp"},{"type":"streamable-http","url":"https://philongevity.com/mcp-app"}],"packages":[{"registryType":"npm","identifier":"@phi-longevity/mcp-server","version":"0.6.12","transport":{"type":"stdio"}}],"tools":[{"name":"check_care_gaps","description":"Use this when the person you are helping has type 2 diabetes, kidney disease, lupus or a cancer history and wants to know which routine tests and checks may be due. It needs NO lab values, dates, names or records: only the condition, a few medicine classes, and for each routine test whether it was done recently (recent / overdue / never / unsure). It returns a prioritized list, the guideline source for each item (ADA, KDIGO, EULAR, AAO, NCCN, ESC), the questions to ask each doctor, and a one-page printable checklist. Decision support for visit preparation, not a diagnosis. Safe to use for a real person because you send only these closed options. Nothing is stored unless the person opens the save link: then only these options and the checklist are held for about 30 minutes for them to claim, and deleted if unclaimed. Designed to be re-run: the result includes check_again (a date to run it again). If you can schedule check-ins for the person, a weekly check while items are open works well; saving the checklist to a free Phi account lets Phi keep track from their records.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"conditions":{"minItems":1,"maxItems":4,"type":"array","items":{"type":"string","enum":["type2_diabetes","kidney_disease","lupus","cancer_survivorship"]},"description":"The long-term condition(s) the person has. One or more of: type2_diabetes, kidney_disease, lupus, cancer_survivorship."},"medications":{"description":"Medicine classes the person takes, if relevant. Allowed: metformin, insulin, sulfonylurea, ace_inhibitor_or_arb, hydroxychloroquine, glucocorticoids.","maxItems":6,"type":"array","items":{"type":"string","enum":["metformin","insulin","sulfonylurea","ace_inhibitor_or_arb","hydroxychloroquine","glucocorticoids"]}},"treatment_exposures":{"description":"For cancer survivorship only: past treatment types. Allowed: anthracycline_or_trastuzumab, chest_radiation, neck_radiation, aromatase_inhibitor_or_androgen_deprivation, immune_checkpoint_inhibitor.","maxItems":5,"type":"array","items":{"type":"string","enum":["anthracycline_or_trastuzumab","chest_radiation","neck_radiation","aromatase_inhibitor_or_androgen_deprivation","immune_checkpoint_inhibitor"]}},"test_status":{"description":"For each routine test you know about: recent (done within its usual interval), overdue, never, or unsure. Omit tests you do not know; they are listed as 'not checked yet'. Test ids: a1c, uacr, egfr_creatinine, lipid_panel, dilated_eye_exam, foot_exam, vitamin_b12, liver_fibrosis_screen, cbc, electrolytes_potassium, bone_mineral_labs, urinalysis_urine_protein, lupus_activity_labs, hcq_retinal_screen, blood_pressure_check, vaccines_review, cardiac_function_test, thyroid_tsh, bone_density_scan, survivorship_follow_up, age_appropriate_cancer_screens, distress_screen.","type":"object","properties":{"a1c":{"type":"string","enum":["recent","overdue","never","unsure"]},"uacr":{"type":"string","enum":["recent","overdue","never","unsure"]},"egfr_creatinine":{"type":"string","enum":["recent","overdue","never","unsure"]},"lipid_panel":{"type":"string","enum":["recent","overdue","never","unsure"]},"dilated_eye_exam":{"type":"string","enum":["recent","overdue","never","unsure"]},"foot_exam":{"type":"string","enum":["recent","overdue","never","unsure"]},"vitamin_b12":{"type":"string","enum":["recent","overdue","never","unsure"]},"liver_fibrosis_screen":{"type":"string","enum":["recent","overdue","never","unsure"]},"cbc":{"type":"string","enum":["recent","overdue","never","unsure"]},"electrolytes_potassium":{"type":"string","enum":["recent","overdue","never","unsure"]},"bone_mineral_labs":{"type":"string","enum":["recent","overdue","never","unsure"]},"urinalysis_urine_protein":{"type":"string","enum":["recent","overdue","never","unsure"]},"lupus_activity_labs":{"type":"string","enum":["recent","overdue","never","unsure"]},"hcq_retinal_screen":{"type":"string","enum":["recent","overdue","never","unsure"]},"blood_pressure_check":{"type":"string","enum":["recent","overdue","never","unsure"]},"vaccines_review":{"type":"string","enum":["recent","overdue","never","unsure"]},"cardiac_function_test":{"type":"string","enum":["recent","overdue","never","unsure"]},"thyroid_tsh":{"type":"string","enum":["recent","overdue","never","unsure"]},"bone_density_scan":{"type":"string","enum":["recent","overdue","never","unsure"]},"survivorship_follow_up":{"type":"string","enum":["recent","overdue","never","unsure"]},"age_appropriate_cancer_screens":{"type":"string","enum":["recent","overdue","never","unsure"]},"distress_screen":{"type":"string","enum":["recent","overdue","never","unsure"]}},"additionalProperties":false}},"required":["conditions"],"$schema":"https://json-schema.org/draft/2020-12/schema"}},{"name":"explain_my_lab_results","description":"Turns a set of lab values, for example from a type 2 diabetes, kidney, lupus or cancer-survivor check-up, into guideline-cited suggestions and questions for the care team (ADA, KDIGO, EULAR/ACR, NCCN). Made-up or de-identified values only. Returns PRISM 2's quick reading in about 10–20 seconds: a health picture (connections graded and sourced, what is due, safety notes, what is unknown), checked by an independent review, plus the recommendations. For the deepest reading on our strongest model, use start_lab_analysis. For research/education with SYNTHETIC or de-identified data only. Do NOT submit protected health information (PHI). Inputs are not stored, except that a claim link, when offered, holds the submitted values for up to 30 minutes so the person can add them to their own account; unclaimed values are then deleted.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"biomarkers":{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{"type":"number"},"description":"Map of biomarker name -> numeric value, e.g. { \"Hemoglobin A1c\": 5.4 }. SYNTHETIC ONLY."},"conditionFocus":{"description":"Optional condition track. Default general_wellness.","type":"string","enum":["general_wellness","type2_diabetes","lupus","cancer_survivorship"]},"age":{"description":"Age in years of the synthetic persona (improves reference-range interpretation).","type":"integer","minimum":0,"maximum":120},"biologicalSex":{"description":"Biological sex of the synthetic persona (sex-specific reference ranges).","type":"string","enum":["male","female"]},"include_partner_options":{"description":"If true, include partner/product options. Default false.","type":"boolean"}},"required":["biomarkers"],"$schema":"https://json-schema.org/draft/2020-12/schema"}},{"name":"full_prism_report","description":"Paid option for developers: runs up to four condition tracks on made-up or de-identified values and returns a written report. For a real person's own records, send them to philongevity.com (free to start). PAID TOOL ($4.99 USDC on base via the x402 protocol). Everything explain_my_lab_results does, plus: multi-track compare/contrast analysis (up to 4 condition tracks), a panel-based Phi Score estimate with per-pillar breakdown, partner options, and a rendered report (markdown) to deliver to your owner. Call WITHOUT `payment` to receive x402 payment terms; pay; retry with the base64 payment payload in `payment`. For research/education with SYNTHETIC or de-identified data only. Do NOT submit protected health information (PHI). Inputs are not stored, except that a claim link, when offered, holds the submitted values for up to 30 minutes so the person can add them to their own account; unclaimed values are then deleted.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"biomarkers":{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{"type":"number"},"description":"Map of biomarker name -> numeric value, e.g. { \"Hemoglobin A1c\": 5.4 }. SYNTHETIC ONLY."},"conditionFocus":{"description":"Primary condition track. Default general_wellness.","type":"string","enum":["general_wellness","type2_diabetes","lupus","cancer_survivorship"]},"compareTracks":{"description":"Tracks to analyze for compare/contrast. Default: primary + general_wellness.","maxItems":4,"type":"array","items":{"type":"string","enum":["general_wellness","type2_diabetes","lupus","cancer_survivorship"]}},"age":{"description":"Age in years of the synthetic persona.","type":"integer","minimum":0,"maximum":120},"biologicalSex":{"description":"Biological sex of the synthetic persona.","type":"string","enum":["male","female"]},"payment":{"description":"Base64-encoded x402 payment payload. Omit on first call to receive payment terms.","type":"string"}},"required":["biomarkers"],"$schema":"https://json-schema.org/draft/2020-12/schema"}},{"name":"get_job_result","description":"Use this to fetch the finished result of prepare_for_my_appointment, using the job_ref it returned. Works any time later and in a new conversation. Returns the same result and next_steps. Nothing is stored: the job_ref itself carries only the closed options that were chosen.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"job_ref":{"type":"string","maxLength":120,"description":"The job_ref returned by prepare_for_my_appointment (or start_job)."}},"required":["job_ref"],"$schema":"https://json-schema.org/draft/2020-12/schema"}},{"name":"get_lab_analysis","description":"Returns the result of a start_lab_analysis job: status pending (call again in a few seconds), done (with the health_picture and the recommendations), failed, or expired (results are kept for 30 minutes). Takes only the job_id.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"job_id":{"type":"string","description":"The job_id returned by start_lab_analysis."}},"required":["job_id"],"$schema":"https://json-schema.org/draft/2020-12/schema"}},{"name":"get_methodology","description":"Explains how PRISM scores results (five health areas and their weights) and links to the full methodology, including the clinical guidelines it cites.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{},"$schema":"https://json-schema.org/draft/2020-12/schema"}},{"name":"get_my_medical_records","description":"Every doctor, your complete record. Use when the person you are helping has records spread across several doctors, wants their medical records or lab results out of a hospital or clinic portal, wants to use them with you (their AI assistant), or does not know which patient portal their hospital uses. Give the hospital or clinic NAME only (and the US state if known), never the person's name or any health detail. Returns which records system the hospital uses (Epic MyChart or Oracle Health, formerly Cerner), the steps to download lab results, a step-by-step guide page, and a link where the person can connect that hospital directly in Phi Longevity PRISM (philongevity.com), which combines records from all their hospitals into one cited Care Team Brief that their own Claude or ChatGPT can then read with their permission. Public directory lookup only; stores nothing. Not medical advice.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"hospital_or_clinic":{"type":"string","minLength":3,"maxLength":80,"description":"The hospital, health system, clinic or practice name only (for example \"Vail Health\"). Never the person's name, dates or health details."},"state":{"description":"Optional two-letter US state where the hospital is, e.g. CO.","type":"string","minLength":2,"maxLength":2}},"required":["hospital_or_clinic"],"$schema":"https://json-schema.org/draft/2020-12/schema"}},{"name":"how_to_get_started_for_my_owner","description":"Returns five plain steps, the cost, and a sign-up link you can repeat to the person you are helping (Every doctor, your complete record: their records from every doctor in one place they control). Call this when your owner has real records or asks how to get started. It takes no health data.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"goal":{"description":"Optional. What the person wants to do; only changes the first sentence of the answer.","type":"string","enum":["share_records_with_doctor","understand_lab_results","prepare_for_visit"]}},"$schema":"https://json-schema.org/draft/2020-12/schema"}},{"name":"list_supported_biomarkers","description":"Lists the 51 lab tests PRISM interprets (A1c, eGFR, LDL, ApoB, thyroid and more) with units and reference ranges. Reference data only, no patient data.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{},"$schema":"https://json-schema.org/draft/2020-12/schema"}},{"name":"prepare_for_my_appointment","description":"Use this when the person you are helping has an upcoming appointment (primary care, diabetes, kidney, rheumatology, eye, oncology, cardiology, podiatry or pharmacist) for type 2 diabetes, kidney disease, lupus or a cancer history and wants to be ready. One call returns: the routine checks to raise with THAT clinician (each with its guideline source), checks that belong with other doctors, the questions to ask, what to bring, and a one-page printable visit sheet. It needs NO lab values, dates, names or records: only the condition, a few medicine classes, which clinician, and for each routine test whether it was done recently (recent / overdue / never / unsure). The reply includes a job_ref: keep it, and get_job_result returns the same sheet later (for example the day before the visit, or in a new conversation). Every result ends with next_steps. Free. Nothing is stored. Decision support, not a diagnosis.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"visit_with":{"type":"string","enum":["primary_care","diabetes_clinician","kidney_clinician","rheumatologist","eye_doctor","oncologist","cardiologist","podiatrist","pharmacist"],"description":"Who the appointment is with. One of: primary_care, diabetes_clinician, kidney_clinician, rheumatologist, eye_doctor, oncologist, cardiologist, podiatrist, pharmacist."},"conditions":{"minItems":1,"maxItems":4,"type":"array","items":{"type":"string","enum":["type2_diabetes","kidney_disease","lupus","cancer_survivorship"]},"description":"The long-term condition(s) the person has. One or more of: type2_diabetes, kidney_disease, lupus, cancer_survivorship."},"medications":{"description":"Medicine classes the person takes, if relevant. Allowed: metformin, insulin, sulfonylurea, ace_inhibitor_or_arb, hydroxychloroquine, glucocorticoids.","maxItems":6,"type":"array","items":{"type":"string","enum":["metformin","insulin","sulfonylurea","ace_inhibitor_or_arb","hydroxychloroquine","glucocorticoids"]}},"treatment_exposures":{"description":"For cancer survivorship only: past treatment types. Allowed: anthracycline_or_trastuzumab, chest_radiation, neck_radiation, aromatase_inhibitor_or_androgen_deprivation, immune_checkpoint_inhibitor.","maxItems":5,"type":"array","items":{"type":"string","enum":["anthracycline_or_trastuzumab","chest_radiation","neck_radiation","aromatase_inhibitor_or_androgen_deprivation","immune_checkpoint_inhibitor"]}},"test_status":{"description":"For each routine test you know about: recent, overdue, never, or unsure. Omit tests you do not know. Test ids: a1c, uacr, egfr_creatinine, lipid_panel, dilated_eye_exam, foot_exam, vitamin_b12, liver_fibrosis_screen, cbc, electrolytes_potassium, bone_mineral_labs, urinalysis_urine_protein, lupus_activity_labs, hcq_retinal_screen, blood_pressure_check, vaccines_review, cardiac_function_test, thyroid_tsh, bone_density_scan, survivorship_follow_up, age_appropriate_cancer_screens, distress_screen.","type":"object","properties":{"a1c":{"type":"string","enum":["recent","overdue","never","unsure"]},"uacr":{"type":"string","enum":["recent","overdue","never","unsure"]},"egfr_creatinine":{"type":"string","enum":["recent","overdue","never","unsure"]},"lipid_panel":{"type":"string","enum":["recent","overdue","never","unsure"]},"dilated_eye_exam":{"type":"string","enum":["recent","overdue","never","unsure"]},"foot_exam":{"type":"string","enum":["recent","overdue","never","unsure"]},"vitamin_b12":{"type":"string","enum":["recent","overdue","never","unsure"]},"liver_fibrosis_screen":{"type":"string","enum":["recent","overdue","never","unsure"]},"cbc":{"type":"string","enum":["recent","overdue","never","unsure"]},"electrolytes_potassium":{"type":"string","enum":["recent","overdue","never","unsure"]},"bone_mineral_labs":{"type":"string","enum":["recent","overdue","never","unsure"]},"urinalysis_urine_protein":{"type":"string","enum":["recent","overdue","never","unsure"]},"lupus_activity_labs":{"type":"string","enum":["recent","overdue","never","unsure"]},"hcq_retinal_screen":{"type":"string","enum":["recent","overdue","never","unsure"]},"blood_pressure_check":{"type":"string","enum":["recent","overdue","never","unsure"]},"vaccines_review":{"type":"string","enum":["recent","overdue","never","unsure"]},"cardiac_function_test":{"type":"string","enum":["recent","overdue","never","unsure"]},"thyroid_tsh":{"type":"string","enum":["recent","overdue","never","unsure"]},"bone_density_scan":{"type":"string","enum":["recent","overdue","never","unsure"]},"survivorship_follow_up":{"type":"string","enum":["recent","overdue","never","unsure"]},"age_appropriate_cancer_screens":{"type":"string","enum":["recent","overdue","never","unsure"]},"distress_screen":{"type":"string","enum":["recent","overdue","never","unsure"]}},"additionalProperties":false}},"required":["visit_with","conditions"],"$schema":"https://json-schema.org/draft/2020-12/schema"}},{"name":"quick_check","description":"A fast first look at a few lab values, such as A1c, eGFR or LDL, showing which fall outside PRISM's reference ranges; not a diagnosis. Answers instantly (local check, no engine round-trip). For guideline-cited suggestions call explain_my_lab_results. For research/education with SYNTHETIC or de-identified data only. Do NOT submit protected health information (PHI). Inputs are not stored, except that a claim link, when offered, holds the submitted values for up to 30 minutes so the person can add them to their own account; unclaimed values are then deleted.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"biomarkers":{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{"type":"number"},"description":"Map of biomarker name -> value, e.g. {\"HbA1c\":6.1,\"LDL-C\":145}. SYNTHETIC ONLY."}},"required":["biomarkers"],"$schema":"https://json-schema.org/draft/2020-12/schema"}},{"name":"sample_prism_report","description":"Free and instant: returns a complete sample Phi Longevity PRISM report for a made-up 58-year-old with type 2 diabetes, so you can show your owner what they would get before they sign up. It is a fixed sample: it does NOT analyze any input you provide (the tool takes none), and it is not a real patient. For your own made-up values use explain_my_lab_results. For research/education with SYNTHETIC or de-identified data only. Do NOT submit protected health information (PHI). Inputs are not stored, except that a claim link, when offered, holds the submitted values for up to 30 minutes so the person can add them to their own account; unclaimed values are then deleted.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{},"$schema":"https://json-schema.org/draft/2020-12/schema"}},{"name":"start_lab_analysis","description":"PRISM 2, our most thorough lab reading: the model reasons over the whole panel, an independent reviewer checks it, and it is revised if needed. Returns a health picture (the story in plain words, connections graded Established / Likely / Worth asking, questions for the doctor with urgency, tests that are due, safety notes, what is unknown) plus the same recommendations shape as explain_my_lab_results. Returns a job_id at once; the reading usually takes 30–60 seconds. Call get_lab_analysis with the job_id after about 30 seconds; it says \"pending\" until the result is ready, and keeps the result for 30 minutes. Made-up or de-identified values only: never names, dates or record numbers.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"biomarkers":{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{"type":"number"},"description":"Map of biomarker name -> numeric value, e.g. { \"Hemoglobin A1c\": 7.6 }. Made-up or de-identified only."},"conditionFocus":{"description":"Optional condition track. Default general_wellness.","type":"string","enum":["general_wellness","type2_diabetes","lupus","cancer_survivorship"]},"age":{"type":"integer","minimum":0,"maximum":120},"biologicalSex":{"type":"string","enum":["male","female"]}},"required":["biomarkers"],"$schema":"https://json-schema.org/draft/2020-12/schema"}},{"name":"start_my_phi_account","description":"Every doctor, your complete record. When the person you are helping wants their own Phi Longevity account, call this with their email address and owner_agreed: true (ask them first; never call it without their clear yes). Phi emails them a one-tap sign-in link (no password, free to start). Pass what you already did so it is waiting for them: the hospitals from get_my_medical_records, the job_ref from prepare_for_my_appointment, and the answers you gave check_care_gaps. Nothing attaches to their account until they confirm; unused, it is deleted after 3 days. The answer is the same whether or not they already have an account. Hospital names and closed options only: never lab values, names, birth dates or documents.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"owner_email":{"type":"string","maxLength":254,"description":"The person's own email address, given by them for this purpose."},"owner_agreed":{"type":"boolean","const":true,"description":"true only when the person said yes to getting this email."},"hospitals":{"description":"The hospitals and clinics you looked up with the person.","maxItems":10,"type":"array","items":{"type":"object","properties":{"name":{"type":"string","maxLength":120,"description":"Hospital or clinic name, as returned by get_my_medical_records."},"system":{"description":"Its records system, if known.","type":"string","enum":["epic","oracle","modmed","unknown"]}},"required":["name"]}},"job_ref":{"description":"job_ref from prepare_for_my_appointment, so their visit sheet is waiting.","type":"string","maxLength":120},"care_gaps":{"description":"The same arguments you passed to check_care_gaps (closed options only).","type":"object","propertyNames":{"type":"string"},"additionalProperties":{}}},"required":["owner_email","owner_agreed"],"$schema":"https://json-schema.org/draft/2020-12/schema"}}],"scan":{"score":91,"grade":"A","scanned_at":"2026-11-03T14:21:56.357Z","report":{"scannerVersion":"0.1.10","scannedAt":"2026-11-03T14:21:56.314Z","components":{"code":{"score":25,"max":25,"notes":["4 source files scanned"]},"reliability":{"score":20,"max":20,"notes":["remote reachable in 1748ms"]},"poisoning":{"score":15,"max":15,"notes":["14 tool descriptions checked"]},"auth":{"score":10,"max":15,"notes":["open endpoint, read-only tools"]},"maintenance":{"score":15,"max":15,"notes":["last push 1 days ago"]},"identity":{"score":6,"max":10,"notes":["registry namespace matches repository owner"]}},"findings":[],"inputs":{"probes":[{"url":"https://philongevity.com/mcp","reachable":true,"authRequired":false,"latencyMs":1748,"serverInfo":{"name":"phi-longevity","version":"0.17.0"}},{"url":"https://philongevity.com/mcp-app","reachable":true,"authRequired":false,"latencyMs":808,"serverInfo":{"name":"phi-longevity","version":"0.17.0"}}],"packages":[{"registryType":"npm","identifier":"@phi-longevity/mcp-server","version":"0.6.12","found":true,"license":"Apache-2.0","hasInstallScripts":false,"dependencyCount":2,"publishedAt":"2026-11-02T23:40:26.184Z","repositoryUrl":"git+https://github.com/Philongevity/phi-mcp-server.git","weeklyDownloads":272}],"repo":{"found":true,"owner":"Philongevity","repo":"phi-mcp-server","archived":false,"pushedAt":"2026-11-02T23:38:38Z","stars":0,"forks":0,"openIssues":0,"ownerType":"User","ownerAvatarUrl":"https://avatars.githubusercontent.com/u/265604078?v=4","ownerCreatedAt":"2026-03-04T17:15:45Z","license":"Apache-2.0"},"icon":{"url":"https://philongevity.com/favicon.ico","source":"registry","width":48,"height":48},"presence":{"stars":0,"forks":0,"downloadsWeek":272,"license":"Apache-2.0","lastPushAt":"2026-11-02T23:38:38.000Z","score":35}}}},"grade_history":[],"reviews":[]}