# io.usefulapi/health-gorilla (remote · health-gorilla.usefulapi.io)

Query Health Gorilla FHIR patients, conditions, medications and lab results.

- Trust score: 80/100 (high trust)
- Change this week: +62
- Registry status: active
- Liveness: live
- Owner verified: no
- Last scored: 2026-10-06

## Components

- remote · `health-gorilla.usefulapi.io`: 80/100 (this document), [markdown](https://verifymcp.io/servers/io-usefulapi-health-gorilla/health-gorilla.md), [page](https://verifymcp.io/servers/io-usefulapi-health-gorilla/health-gorilla)

## Channel facts

- Endpoint: `https://health-gorilla.usefulapi.io/mcp`
- Transports: `streamable-http`
- Auth: `none`
- Version: `1.0.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-10-06.

- **Endpoint Security**: 89/100
  - The endpoint's TLS certificate is valid, in date, and uses a strong key.
  - Authorisation is enforced on tool calls, advertised via RFC 9728 protected-resource metadata. Discovery is public, which costs nothing: no tool can be invoked without a token.
  - 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.
  - The authorisation server offers only Dynamic Client Registration (RFC 7591), which MCP 2026-07-28 deprecated in favour of Client ID Metadata Documents.
- **Transport & Reachability**: 100/100
  - Verified streamable-http transport via a live MCP handshake.
- **Schema Quality & AI Usability**: 83/100
  - AI-judged instruction clarity (excellent).
  - Tool/resource definitions use about 1514 tokens (~94/item across 16 items; 16 tools + 0 resources), lean.
  - Usage-examples check failed: none of the tools include examples.
- **Stability & Change Management**: 20/100
  - Stability observed for 6 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.
- **Tool Safety**: 100/100
  - No prompt-injection markers were found in the server instructions, tool names or descriptions we captured.
  - We read all 16 captured tool definition(s), and no name or description among them implies an irreversible operation.
  - An AI judge read all 16 captured unit(s) of tool text and found none that tries to manipulate the model reading it.
- **Capabilities**: 60/100
  - Spec-recency check failed: implements MCP spec 2025-06-18; the latest is 2026-07-28.

## Install

### How do I install the io.usefulapi/health-gorilla MCP server?

io.usefulapi/health-gorilla is a hosted endpoint at https://health-gorilla.usefulapi.io/mcp, so there is nothing to install locally. Ready-made configuration for Claude, Cursor, VS Code, Codex and 5 more is on this page, copied from each client's own documentation.

### Claude

```bash
claude mcp add --transport http io-usefulapi-health-gorilla 'https://health-gorilla.usefulapi.io/mcp'
```

### Cursor

```json
{
  "mcpServers": {
    "io-usefulapi-health-gorilla": {
      "url": "https://health-gorilla.usefulapi.io/mcp"
    }
  }
}
```

### VS Code

```json
{
  "servers": {
    "io-usefulapi-health-gorilla": {
      "type": "http",
      "url": "https://health-gorilla.usefulapi.io/mcp"
    }
  }
}
```

### Codex

```toml
[mcp_servers.io-usefulapi-health-gorilla]
url = "https://health-gorilla.usefulapi.io/mcp"
```

### opencode

```json
{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "io-usefulapi-health-gorilla": {
      "type": "remote",
      "url": "https://health-gorilla.usefulapi.io/mcp",
      "enabled": true
    }
  }
}
```

### OpenClaw

```bash
openclaw mcp add io-usefulapi-health-gorilla --url 'https://health-gorilla.usefulapi.io/mcp' --transport streamable-http
```

### Hermes

```yaml
mcp_servers:
  io-usefulapi-health-gorilla:
    url: "https://health-gorilla.usefulapi.io/mcp"
```

### Netclaw

```json
{
  "McpServers": {
    "io-usefulapi-health-gorilla": {
      "Transport": "http",
      "Url": "https://health-gorilla.usefulapi.io/mcp"
    }
  }
}
```

### Vellum

```bash
assistant mcp add io-usefulapi-health-gorilla -t streamable-http -u 'https://health-gorilla.usefulapi.io/mcp'
```

### Other

```json
{
  "mcpServers": {
    "io-usefulapi-health-gorilla": {
      "type": "http",
      "url": "https://health-gorilla.usefulapi.io/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-10-06 (score 80, +4)

- [security improvement] Authorization: fail → pass

### 2026-10-04 (score 76, +41)

- [security regression] Authorization: unverified → fail
- [security improvement] Injection markers: unverified → pass
- [functional improvement] Tool coverage: unverified → 100
- [functional improvement] Stability: unverified → 0.13

### 2026-10-03 (score 35, −43)

- [security regression] Authorization: pass → unverified
- [security regression] Stability: 0.07 → unverified
- [security regression] Tool safety: pass → unverified
- [functional regression] Tool coverage: 100 → unverified
- [functional] This server's schema is too large to store in full, so we cannot compare its tools day to day

### 2026-10-02 (score 78, +45)

- [security improvement] Authorization: unverified → pass
- [security improvement] Injection markers: unverified → pass
- [security] First check of Authorization: partial
- [functional regression] MCP protocol: unverified → fail
- [functional improvement] Endpoint reachability: not serving MCP → reachable
- [functional improvement] Tool coverage: unverified → 100
- [functional improvement] Stability: unverified → 0.07
- [functional] Server version: 1.0.0 → 1.5.1

### 2026-10-01 (score 33, −27)

- [security regression] Endpoint reachability: reachable → not serving MCP
- [security regression] Tool safety: pass → unverified
- [security improvement] HTTPS: unverified → pass
- [security] Authorization: Authorisation not fully verified: no authorisation is required to connect, but we couldn't read the whole tool list to see what that exposes.
- [functional regression] Capabilities: fail → unverified
- [functional regression] Tool coverage: 100 → unverified

### 2026-09-30 (score 60, +42)

- [security improvement] Injection markers: unverified → pass
- [security improvement] Transport: fail → pass
- [security] First check of Judged manipulation: pass
- [security] Authorization: Authorisation not fully verified: this server exposes a tool marked destructive (healthgorilla_create_patient) and its handshake is open, but we could not confirm whether a tool call is gated, so we do not assert it is callable unauthenticated.
- [functional regression] MCP protocol: unverified → fail
- [functional improvement] Tool coverage: unverified → 100
- [functional] First check of Schema quality: fail
- [functional] First check of Schema quality: excellent
- [functional] First check of Destructive annotations: pass
- [functional] First check of Schema quality: pass
- [functional] First check of Tool coverage: 100

### 2026-09-29 (score 18)

First indexed and scored.

## MCP tools (16)

### `healthgorilla_find_patients` (~128 tokens)

Find patients

Search for patients by demographics. FHIR: GET /Patient?given=&family=&birthdate=&identifier=. Returns a FHIR searchset Bundle. Use the returned Patient id with the other tools.

Input parameters:

- `_count` (integer): FHIR _count — max results per page.
- `birthdate` (string): Date of birth, yyyy-mm-dd.
- `family` (string): Family (last) name.
- `given` (string): Given (first) name.
- `identifier` (string): Business identifier (e.g. MRN), optionally system|value.

### `healthgorilla_get_patient` (~47 tokens)

Get patient

Read a single patient by id. FHIR: GET /Patient/{id}. Returns a FHIR Patient resource.

Input parameters:

- `patient_id` (string, required): Health Gorilla Patient resource id.

### `healthgorilla_get_patient_everything` (~101 tokens)

Get patient $everything

Fetch the comprehensive record for a patient as a FHIR Bundle. FHIR: GET /Patient/{id}/$everything. Optionally scope by _since and page with _count.

Input parameters:

- `_count` (integer): FHIR _count — max results per page.
- `_since` (string): Only include resources updated on/after this date, yyyy-mm-dd.
- `patient_id` (string, required): Health Gorilla Patient resource id.

### `healthgorilla_list_conditions` (~85 tokens)

List conditions

List a patient's conditions/problems. FHIR: GET /Condition?patient={id}. Returns a FHIR searchset Bundle.

Input parameters:

- `_count` (integer): FHIR _count — max results per page.
- `category` (string): Condition category, e.g. problem-list-item, encounter-diagnosis.
- `patient_id` (string, required): Patient resource id.

### `healthgorilla_list_medications` (~87 tokens)

List medications

List a patient's medication requests/prescriptions. FHIR: GET /MedicationRequest?patient={id}. Returns a FHIR searchset Bundle.

Input parameters:

- `_count` (integer): FHIR _count — max results per page.
- `patient_id` (string, required): Patient resource id.
- `status` (string): Medication status, e.g. active, completed, stopped.

### `healthgorilla_list_allergies` (~71 tokens)

List allergies

List a patient's allergies/intolerances. FHIR: GET /AllergyIntolerance?patient={id}. Returns a FHIR searchset Bundle.

Input parameters:

- `_count` (integer): FHIR _count — max results per page.
- `patient_id` (string, required): Patient resource id.

### `healthgorilla_list_immunizations` (~68 tokens)

List immunizations

List a patient's immunizations. FHIR: GET /Immunization?patient={id}. Returns a FHIR searchset Bundle.

Input parameters:

- `_count` (integer): FHIR _count — max results per page.
- `patient_id` (string, required): Patient resource id.

### `healthgorilla_list_observations` (~155 tokens)

List observations

List a patient's observations (labs, vitals). FHIR: GET /Observation?patient={id}. Filter by category (e.g. laboratory, vital-signs), LOINC code, or date. Returns a FHIR searchset Bundle.

Input parameters:

- `_count` (integer): FHIR _count — max results per page.
- `category` (string): Observation category, e.g. laboratory, vital-signs.
- `code` (string): Observation code (e.g. LOINC), optionally system|value.
- `date` (string): Date filter (FHIR date param, may use prefixes like ge2026-01-01).
- `patient_id` (string, required): Patient resource id.

### `healthgorilla_list_diagnostic_reports` (~88 tokens)

List diagnostic reports

List a patient's diagnostic reports (lab panels, imaging). FHIR: GET /DiagnosticReport?patient={id}. Returns a FHIR searchset Bundle.

Input parameters:

- `_count` (integer): FHIR _count — max results per page.
- `category` (string): Report category, e.g. LAB, RAD.
- `patient_id` (string, required): Patient resource id.

### `healthgorilla_list_documents` (~103 tokens)

List documents

List a patient's document references (C-CDA, notes, etc). FHIR: GET /DocumentReference?patient={id}. Each entry points at a Binary you can fetch with healthgorilla_get_binary.

Input parameters:

- `_count` (integer): FHIR _count — max results per page.
- `patient_id` (string, required): Patient resource id.
- `type` (string): Document type code (e.g. LOINC), optionally system|value.

### `healthgorilla_get_coverage` (~48 tokens)

Get coverage

List a patient's insurance coverage. FHIR: GET /Coverage?patient={id}. Returns a FHIR searchset Bundle.

Input parameters:

- `patient_id` (string, required): Patient resource id.

### `healthgorilla_get_binary` (~73 tokens)

Get binary (document content)

Retrieve raw document content by Binary id. FHIR: GET /Binary/{id}. Content may be a FHIR Binary JSON resource, XML C-CDA, or base64 — returned as-is (raw text if not JSON).

Input parameters:

- `binary_id` (string, required): Binary resource id (from a DocumentReference).

### `healthgorilla_poll_query_status` (~90 tokens)

Poll query status

Poll a RequestResult URL returned by healthgorilla_start_patient360_query. HTTP 202 = still processing, 200 = done (returns retrieval metrics: organizationsTotal, documentsFound, documentsImported, documentsSkipped, documentsFailed). Returns { status, body }.

Input parameters:

- `request_result_url` (string, required): The RequestResult poll URL returned by a Patient360 query (a Health Gorilla URL).

### `healthgorilla_fhir_search` (~113 tokens)

Generic FHIR search

Escape hatch: run an arbitrary FHIR search. GET /{resource_type}?{query}. e.g. resource_type='Observation', query='patient=123&category=laboratory&_count=5'. Use when a dedicated tool does not cover your query.

Input parameters:

- `query` (string): Raw FHIR query string without the leading '?', e.g. patient=123&_count=5.
- `resource_type` (string, required): FHIR resource type, e.g. Patient, Observation, Encounter.

### `healthgorilla_create_patient` (~151 tokens)

Create patient

Registers a NEW patient record in your Health Gorilla tenant. FHIR: POST /Patient with a minimal FHIR R4 Patient resource built from the given args. State-changing.

Input parameters:

- `birthdate` (string, required): Date of birth, yyyy-mm-dd.
- `city` (string): City.
- `family` (string, required): Family (last) name.
- `gender` (string, required): Administrative gender.
- `given` (string, required): Given (first) name.
- `identifier` (string): Business identifier value (e.g. MRN).
- `line` (string): Street address line.
- `postalCode` (string): Postal / ZIP code.
- `state` (string): State (2-letter).

### `healthgorilla_start_patient360_query` (~106 tokens)

Start Patient360 query

Initiates an asynchronous national-network records retrieval (CommonWell / Carequality / QHINs) that imports external documents into your tenant. FHIR: GET /DocumentReference/$p360-retrieve?patient={id} with header 'Prefer: respond-async'. Returns the RequestResult poll URL (Location header); poll it with healthgorilla_poll_query_status. State-changing.

Input parameters:

- `patient_id` (string, required): Patient resource id to retrieve external records for.

## Diagnostics

Captured diagnostic sections: TLS, DNSSEC, Authorisation, Transports. The full working is on the page: https://verifymcp.io/servers/io-usefulapi-health-gorilla/health-gorilla#diagnostics

## Score history

- 2026-10-06: 80
- 2026-10-04: 76
- 2026-10-03: 35
- 2026-10-02: 78
- 2026-10-01: 33
- 2026-09-30: 60
- 2026-09-29: 18

## Common questions

### What is the io.usefulapi/health-gorilla MCP server?

io.usefulapi/health-gorilla is an MCP server listed in the public MCP registry as io.usefulapi/health-gorilla. Query Health Gorilla FHIR patients, conditions, medications and lab results. This page covers its hosted endpoint (https://health-gorilla.usefulapi.io/mcp).

### Is the io.usefulapi/health-gorilla MCP server safe to use?

io.usefulapi/health-gorilla scores 80 out of 100 on VerifyMCP. That is a record of what we were able to check automatically, not an endorsement. The category breakdown on this page shows every signal behind the number, including the ones we could not confirm.

### What tools does the io.usefulapi/health-gorilla MCP server expose?

io.usefulapi/health-gorilla exposes 16 tools: healthgorilla_find_patients, healthgorilla_get_patient, healthgorilla_get_patient_everything, healthgorilla_list_conditions, healthgorilla_list_medications, and 11 more. Their descriptions and schemas cost roughly 1,514 tokens of context every time the server is loaded.

### Does the io.usefulapi/health-gorilla MCP server require authentication?

Yes. io.usefulapi/health-gorilla asked us for credentials when we connected, so you will need to authorise it in your MCP client before it can do anything.

### Is the io.usefulapi/health-gorilla MCP server still maintained?

io.usefulapi/health-gorilla is still listed as active in the MCP registry. We last reached this channel on 6 October 2026. Those dates come from our own scans of the registry and the channel itself, not from anything the publisher announced.

## Links

- Remote endpoint: https://health-gorilla.usefulapi.io/mcp
- Repository: https://github.com/m190/usefulapi-mcp
- Changelog RSS feed: https://verifymcp.io/servers/io-usefulapi-health-gorilla/health-gorilla.xml
- Changelog JSON feed: https://verifymcp.io/servers/io-usefulapi-health-gorilla/health-gorilla.json
- HTML version of this page: https://verifymcp.io/servers/io-usefulapi-health-gorilla/health-gorilla
