# io.github.SLAtech-IL/mediora-mcp (remote · mcp.mediora.ai)

Doctor-reviewed blood-test markers, conditions & symptoms as agent tools. EN/RU/HE. Hosted.

- Trust score: 64/100 (medium)
- Change this week: +3
- Registry status: active
- Liveness: live
- Owner verified: no
- Last scored: 2026-08-03

## Components

- remote · `mcp.mediora.ai`: 64/100 (this document), [markdown](https://verifymcp.io/servers/slatech-il-mediora-mcp/mcp.md), [page](https://verifymcp.io/servers/slatech-il-mediora-mcp/mcp)

## Channel facts

- Endpoint: `https://mcp.mediora.ai/mcp`
- Transports: `streamable-http`
- Auth: `none`
- Version: `0.5.0`

## Trust breakdown

How this component scores in each security and reliability category. Every signal is checked automatically against the live server, and we only credit what we can confirm. Scores are 0–100 per category. Scoring method: https://verifymcp.io/docs/scoring (what has changed: https://verifymcp.io/docs/scoring/changelog)

Scored 2026-08-03.

- **Endpoint Security**: 57/100
  - The endpoint's TLS certificate is valid, in date, and uses a strong key.
  - Authorisation not fully verified: no authorisation is required to call this server, and 14 tool(s) never declared a destructiveHint. The MCP spec treats an absent hint as destructive by default, so we cannot call this surface safe.
  - HTTPS is enforced; there's no plaintext access path.
  - HSTS check failed: the Strict-Transport-Security header is absent.
  - DNSSEC check failed: this domain isn't protected by DNSSEC.
- **Transport & Reachability**: 100/100
  - Verified streamable-http transport via a live MCP handshake.
- **Schema Quality & AI Usability**: 75/100
  - AI-judged instruction clarity (excellent).
  - Context-footprint check failed: tool/resource definitions use about 1637 tokens (~116/item across 14 items; 14 tools + 0 resources), over budget; trim descriptions and params.
  - Usage-examples check failed: none of the tools include examples.
- **Stability & Change Management**: 27/100
  - Stability observed for 8 of 30 days with no destabilising changes; credit accrues until the full window elapses.
- **Tool Coverage**: 100/100
  - 100% of tools have a non-trivial description (not blank, and not just the tool's name).
  - 100% of tool parameters carry a description.
- **Capabilities**: 40/100
  - Spec-recency check failed: implements MCP spec 2025-03-26; the latest is 2026-07-28.

## Install

### Claude

```bash
claude mcp add --transport http slatech-il-mediora-mcp https://mcp.mediora.ai/mcp
```

### Codex

```toml
[mcp_servers.slatech-il-mediora-mcp]
url = "https://mcp.mediora.ai/mcp"
```

### opencode

```json
{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "slatech-il-mediora-mcp": {
      "type": "remote",
      "url": "https://mcp.mediora.ai/mcp",
      "enabled": true
    }
  }
}
```

### OpenClaw

```bash
openclaw mcp add slatech-il-mediora-mcp --url https://mcp.mediora.ai/mcp --transport streamable-http
```

### Hermes

```yaml
mcp_servers:
  slatech-il-mediora-mcp:
    url: "https://mcp.mediora.ai/mcp"
```

### Other

```json
{
  "mcpServers": {
    "slatech-il-mediora-mcp": {
      "type": "http",
      "url": "https://mcp.mediora.ai/mcp"
    }
  }
}
```

The mcpServers block is a cross-client convention. Remote transports vary, so check your client's docs.

## Changelog

Every change recorded for this component, newest first. Days that predate change tracking, or that we cannot explain, say so: "we were watching and nothing happened" and "we were not watching" are different claims.

### 2026-08-03 (score 64, +1)

No change was recorded against any check on this day. Stability & Change Management went from 23 to 27. That category is still filling its 30-day observation window: 7 days of observed history at the previous scan, 8 at this one. The score rises as the window fills, whether or not the server changes.

### 2026-08-01 (score 63, +1)

No change was recorded against any check on this day. Stability & Change Management went from 17 to 20. That category is still filling its 30-day observation window: 5 days of observed history at the previous scan, 6 at this one. The score rises as the window fills, whether or not the server changes.

### 2026-07-31 (score 62, −1)

- [functional] We updated how we score, so this day's move reflects our rubric, not a change to the server

### 2026-07-30 (score 63, +1)

- [functional] We updated how we score, so this day's move reflects our rubric, not a change to the server

### 2026-07-28 (score 62, +1)

No change was recorded against any check on this day. Stability & Change Management went from 3 to 7. That category is still filling its 30-day observation window: 1 days of observed history at the previous scan, 2 at this one. The score rises as the window fills, whether or not the server changes.

### 2026-07-27 (score 61, +1)

- [functional] We updated how we score, so this day's move reflects our rubric, not a change to the server

### 2026-07-26 (score 60)

First indexed and scored.

## MCP tools (14)

### `mediora__list_markers` (~58 tokens)

List every blood-test marker in the Mediora catalog. Returns slug + short name per entry. Use mediora__explain_marker for the full explainer.

Input parameters:

- `lang` (string): Language code. Defaults to 'en'.

### `mediora__explain_marker` (~111 tokens)

Return the full 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.

Input parameters:

- `lang` (string): Language code. Defaults to 'en'.
- `slug` (string, required): Mediora canonical slug (e.g. 'hba1c', 'ferritin'). Use mediora__list_markers / mediora__list_conditions to discover slugs.

### `mediora__list_conditions` (~60 tokens)

List every clinical condition in the Mediora catalog. Returns slug + name + ICD-10 code per entry. Use mediora__explain_condition for the full explainer.

Input parameters:

- `lang` (string): Language code. Defaults to 'en'.

### `mediora__explain_condition` (~107 tokens)

Return the full 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.

Input parameters:

- `lang` (string): Language code. Defaults to 'en'.
- `slug` (string, required): Mediora canonical slug (e.g. 'hba1c', 'ferritin'). Use mediora__list_markers / mediora__list_conditions to discover slugs.

### `mediora__lookup_marker` (~131 tokens)

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.

Input parameters:

- `lang` (string): Preferred language for returned names. Defaults to 'en'.
- `query` (string, required): Free-text marker name in EN/RU/HE; e.g. 'A1C', 'гликированный', 'TSH', 'ויטמין D'.

### `mediora__list_symptoms` (~79 tokens)

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.

Input parameters:

- `lang` (string): Language code. Defaults to 'en'.

### `mediora__explain_symptom` (~138 tokens)

Return the full 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.

Input parameters:

- `lang` (string): Language code. Defaults to 'en'.
- `slug` (string, required): Mediora canonical slug (e.g. 'hba1c', 'ferritin'). Use mediora__list_markers / mediora__list_conditions to discover slugs.

### `mediora__list_panels` (~79 tokens)

List every lab panel in the Mediora catalog (CBC, lipid, comprehensive metabolic, thyroid, iron, liver, kidney, diabetes, vitamin, inflammation, hormone, bone, cardiac, electrolyte, adrenal, PSA/prostate). Returns slug + name + marker count. Use mediora__explain_panel for the markers a panel contains.

### `mediora__explain_panel` (~152 tokens)

Return the markers that make up a lab panel by slug — each resolved to its Mediora marker slug, name and one-line summary — plus the panel's search aliases (CBC/FBC, CMP, LFT, TFT, renal panel, …). Answers "what's included in a CBC / lipid panel / CMP". Follow each marker into mediora__explain_marker for full detail.

Input parameters:

- `lang` (string): Language for the marker names/summaries. Defaults to 'en'.
- `slug` (string, required): Panel slug (e.g. 'complete-blood-count', 'lipid-panel', 'comprehensive-metabolic-panel'). Use mediora__list_panels to discover slugs.

### `mediora__whoami` (~131 tokens)

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'.

Input parameters:

- `bearer_token` (string, required): 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.

### `mediora__analyze_lab_pdf` (~154 tokens)

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.

Input parameters:

- `bearer_token` (string, required): Mediora.AI patient JWT (see mediora__whoami).
- `file_url` (string, required): Public HTTPS URL of the lab-report PDF to analyze.
- `language` (string): Preferred language for the analysis output. Defaults to 'en'.

### `mediora__get_patient_history` (~142 tokens)

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.

Input parameters:

- `bearer_token` (string, required): Mediora.AI patient JWT (see mediora__whoami).
- `page` (integer): 1-based page number. Defaults to 1.
- `page_size` (integer): Items per page. Defaults to 10, max 50.

### `mediora__get_test_details` (~144 tokens)

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.

Input parameters:

- `bearer_token` (string, required): Mediora.AI patient JWT (see mediora__whoami).
- `test_id` (integer, required): Numeric medical-test id (returned by mediora__get_patient_history as `id`).

### `mediora__longitudinal_trend` (~151 tokens)

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.

Input parameters:

- `bearer_token` (string, required): 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.

## Diagnostics

Captured diagnostic sections: TLS, DNSSEC, Authorisation, Transports. The full working is on the page: https://verifymcp.io/servers/slatech-il-mediora-mcp/mcp#diagnostics

## Score history

- 2026-08-03: 64
- 2026-08-02: 63
- 2026-08-01: 63
- 2026-07-31: 62
- 2026-07-30: 63
- 2026-07-29: 62
- 2026-07-28: 62
- 2026-07-27: 61
- 2026-07-26: 60

## Links

- Remote endpoint: https://mcp.mediora.ai/mcp
- Repository: https://github.com/SLAtech-IL/mediora-mcp
- Website: https://www.mediora.ai/
- Changelog RSS feed: https://verifymcp.io/servers/slatech-il-mediora-mcp/mcp/changelog.xml
- Changelog JSON feed: https://verifymcp.io/servers/slatech-il-mediora-mcp/mcp/changelog.json
- HTML version of this page: https://verifymcp.io/servers/slatech-il-mediora-mcp/mcp
