Health Gorilla MCP server. Query Health Gorilla FHIR patients, conditions, medications and lab results.
Add to your MCP config, then reload & authorize:
{
"mcpServers": {
"health-gorilla": {
"url": "https://health-gorilla.usefulapi.io/mcp"
}
}
}| Tool | Type | What it does |
|---|---|---|
healthgorilla_find_patients | read | 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. |
healthgorilla_get_patient | read | Get patient Read a single patient by id. FHIR: GET /Patient/{id}. Returns a FHIR Patient resource. |
healthgorilla_get_patient_everything | read | 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. |
healthgorilla_list_conditions | read | List conditions List a patient's conditions/problems. FHIR: GET /Condition?patient={id}. Returns a FHIR searchset Bundle. |
healthgorilla_list_medications | read | List medications List a patient's medication requests/prescriptions. FHIR: GET /MedicationRequest?patient={id}. Returns a FHIR searchset Bundle. |
healthgorilla_list_allergies | read | List allergies List a patient's allergies/intolerances. FHIR: GET /AllergyIntolerance?patient={id}. Returns a FHIR searchset Bundle. |
healthgorilla_list_immunizations | read | List immunizations List a patient's immunizations. FHIR: GET /Immunization?patient={id}. Returns a FHIR searchset Bundle. |
healthgorilla_list_observations | read | 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. |
healthgorilla_list_diagnostic_reports | read | List diagnostic reports List a patient's diagnostic reports (lab panels, imaging). FHIR: GET /DiagnosticReport?patient={id}. Returns a FHIR searchset Bundle. |
healthgorilla_list_documents | read | 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. |
healthgorilla_get_coverage | read | Get coverage List a patient's insurance coverage. FHIR: GET /Coverage?patient={id}. Returns a FHIR searchset Bundle. |
healthgorilla_get_binary | read | 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). |
healthgorilla_poll_query_status | read | 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 }. |
healthgorilla_fhir_search | read | 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. |
healthgorilla_create_patient | write | 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. |
healthgorilla_start_patient360_query | write | 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. |
| Plan | Price | Limit |
|---|---|---|
| Free | $0 | 100 tool calls / month |
| Pro | $9/mo · $90/yr | Unlimited |
This is a Model Context Protocol endpoint — meant to be connected from an AI client, not opened in a browser. An invalid_token response at the URL is the auth gate working as designed; clients authenticate automatically.