Read and write patients, facilities, medical documents, and consolidated FHIR records in Metriport.
Maintain this server? Claim it
Call this server's tools from your browser. Nothing to install.
Requests go through mcptry because browsers can't call most MCP servers directly. Header values are sent to the server for that request only and are never stored or logged.
Tool list from our last check. Connect live to refresh it.
Creates a Patient in Metriport (writes PHI and initiates health-information-exchange queries). Medical API: POST /medical/v1/patient (facilityId is a required query param).
Date of birth, yyyy-mm-dd.
One or more addresses for the Patient.
The Patient's last name(s).
The Patient's first name(s).
REQUIRED. The Facility ID where the Patient receives care.
Gender at birth: M, F, O (other), or U (unknown).
Optional contact info (phone / email).
The Patient's middle name(s).
Optional personal IDs (driver's license / SSN).
The server marks this tool as destructive. Running it may delete or overwrite data on the server or in any account you connected with your headers.
Creates a Patient in Metriport (writes PHI and initiates health-information-exchange queries). Medical API: POST /medical/v1/patient (facilityId is a required query param).
| Argument | Type | Description |
|---|---|---|
| dob* | string | Date of birth, yyyy-mm-dd. |
| address* | array | One or more addresses for the Patient. |
| contact | array | Optional contact info (phone / email). |
| lastName* | string | The Patient's last name(s). |
| firstName* | string | The Patient's first name(s). |
| facilityId* | string | REQUIRED. The Facility ID where the Patient receives care. |
| middleName | string | The Patient's middle name(s). |
| genderAtBirth* | string | Gender at birth: M, F, O (other), or U (unknown). |
| personalIdentifiers | array | Optional personal IDs (driver's license / SSN). |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"facilityId",
"firstName",
"lastName",
"dob",
"genderAtBirth",
"address"
],
"properties": {
"dob": {
"type": "string",
"pattern": "^\\d{4}-\\d{2}-\\d{2}$",
"description": "Date of birth, yyyy-mm-dd."
},
"address": {
"type": "array",
"items": {
"type": "object",
"required": [
"addressLine1",
"city",
"state",
"zip"
],
"properties": {
"zip": {
"type": "string",
"description": "ZIP / postal code."
},
"city": {
"type": "string",
"description": "City."
},
"state": {
"type": "string",
"description": "2-letter US state code, e.g. CA."
},
"country": {
"type": "string",
"description": "Country. Defaults to USA."
},
"addressLine1": {
"type": "string",
"description": "Street address line 1."
},
"addressLine2": {
"type": "string",
"description": "Street address line 2 (apt/suite)."
}
}
},
"minItems": 1,
"description": "One or more addresses for the Patient."
},
"contact": {
"type": "array",
"items": {
"type": "object",
"properties": {
"email": {
"type": "string",
"description": "Email address."
},
"phone": {
"type": "string",
"description": "10-digit phone number, e.g. 1234567890."
}
}
},
"description": "Optional contact info (phone / email)."
},
"lastName": {
"type": "string",
"description": "The Patient's last name(s)."
},
"firstName": {
"type": "string",
"description": "The Patient's first name(s)."
},
"facilityId": {
"type": "string",
"description": "REQUIRED. The Facility ID where the Patient receives care."
},
"middleName": {
"type": "string",
"description": "The Patient's middle name(s)."
},
"genderAtBirth": {
"enum": [
"M",
"F",
"O",
"U"
],
"type": "string",
"description": "Gender at birth: M, F, O (other), or U (unknown)."
},
"personalIdentifiers": {
"type": "array",
"items": {
"type": "object",
"required": [
"type",
"value"
],
"properties": {
"type": {
"enum": [
"driversLicense",
"ssn"
],
"type": "string",
"description": "Identifier type."
},
"state": {
"type": "string",
"description": "2-letter state code (required for driversLicense)."
},
"value": {
"type": "string",
"description": "The ID number."
},
"assigner": {
"type": "string"
}
}
},
"description": "Optional personal IDs (driver's license / SSN)."
}
}
}Check the progress/status of a Patient's document query (download + FHIR conversion counts). Medical API: POST /medical/v1/document/query with only patientId (no facilityId) returns current status without starting a new query.
| Argument | Type | Description |
|---|---|---|
| patientId* | string | The Patient ID whose document-query status to check. |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"patientId"
],
"properties": {
"patientId": {
"type": "string",
"description": "The Patient ID whose document-query status to check."
}
}
}Get a temporary, downloadable URL for a document by its file name (optionally converting XML/CDA to html or pdf). Medical API: GET /medical/v1/document/download-url.
| Argument | Type | Description |
|---|---|---|
| fileName* | string | The file name of the document (from metriport_list_documents). |
| conversionType | string | Optional doc type to convert to, e.g. pdf, html, xml (for XML/CDA files). |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"fileName"
],
"properties": {
"fileName": {
"type": "string",
"description": "The file name of the document (from metriport_list_documents)."
},
"conversionType": {
"type": "string",
"description": "Optional doc type to convert to, e.g. pdf, html, xml (for XML/CDA files)."
}
}
}Get a single Facility by its Metriport ID. Medical API: GET /medical/v1/facility/{id}.
| Argument | Type | Description |
|---|---|---|
| id* | string | The Metriport Facility ID. |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"id"
],
"properties": {
"id": {
"type": "string",
"description": "The Metriport Facility ID."
}
}
}Get a URL to the Patient's medical record summary rendered as pdf or html. Medical API: GET /medical/v1/patient/{patientId}/medical-record.
| Argument | Type | Description |
|---|---|---|
| patientId* | string | The Metriport Patient ID. |
| conversionType* | string | The format to render: pdf or html. |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"patientId",
"conversionType"
],
"properties": {
"patientId": {
"type": "string",
"description": "The Metriport Patient ID."
},
"conversionType": {
"enum": [
"pdf",
"html"
],
"type": "string",
"description": "The format to render: pdf or html."
}
}
}Get a single Patient by its Metriport ID (demographics + facility IDs). Medical API: GET /medical/v1/patient/{id}.
| Argument | Type | Description |
|---|---|---|
| id* | string | The Metriport Patient ID. |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"id"
],
"properties": {
"id": {
"type": "string",
"description": "The Metriport Patient ID."
}
}
}Get the status of the Patient's consolidated-data (FHIR) queries. Medical API: GET /medical/v1/patient/{id}/consolidated/query.
| Argument | Type | Description |
|---|---|---|
| id* | string | The Metriport Patient ID. |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"id"
],
"properties": {
"id": {
"type": "string",
"description": "The Metriport Patient ID."
}
}
}List the document references currently available for a Patient at Metriport (optionally filtered by date range and content search). Medical API: GET /medical/v1/document.
| Argument | Type | Description |
|---|---|---|
| dateTo | string | Inclusive end date yyyy-mm-dd. |
| content | string | Text to search within the document reference and contents (min 3 chars). |
| dateFrom | string | Inclusive start date yyyy-mm-dd. |
| patientId* | string | The Patient ID whose available documents to list. |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"patientId"
],
"properties": {
"dateTo": {
"type": "string",
"pattern": "^\\d{4}-\\d{2}-\\d{2}$",
"description": "Inclusive end date yyyy-mm-dd."
},
"content": {
"type": "string",
"description": "Text to search within the document reference and contents (min 3 chars)."
},
"dateFrom": {
"type": "string",
"pattern": "^\\d{4}-\\d{2}-\\d{2}$",
"description": "Inclusive start date yyyy-mm-dd."
},
"patientId": {
"type": "string",
"description": "The Patient ID whose available documents to list."
}
}
}List all Facilities under your Metriport Organization (id, name, npi, address). Medical API: GET /medical/v1/facility.
No arguments.
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {}
}List Patients — all Patients, or only those at a given Facility if facilityId is supplied. Medical API: GET /medical/v1/patient.
| Argument | Type | Description |
|---|---|---|
| facilityId | string | Optional Facility ID to filter by. Omit to list all patients. |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"facilityId": {
"type": "string",
"description": "Optional Facility ID to filter by. Omit to list all patients."
}
}
}Starts a consolidated-data (FHIR) query for the patient. Returns a requestId; the bundle is delivered asynchronously (webhook). Medical API: POST /medical/v1/patient/{id}/consolidated/query.
| Argument | Type | Description |
|---|---|---|
| id* | string | The Metriport Patient ID. |
| dateTo | string | Inclusive end date yyyy-mm-dd. |
| dateFrom | string | Inclusive start date yyyy-mm-dd. |
| metadata | object | Optional custom string key-value pairs returned in the webhook. |
| resources | string | Comma-separated, case-sensitive list of FHIR resource types. Omit for all. |
| conversionType | string | Output format: json, pdf, or html. |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"id"
],
"properties": {
"id": {
"type": "string",
"description": "The Metriport Patient ID."
},
"dateTo": {
"type": "string",
"pattern": "^\\d{4}-\\d{2}-\\d{2}$",
"description": "Inclusive end date yyyy-mm-dd."
},
"dateFrom": {
"type": "string",
"pattern": "^\\d{4}-\\d{2}-\\d{2}$",
"description": "Inclusive start date yyyy-mm-dd."
},
"metadata": {
"type": "object",
"description": "Optional custom string key-value pairs returned in the webhook.",
"propertyNames": {
"type": "string"
},
"additionalProperties": {
"type": "string"
}
},
"resources": {
"type": "string",
"description": "Comma-separated, case-sensitive list of FHIR resource types. Omit for all."
},
"conversionType": {
"enum": [
"json",
"pdf",
"html"
],
"type": "string",
"description": "Output format: json, pdf, or html."
}
}
}Starts a document query — retrieves the patient's medical documents from connected HIE networks. Returns a requestId; results arrive asynchronously. Medical API: POST /medical/v1/document/query (patientId and facilityId are required query params).
| Argument | Type | Description |
|---|---|---|
| metadata | object | Optional custom string key-value pairs returned in the webhook. |
| patientId* | string | REQUIRED. The Patient ID to query documents for. |
| facilityId* | string | REQUIRED. The Facility ID where the patient receives care. |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"patientId",
"facilityId"
],
"properties": {
"metadata": {
"type": "object",
"description": "Optional custom string key-value pairs returned in the webhook.",
"propertyNames": {
"type": "string"
},
"additionalProperties": {
"type": "string"
}
},
"patientId": {
"type": "string",
"description": "REQUIRED. The Patient ID to query documents for."
},
"facilityId": {
"type": "string",
"description": "REQUIRED. The Facility ID where the patient receives care."
}
}
}