MCP App Store
by KeenEthics
Luma Health icon

Luma Health

By Luma Health

Get New App Alerts

Overview

For authorized healthcare staff using Luma Health to manage administrative patient-access workflows: search patient records, review appointments, and find providers in their connected organization. Available actions depend on the connected account and server tool set. Changes to appointments and records require explicit user intent. Requires a Luma Health account and sign-in through the connected organization. This integration supports healthcare administration and does not provide diagnosis or treatment advice.

Tools

agentlaunchpad_list_workflow_enrollments

ChatGPT
List patient enrollments in an Agent Launchpad workflow. Defaults to unique actively enrolled patients. scope=all includes historical runs; view=runs returns individual runs. Exact status and patient filters intersect with scope. Patient grouping happens before pagination; latestMatchingRun and matchingRunCount describe only matching runs. Scans at most 10,000 upstream runs and fails rather than returning partial totals. Concurrent enrollment changes can affect pagination. Read only.

agentlaunchpad_list_workflows

ChatGPT
List configured Agent Launchpad workflows for the authenticated account. Includes active, paused and archived workflows unless status is specified. Returns workflow IDs, names, objectives and a continuation cursor. Does not enroll patients.

cancel_appointment

ChatGPT
Use this tool to cancel an appointment. Sets the appointment status to "cancelled". Optionally provide a reason for the cancellation. Returns: Updated appointment object with _id, patient (ID only), provider (ID only), facility (ID only), appointmentType, date, duration, status, statusReason, source, externalId, createdAt, updatedAt.

check_insurance_eligibility

ChatGPT
Run an eligibility/verification check on an insurance record. This triggers a real-time eligibility check with the payer and returns the updated insurance with verification results including copays, deductible, and active status. Returns: Insurance object with updated verification status and copay information.

confirm_appointment

ChatGPT
Use this tool to confirm an appointment. Sets the appointment status to "confirmed". Returns: Updated appointment object with _id, patient (ID only), provider (ID only), facility (ID only), appointmentType, date, duration, status, statusReason, source, externalId, createdAt, updatedAt.

create_net_promoter_score

ChatGPT
Create a Net Promoter Score (NPS) for an appointment. The score is 0 (not at all likely to recommend) to 10 (extremely likely to recommend). Uses model-repository (same as rest-service POST /feedback/score). One NPS per appointment is typical; creating another for the same appointment may be allowed depending on backend rules. Returns: Created feedback object with _id, appointment (ID), response (type: npsscore, value: score), createdAt, updatedAt.

create_outbound_referral

ChatGPT
Use this tool to create a new outbound referral for a patient. The request body is validated against the outbound referrals schema. Returns: Created outbound referral object.

create_referral

ChatGPT
Use this tool to create a new inbound referral for a patient. Requires a patient ID at minimum. Returns: Created referral object.

create_waitlist

ChatGPT
Add a patient to the waitlist for an earlier appointment opening. Use this after cancelling or rescheduling an appointment, or when a patient requests to be notified of earlier availability. Returns: Created waitlist entry with _id, patient (ID), provider (ID), facility (ID), appointmentType (ID), status, createdAt, updatedAt.

ehr_cancel_appointment

ChatGPT
Cancel an appointment in the EHR. The appointment status is NOT updated in Luma.

ehr_confirm_appointment

ChatGPT
Confirm an appointment in the EHR. The appointment status is NOT updated in Luma.

ehr_create_appointment

ChatGPT
Create an appointment directly in the EHR. The appointment is NOT synced to Luma.

ehr_create_encounter

ChatGPT
Create an encounter directly in the EHR.

ehr_get_patient_next_contact_sync

ChatGPT
Get the datetime of the next scheduled contact sync for a patient.

ehr_import_patients

ChatGPT
Search and import patients from the EHR by demographics. All matched patients are synced to Luma.

ehr_list_availabilities

ChatGPT
Query availability slots from the EHR integration for a date range. Returns Availability-shaped objects without creating data in Luma.

ehr_log_message

ChatGPT
Log a message into the EHR against a patient. The integrator decides how each EHR receives it (Epic InBasket, a Cerner document, an Athena tickler). Returns submissionStatus: "submitted_unconfirmed" and deliveryConfirmed: false always — the integration reports no confirmation, and accounts whose EHR client has no logMessage implementation drop the message silently. Never treat a returned result as proof the EHR recorded the message.

ehr_reload_patient

ChatGPT
Reload a patient's data from the EHR integration.

ehr_reload_patient_appointments

ChatGPT
Reload appointments for a patient from the EHR for a date range.

ehr_sync_patient

ChatGPT
Sync a single patient from the EHR to Luma. Provide either externalId or demographics (firstname + lastname + dob). If the patient already exists in Luma, the record is returned without re-syncing.

ehr_sync_patient_appointments

ChatGPT
Sync appointments for a patient from the EHR for a given date range.

ehr_write_document

ChatGPT
Render free-form note content to a PDF and write it back to the EHR as a document (Epic Media, Cerner document, etc.). The RPC always sends a defined writebackOptions object downstream. On success this does NOT prove the EHR received or filed the document — some clients report success without any delivery confirmation. Never treat a returned result as proof the document was recorded. Fails as a tool error (never retried) if the EHR client does not support document writeback or the RPC otherwise fails.

ehr_write_form_field

ChatGPT
Write a patient form's mapped answers back to the EHR (Epic flowsheet rows, demographics or social history elsewhere). Normally call it with just patientFormId — the mapping lives on the form template, so no EHR field names are needed. Values unchanged since their last successful write are skipped, so calling it after every step is cheap — but that is a best-effort check, not a duplicate-write guarantee, so do not issue overlapping calls for the same form. Check isSuccess, not just updatedKeys. Pass fields only to write specific mapping keys directly.

ehr_write_form_pdf

ChatGPT
Render a patient form's own PDF and write it back to the EHR as a document. Category, title, appointment, and encounter-level attachment are resolved from the form itself, falling back to its template — pass them explicitly only to override. A category is required (from documentCategory, the form, or its template); the call fails as a tool error if none is set. On success this does NOT prove the EHR received or filed the document — never treat a returned result as proof of delivery. Fails as a tool error (never retried) on any RPC failure.

get_appointment

ChatGPT
Use this tool when you have a specific appointment ID and need full details. Appointments contain patient and provider as IDs only — use get_patient and get_provider to resolve names. Returns: Appointment object with _id, patient (ID only), provider (ID only), facility (ID only), appointmentType, date, duration, status, statusReason, source, externalId, createdAt, updatedAt.

get_facility

ChatGPT
Use this tool when you have a facility ID (e.g. from an appointment or feedback) and need the facility details (name, address, phone, timezone). Do NOT use for searching — use this to look up a specific facility by ID. Returns: Facility object with _id, name, phonetic, alternativeName, address, city, state, postcode, phone, visible, externalId, settings (e.g. timezone), createdAt, updatedAt.

get_insurance_verification

ChatGPT
Get the insurance verification result for a specific appointment and insurance combination. Use this to retrieve previously-run verification results. Returns: Verification object with status, verifiedAt, and lookupResults.

get_outbound_referral

ChatGPT
Use this tool when you have a specific outbound referral ID and need full details. Returns: Outbound referral object with all fields including processedReferralsOutreach and faxUpload.

get_patient

ChatGPT
Use this tool when you already have a patient ID (from search_patients) and need their full profile. Do NOT use this for searching — use search_patients first. Returns: Object with patient (_id, firstname, lastname, name, birthYear, hasPhone, hasEmail, externalId). Note: medicalRecordNumber is redacted for HIPAA compliance.

get_provider

ChatGPT
Use this tool when you have a specific provider ID (from an appointment or list_providers) and need their full details including name, specialty, and NPI. Returns: Provider object with _id, name, firstname, lastname, email, npi, specialty, schedulable, visible, deptCode, externalId, createdAt, updatedAt.

get_recall

ChatGPT
Use this tool when you have a specific recall ID and need full details. Returns: Recall object with _id, patient (ID), provider (ID), facility (ID), appointment (ID), type (ID), date, status, source, attempt, lastAttemptSentAt, scheduledAt, externalId, createdAt, updatedAt.

get_referral

ChatGPT
Use this tool when you have a specific referral ID and need full details. Returns: Referral object with _id, patient (ID), provider (ID), facility (ID), appointmentType (ID), renderingProvider (ID), referringProvider (ID), source, status, diagnoses, attempt, startOn, expireAt, notes, createdAt, updatedAt.

get_settings

ChatGPT
Use this tool to retrieve the settings configuration for any resource by its ID. Pass the facility ID, provider ID, appointment type ID, or account/integrator ID as refId. Each refId maps to at most one settings record, so the tool returns a single object (or null if no settings exist for that refId). The settings blob is large, so this tool uses a discovery-first flow: 1. Call without "sections" or "full" to get the list of available section names (e.g. reminder, scheduler, telehealth). 2. Call again with "sections" set to the ones you need to get just those slices. 3. Use "full: true" only when you genuinely need the entire blob — it can be tens of KB. Returns: A single object (or null). Shape depends on params: - No sections / no full → { _id, ref, refId, availableSections, createdAt, updatedAt } - With sections → { _id, ref, refId, settings: { [section1]: ..., [section2]: ... }, createdAt, updatedAt } - With full: true → full settings record including the complete settings object

list_billing_charges

ChatGPT
List billing charges, optionally filtered by patient or appointment. Returns: Array of charge objects with _id, appointment, chargeDescription, chargeAmount, serviceCode, and status.

list_insurance_payors

ChatGPT
Fuzzy search for insurance payors (payers) by name or friendly name. Use this to find a valid payorId before creating or updating an insurance record. Returns up to 10 best matches. Returns: Array of payor objects with _id and name.

list_messages

ChatGPT
List messages sent to or from a patient. Returns the most recent messages for the patient across all channels (SMS, email, chat, etc.). Returns: Array of message objects with _id, text, channel, type, status, internal flag, createdAt, updatedAt.

list_patient_copays

ChatGPT
List appointments with associated copay amounts for a patient. Use this to see outstanding or historical copay obligations. Returns: Array of appointment objects with copay amounts.

list_patient_insurance_verifications

ChatGPT
List all insurance verifications for a patient across appointments. Use this to review the history of eligibility checks. Returns: Array of verification objects.

list_patient_insurances

ChatGPT
List all insurances on file for a patient. Use this to see existing insurance records before creating new ones. Returns: Array of insurance objects with _id, planName, payerName, primary, active, status, and verification info.

list_providers

ChatGPT
Use this tool to browse or enumerate providers (doctors, staff). Supports filtering by facility, schedulable status, and visibility. Does NOT support name search — retrieve all and filter by name in results. Returns: Array of providers with _id, name, firstname, lastname, email, npi, specialty, schedulable, visible, deptCode, externalId, createdAt, updatedAt.

reschedule_appointment

ChatGPT
Reschedule an appointment into a new availability slot. You MUST call get_reschedule_slots first to obtain a valid availabilityId. The original appointment is cancelled and a new one is created in the selected slot. Returns: Object with status ("success" or "failure"), newAppointment details (id, date, provider, facility, type, patient) on success, or an error description on failure.

search_appointments

ChatGPT
Use this tool to find appointments. You can filter by patient, provider, facility, status, and date range. If no date filters are provided, returns the most recent appointments up to the limit. For "tomorrow" or "next week" queries, compute the ISO 8601 dates yourself. Returns: Array of appointments with _id, patient (ID only), provider (ID only), facility (ID only), appointmentType, date, duration, status, statusReason, source, externalId, createdAt, updatedAt. Appointments contain patient and provider as IDs only — use get_patient and get_provider to resolve names.

search_feedback

ChatGPT
Search feedback responses (NPS scores, positive/negative clicks). Use this to find feedback by patient, appointment, facility, provider, type, or date range. Data is read via model-repository (same as rest-service feedback reports). Returns: Array of feedback objects with _id, patient (ID), appointment (ID), provider (ID), facility (ID), response (type and value), createdAt, updatedAt.

search_inbound_referrals

ChatGPT
Use this tool for advanced inbound referral search with filters like date range, status, facility, appointment type, and referring provider. Uses POST for complex filter combinations. Returns: Array of referrals matching the search criteria.

search_outbound_referrals

ChatGPT
Use this tool to find outbound referrals. You can filter by facility, provider, and status. Returns: Array of outbound referrals with _id, patient (ID), provider (ID), facility (ID), appointmentType (ID), source, status, diagnoses, attempt, startOn, expireAt, notes, processedReferralsOutreach, createdAt, updatedAt.

search_patients

ChatGPT
Use this tool to find patients when you have a name, date of birth, phone number, or ID. This is typically the FIRST tool to use when a user mentions a patient by name. The query auto-detects the type: names search by name, YYYY-MM-DD format searches by DOB, 10+ digit numbers search by phone, and 24-character hex strings search by MongoDB ID. Returns: Array of patients with _id, firstname, lastname, name, birthYear (year only — full DOB is redacted for HIPAA), hasPhone (boolean), hasEmail (boolean), externalId. Note: medicalRecordNumber is redacted for HIPAA compliance.

search_recalls

ChatGPT
Use this tool to find recalls. You can filter by patient, provider, facility, and status. Recalls represent patients who are due for a follow-up appointment. Returns: Array of recalls with _id, patient (ID), provider (ID), facility (ID), appointment (ID), type (ID), date, status, source, attempt, lastAttemptSentAt, scheduledAt, externalId, createdAt, updatedAt.

search_referrals

ChatGPT
Use this tool to find inbound referrals. You can filter by facility, provider, patient name, status, and date range. When searching by patient name, the API resolves matching patients automatically. Returns: Array of referrals with _id, patient (ID), provider (ID), facility (ID), appointmentType (ID), renderingProvider (ID), referringProvider (ID), source, status, diagnoses, attempt, startOn, expireAt, notes, createdAt, updatedAt.

search_waitlists

ChatGPT
Search waitlist entries. Use this to find patients waiting for an earlier appointment opening. Filter by patient, provider, facility, or status. Useful for "who is on the waitlist?" or "is this patient on the waitlist?" queries. Status values: waiting (actively waiting), in-flight (slot offered and processing), offered (slot offered to patient), confirming (patient confirming), accepted (patient accepted new slot), pending (awaiting processing), declined (patient declined offer). Returns: Array of waitlist entries with _id, patient (ID), provider (ID), facility (ID), appointmentType (ID), status, createdAt, updatedAt.

update_outbound_referral

ChatGPT
Use this tool to update an existing outbound referral. Only the fields you provide will be updated. The request body is validated against the outbound referrals schema. Returns: Updated outbound referral object.

update_patient_demographics

ChatGPT
Persist changes to a patient record in Luma by updating the supplied demographic fields (name, DOB, gender, race, ethnicity, address, phone, email, language). Supplied values overwrite the existing values and are visible to staff viewing the patient record. Use this during the demographics intake workflow after finding the patient with search_patients. Returns: Updated patient object.

update_referral

ChatGPT
Use this tool to update an existing inbound referral. Only the fields you provide will be updated. Returns: Updated referral object.

update_waitlist

ChatGPT
Update a waitlist entry — for example, to change the status or update provider/facility preferences. Returns: Updated waitlist entry.

Capabilities

Writes

Example Prompts

Click any prompt to copy it.

Similar Apps