{"schemaVersion":"v1","name":"mediora-mcp","description":"Mediora.AI Model Context Protocol server — read access to the marker, condition, symptom and sick-fund catalogs behind https://www.mediora.ai. No PHI, no patient data.","homepage":"https://www.mediora.ai","publisher":{"name":"Mediora.AI","url":"https://www.mediora.ai"},"endpoints":{"rpc":"/mcp"},"tools":[{"name":"mediora__list_markers","description":"List every blood-test marker in the Mediora catalog. Returns slug + short name per entry. Use mediora__explain_marker for the full doctor-reviewed explainer.","inputSchema":{"type":"object","properties":{"lang":{"type":"string","enum":["en","ru","he"],"description":"Language code. Defaults to 'en'."}},"additionalProperties":false}},{"name":"mediora__explain_marker","description":"Return the full doctor-reviewed explainer for a single blood-test marker by slug. Includes: what it measures, what high/low values mean, when the value is clinically actionable, and the conditions typically associated with it.","inputSchema":{"type":"object","properties":{"slug":{"type":"string","description":"Mediora canonical slug (e.g. 'hba1c', 'ferritin'). Use mediora__list_markers / mediora__list_conditions to discover slugs."},"lang":{"type":"string","enum":["en","ru","he"],"description":"Language code. Defaults to 'en'."}},"required":["slug"],"additionalProperties":false}},{"name":"mediora__list_conditions","description":"List every clinical condition in the Mediora catalog. Returns slug + name + ICD-10 code per entry. Use mediora__explain_condition for the full explainer.","inputSchema":{"type":"object","properties":{"lang":{"type":"string","enum":["en","ru","he"],"description":"Language code. Defaults to 'en'."}},"additionalProperties":false}},{"name":"mediora__explain_condition","description":"Return the full doctor-reviewed explainer for a clinical condition by slug. Includes: what the condition is, the key markers used in diagnosis, common symptoms, and when the patient should seek clinical evaluation.","inputSchema":{"type":"object","properties":{"slug":{"type":"string","description":"Mediora canonical slug (e.g. 'hba1c', 'ferritin'). Use mediora__list_markers / mediora__list_conditions to discover slugs."},"lang":{"type":"string","enum":["en","ru","he"],"description":"Language code. Defaults to 'en'."}},"required":["slug"],"additionalProperties":false}},{"name":"mediora__lookup_marker","description":"Fuzzy-search markers by alias across EN/RU/HE. Useful when the upstream LLM has the lab's local name (e.g. \"гликированный гемоглобин\", \"המוגלובין מסוכרר\", \"A1C\") and needs to find the canonical Mediora slug.","inputSchema":{"type":"object","properties":{"query":{"type":"string","description":"Free-text marker name in EN/RU/HE; e.g. 'A1C', 'гликированный', 'TSH', 'ויטמין D'."},"lang":{"type":"string","enum":["en","ru","he"],"description":"Preferred language for returned names. Defaults to 'en'."}},"required":["query"],"additionalProperties":false}},{"name":"mediora__list_symptoms","description":"List every patient-side symptom in the Mediora catalog (fatigue, joint pain, headache, etc.). Returns slug + short name. Use mediora__explain_symptom for the full triage-oriented explainer including the lab work-up a clinician would order.","inputSchema":{"type":"object","properties":{"lang":{"type":"string","enum":["en","ru","he"],"description":"Language code. Defaults to 'en'."}},"additionalProperties":false}},{"name":"mediora__explain_symptom","description":"Return the full doctor-reviewed triage explainer for a single symptom by slug. Includes: what the symptom means, common causes, the lab work-up a clinician would order, and when the patient should seek urgent evaluation. The related marker and condition slug arrays let the upstream LLM follow the graph into mediora__explain_marker / explain_condition.","inputSchema":{"type":"object","properties":{"slug":{"type":"string","description":"Mediora canonical slug (e.g. 'hba1c', 'ferritin'). Use mediora__list_markers / mediora__list_conditions to discover slugs."},"lang":{"type":"string","enum":["en","ru","he"],"description":"Language code. Defaults to 'en'."}},"required":["slug"],"additionalProperties":false}},{"name":"mediora__list_sick_funds","description":"List the four Israeli sick funds (Clalit, Maccabi, Meuhedet, Leumit) — the HMOs that distribute every Israeli citizen's primary medical coverage. Returns slug + name + approximate member count. Use mediora__explain_sick_fund for the full explainer covering how to order tests, retrieve results, and what supplementary insurance covers.","inputSchema":{"type":"object","properties":{"lang":{"type":"string","enum":["en","ru","he"],"description":"Language code. Defaults to 'en'."}},"additionalProperties":false}},{"name":"mediora__explain_sick_fund","description":"Return the full explainer for a single Israeli sick fund by slug. Includes: overview, how to order blood tests, how to retrieve results from their portal/app, what the basic basket covers vs supplementary insurance, and how Mediora.AI works alongside the fund's existing flow.","inputSchema":{"type":"object","properties":{"slug":{"type":"string","description":"Mediora canonical slug (e.g. 'hba1c', 'ferritin'). Use mediora__list_markers / mediora__list_conditions to discover slugs."},"lang":{"type":"string","enum":["en","ru","he"],"description":"Language code. Defaults to 'en'."}},"required":["slug"],"additionalProperties":false}},{"name":"mediora__whoami","description":"Validate a Mediora.AI patient Bearer token and return the patient id + email it represents. Use this first to confirm the token before calling other auth-gated tools. The token is obtained by going through the standard Mediora.AI login at https://www.mediora.ai — the same JWT the browser stores in localStorage as 'auth_token'.","inputSchema":{"type":"object","properties":{"bearer_token":{"type":"string","description":"Mediora.AI patient JWT. Get it by signing in at https://www.mediora.ai then copying localStorage.auth_token from DevTools, OR pass-through from a desktop client that stores Mediora credentials."}},"required":["bearer_token"],"additionalProperties":false}},{"name":"mediora__analyze_lab_pdf","description":"Upload a lab-report PDF or scan (by HTTPS URL) and trigger Mediora.AI's full Vision + analysis pipeline. Returns a pending test id the client can poll. The URL must be https, must resolve to a public IP (no localhost / cloud-metadata / private LAN), and the file must be PDF / JPEG / PNG ≤ 10 MB. Redirects are not followed — pass the final URL.","inputSchema":{"type":"object","properties":{"bearer_token":{"type":"string","description":"Mediora.AI patient JWT (see mediora__whoami)."},"file_url":{"type":"string","description":"Public HTTPS URL of the lab-report PDF to analyze.","format":"uri"},"language":{"type":"string","enum":["en","ru","he"],"description":"Preferred language for the analysis output. Defaults to 'en'."}},"required":["bearer_token","file_url"],"additionalProperties":false}},{"name":"mediora__get_patient_history","description":"Return the patient's past medical-test rows (id, test type, test date, risk level, summary, status, abnormal-marker count). Bearer token must be a Mediora patient-scope JWT. Paginated; default 10 per page. Proxies https://api.mediora.ai/api/medical-tests with the user's token forwarded as Authorization: Bearer.","inputSchema":{"type":"object","properties":{"bearer_token":{"type":"string","description":"Mediora.AI patient JWT (see mediora__whoami)."},"page":{"type":"integer","minimum":1,"description":"1-based page number. Defaults to 1."},"page_size":{"type":"integer","minimum":1,"maximum":50,"description":"Items per page. Defaults to 10, max 50."}},"required":["bearer_token"],"additionalProperties":false}},{"name":"mediora__get_test_details","description":"Return the persisted markers + AI analysis (Summary, KeyFindings, Recommendations, DetailedExplanation) for a specific medical-test the authenticated patient owns. Use after mediora__get_patient_history surfaces a test id the user wants to discuss. Bearer token must be a Mediora patient-scope JWT. Proxies https://api.mediora.ai/api/medical-tests/{id} with the user's token forwarded as Authorization: Bearer.","inputSchema":{"type":"object","properties":{"bearer_token":{"type":"string","description":"Mediora.AI patient JWT (see mediora__whoami)."},"test_id":{"type":"integer","minimum":1,"description":"Numeric medical-test id (returned by mediora__get_patient_history as `id`)."}},"required":["bearer_token","test_id"],"additionalProperties":false}},{"name":"mediora__longitudinal_trend","description":"Return the per-marker trajectory analyser output for the authenticated patient — HbA1c rising, eGFR falling, ferritin depleting, etc. Each finding includes the marker slug, kind, severity (Info / Notice / Important), trend per year, sample count, date range and a supportive headline + detail. Proxies https://api.mediora.ai/api/trajectory/warnings with the user's token forwarded as Authorization: Bearer.","inputSchema":{"type":"object","properties":{"bearer_token":{"type":"string","description":"Mediora.AI patient JWT. Get it by signing in at https://www.mediora.ai then copying localStorage.auth_token from DevTools, OR pass-through from a desktop client that stores Mediora credentials."}},"required":["bearer_token"],"additionalProperties":false}}]}