Skip to content

Connectors · Work & projects

Elation Health MCP server for AI agents.

actionlake is an MCP gateway: one remote MCP server that connects Claude and other MCP clients to Elation Health and the rest of your systems. It gives your agent 433 Elation Health actions (200 reads, 170 writes and 63 that wait for a confirmation) and holds the Elation Health credential itself, so the agent never does. It paces Elation Health's limits and records every call.

100,000 free calls a month. No card, no email, no password: press Start a free sandbox on the next screen and keep the key it shows you.

claude mcp add --transport http actionlake https://connect.actionlake.com/mcp
the first call
do {  action: "elation_health.contacts.list",  intent: "check which Elation Health account is connected"}# List Contacts · read · 1 upstream call
  • 433actionsin one signed file
  • 200readlook, never change
  • 170writecreate and update
  • 63wait for a yesdestructive, confirmed first

Set up

Connect Elation Health in three steps.

  1. 01

    Add actionlake to Claude.

    Run the command once in Claude Code; its consent page can create a free sandbox: 100,000 calls a month, no card. In the Claude app, add a custom connector with the URL below and paste your key on the consent page. Creating a new sandbox from the Claude app is not yet tested by us.

    https://connect.actionlake.com/mcp
  2. 02

    Connect Elation Health.

    OAuth 2.0, client credentials. Paste the app's client id and secret; actionlake fetches and renews the token, and nobody has to sign in. actionlake stores what you paste write-only, sealed under your tenant's key.

    • client_idElation API client ID, issued by Elation with your API credentials (sandbox via the developer sandbox request form;…
    • client_secretElation API client secret, issued with the client ID
    • hostWhere your Elation Health lives: your host
    account { op: "connections.requirements", service: "elation_health" }
    # free: exactly what to paste, and what is found for you
  3. 03

    Make the first call. Check before a write.

    Ask in plain words; Claude picks the action. Before anything changes, check validates the call and prices it, for free.

    do    { action: "elation_health.contacts.list" }# list contacts · read · 1 upstream callcheck { action: "elation_health.contacts.create", input: { … } }# free: inputs, permissions, cost and confirmations, nothing sent

Elation Health at a glance

Sign-in
OAuth 2.0, client credentials. Paste the app's client id and secret; actionlake fetches and renews the token, and nobody has to sign in.
You provide
client_idclient_secret
Setup fields
host
Limits we pace to
300 calls a minute, per connection
API covered
Elation API 2.0 (OpenAPI 3.1.0) plus the Insurance and Visit Notes APIsapp.elationemr.com
Built from
Elation Health's documentation, read 23 October 2026help.elationhealth.comhelp.elationhealth.comhelp.elationhealth.com
Service file
Version 1.0.0, signed (Ed25519)
Cached reads
200 of 200 reads, for up to 5 minutes; a write clears what it affects
Shared entities
3, so ask can line Elation Health up with your other systems
Data
Processed and stored in Sydney, Australia. No US region yet

Capabilities

What an AI agent can do in Elation Health.

433 actions in 103 areas. Every one carries its effect, so a key can allow the reads and hold the rest.

  • 200readlook, never change
  • 170writecreate and update
  • 63destructivewait for a confirmation
  1. Patients

    10

    4 read · 5 write · 1 destructive

    Create Patient · Create Patients Patient Provider Team · List Patients · Update Outstanding Balance

  2. Visit notes

    8

    4 read · 3 write · 1 destructive

    Create Visit Note · List Visit Notes · Retrieve Visit Note · Retrieve Visit Notes Clinical Summary

  3. Contacts

    7

    3 read · 3 write · 1 destructive

    List Contacts · Create Contact · Retrieve Contact · Search Contacts

  4. Allergies

    6

    2 read · 3 write · 1 destructive

    Create Allergy · List Allergies · Retrieve Allergy · Update Allergy

  5. Appointment types

    6

    2 read · 3 write · 1 destructive

    Create Appointment Type · List Appointment Types · Retrieve Appointment Type · Update Appointment Type

  6. Appointments

    6

    2 read · 3 write · 1 destructive

    Create Appointment · List Appointments · Retrieve Appointment · Delete Appointment

  7. Billing codes

    6

    2 read · 3 write · 1 destructive

    Create Billing Code · List Billing Codes · Retrieve Billing Code · Update Billing Code

  8. Cardiac orders

    6

    2 read · 3 write · 1 destructive

    Create Cardiac Order · List Cardiac Orders · Retrieve Cardiac Order · Update Cardiac Order

95 more areas · 378 actions
  • Drug intolerances 6
  • Handouts 6
  • Imaging orders 6
  • Insurance companies 6
  • Insurance plans 6
  • Lab facility identifiers 6
  • Lab order compendiums 6
  • Lab order sets 6
  • Lab orders 6
  • Lab vendor integrations 6
  • Lab vendor patient sites 6
  • Lab vendors 6
  • Medication order templates 6
  • Message threads 6
  • Non visit notes 6
  • Patient form requests 6
  • Patient policies 6
  • Practice medications 6
  • Problems 6
  • Pulmonary orders 6
  • Reports 6
  • Service locations 6
  • Sleep orders 6
  • Staff groups 6
  • Thread members 6
  • Visit note templates 6
  • Visit note types 6
  • Bills 5
  • Document tags 5
  • Incoming files 5
  • Letters 5
  • Notes 5
  • Notes V1 5
  • Patient letters 5
  • Practices 5
  • Referral orders 5
  • Report internal notes 5
  • Vitals 5
  • Allergy documentation 4
  • App published events 4
  • App subscriptions 4
  • Cardiac order tests 4
  • Clinical documents 4
  • Delegate permissions 4
  • Discontinued medications 4
  • Family histories 4
  • Histories 4
  • Imaging order tests 4
  • Immunization declines 4
  • Immunizations 4
  • Lab order tests 4
  • Medications 4
  • Patient letter comments 4
  • Patient provider team members 4
  • Physicians 4
  • Pulmonary order tests 4
  • Recurring event groups 4
  • Sleep order tests 4
  • Thread messages 4
  • Users 4
  • Vaccine 4
  • Medication history downloads 3
  • Patient form submissions 3
  • Patient insurance cards 3
  • Patient insurance eligibility 3
  • Patient profile images 3
  • Patient provider teams 3
  • Print headers 3
  • Ancillary companies 2
  • Cardiac centers 2
  • Imaging centers 2
  • Injections 2
  • Medication history download fills 2
  • Medication refills 2
  • Office staff 2
  • Packaged medication labelers 2
  • Packaged medications 2
  • Patient forms 2
  • Patient letter categories 2
  • Patient policy card images 2
  • Pharmacies 2
  • Physician availabilities 2
  • Prescription fills 2
  • Pulmonary centers 2
  • Reference medications 2
  • Report delegates 2
  • Report files 2
  • Report types 2
  • Sleep centers 2
  • Appointment rooms 1
  • Ccda 1
  • Languages 1
  • Note amendments 1
  • Note custom blocks 1
  • Patient incoming files 1

Top actions

The Elation Health API, shaped for agents.

The ids your agent types, what each does, and the one name it shares with other systems. 22 of Elation Health's 22 action names are shared with at least one other connector, so an agent learns them once.

ActionWhat it doesEffectSame name in
elation_health.contacts.listList ContactsList Contacts.readcrm.contact.list177 connectors
elation_health.service_locations.listList Service LocationsList Service Locations.readcrm.location.list48 connectors
elation_health.users.listList UsersList Users.readidentity.user.list474 connectors
elation_health.contacts.createCreate ContactCreate Contact.writecrm.contact.create161 connectors
elation_health.service_locations.createCreate Service LocationCreate Service Location.writecrm.location.create41 connectors
elation_health.contacts.deleteDelete ContactDelete Contact.destructivecrm.contact.delete147 connectors
elation_health.users.getRetrieve UserRetrieve User.readidentity.user.get399 connectors
elation_health.appointments.createCreate AppointmentCreate Appointment.writeservice.service_appointment.create13 connectors
elation_health.appointments.listList AppointmentsList Appointments.readservice.service_appointment.list12 connectors
elation_health.app_subscriptions.createSubscribe to a resource updatesSubscribe to a resource updates.writeautomation.webhook.create209 connectors
elation_health.app_subscriptions.listList SubscriptionsList Subscriptions.readautomation.webhook.list202 connectors
elation_health.bills.listList BillsList Bills.readthis connector

Try it

Prompts to paste into Claude.

Each one names the Elation Health actions it will call, so you know what it reads and what it changes before you send it.

  1. Readread

    Find the Elation Health contacts with no email address, so we can clean them up.

    callselation_health.contacts.list

  2. Writewrite

    Create Contact in Elation Health. Show me exactly what you will send before you save it.

    callselation_health.contacts.create

  3. Across systemsread

    Which contacts are in both Elation Health and HaloPSA, and how many are in only one of them?

    callselation_health.contacts.listhalopsa.users.list

Across your systems

Elation Health, joined to the rest of your business.

One ask fetches from Elation Health and another system, joins the rows on the same customer on our side, and hands your agent the answer, not every row.

  • Which contacts are in both Elation Health and HaloPSA, and how many are in only one of them?

    elation_health.contacts.list + halopsa.users.list, on crm.contact · HaloPSA

  • Which contacts are in both Elation Health and NetSuite, and how many are in only one of them?

    elation_health.contacts.list + netsuite.views.contacts, on crm.contact · NetSuite

Also mapped by other connectorsidentity.user 517crm.contact 192crm.location 49
ask
ask {  intent: "which contacts are in both Elation Health and HaloPSA, and how many are in only one of them",  steps: [    { action: "elation_health.contacts.list", as: "people", input: {}, limit: 100, max_pages: 5 },    { action: "halopsa.users.list", as: "people2", input: {}, limit: 100, max_pages: 5 },    { join: {        left: "people",        right: "people2",        on: "crm.contact",        group_by: "people.email",        select: ["people.email", "count(people2.id) as in_halopsa"]    } }  ]}
Example. Run it through check first: it validates the steps and prices them, and it is free.

Governance for Elation Health

Destructive actions wait for a yes.

63 Elation Health actions are destructive. The first 10:

  • Delete Contactelation_health.contacts.delete
  • Delete Service Locationelation_health.service_locations.delete
  • Delete Appointmentelation_health.appointments.delete
  • Delete a Subscriptionelation_health.app_subscriptions.delete
  • Delete a note (Visit Notes API)elation_health.notes.delete
  • Delete Reportelation_health.reports.delete
  • Delete Vaccineelation_health.vaccine.delete
  • Delete Handoutelation_health.handouts.delete
  • Delete a note (Visit Notes API v1)elation_health.notes_v1.delete
  • Delete Patientelation_health.patients.delete

A destructive action runs only with confirm: true. Under the human policy the agent cannot confirm for itself: the run stops until a named person approves, in the console or from a signed link in an email. The cap on a key is refused before the call is sent, never after.

doelation_health.contacts.deleteconfirm_policy: human

Delete Contact?

intent: the user asked me to delete Contact

run suspended · waiting for a named person · key elation-health-agent cannot confirm itself
In the console, or from an emailed signed link.
a key for this connector
account {  op: "keys.create", name: "elation-health-agent",  allowed_actions: ["elation_health.*"], cap_calls: 2000,  confirm_policy: "human_for_writes",  approval_rules: [    { match: "elation_health.contacts.delete", approver: "[email protected]" },    { match: "elation_health.service_locations.delete", approver: "[email protected]" },    { match: "elation_health.appointments.delete", approver: "[email protected]" }  ]}
Illustrative. Scoped to Elation Health only, capped at 2,000 upstream calls, every write confirmed, and the destructive ones approved by a named person.

Cost

What Elation Health costs on actionlake.

Every Elation Health action is one upstream call, the only thing actionlake bills. Searching, check, cost, account and any call Elation Health refused with 401, 403, 429 or a 5xx are free. Paid plans start at US$49 a month for 250,000 calls, with overage from US$0.30 down to US$0.18 per 1,000.

  • 1upstream call per actionall 433 Elation Health actions
  • 433actions pageeach page of a long list is one call
  • 200reads can be cacheda cache hit costs nothing
  • 100,000calls a month, freepaid plans from US$49 a month for 250,000

See pricing

Action index

Every Elation Health action.

433 actions by area: the id your agent calls, what it does, and its effect.

Patients10
  • elation_health.patients.createCreate Patientwrite
  • elation_health.patients.create_provider_teamCreate Patients Patient Provider Teamwrite
  • elation_health.patients.listList Patientsread
  • elation_health.patients.set_outstanding_balanceUpdate Outstanding Balancewrite
  • elation_health.patients.deleteDelete Patientdestructive
  • elation_health.patients.getRetrieve Patientread
  • and 4 more in this area
Visit notes8
  • elation_health.visit_notes.createCreate Visit Notewrite
  • elation_health.visit_notes.getRetrieve Visit Noteread
  • elation_health.visit_notes.get_clinical_summaryRetrieve Visit Notes Clinical Summaryread
  • elation_health.visit_notes.listList Visit Notesread
  • elation_health.visit_notes.deleteDelete Visit Notedestructive
  • elation_health.visit_notes.get_visit_summaryRetrieve Visit Notes Visit Summaryread
  • and 2 more in this area
Contacts7
  • elation_health.contacts.createCreate Contactwrite
  • elation_health.contacts.getRetrieve Contactread
  • elation_health.contacts.listList Contactsread
  • elation_health.contacts.searchSearch Contactsread
  • elation_health.contacts.deleteDelete Contactdestructive
  • elation_health.contacts.replaceUpdate Contactwrite
  • and 1 more in this area
Allergies6
  • elation_health.allergies.createCreate Allergywrite
  • elation_health.allergies.getRetrieve Allergyread
  • elation_health.allergies.listList Allergiesread
  • elation_health.allergies.replaceUpdate Allergywrite
  • elation_health.allergies.deleteDelete Allergydestructive
  • elation_health.allergies.updatePartially Update Allergywrite
Appointment types6
  • elation_health.appointment_types.createCreate Appointment Typewrite
  • elation_health.appointment_types.getRetrieve Appointment Typeread
  • elation_health.appointment_types.listList Appointment Typesread
  • elation_health.appointment_types.replaceUpdate Appointment Typewrite
  • elation_health.appointment_types.deleteDelete Appointment Typedestructive
  • elation_health.appointment_types.updatePartially Update Appointment Typewrite
Appointments6
  • elation_health.appointments.createCreate Appointmentwrite
  • elation_health.appointments.deleteDelete Appointmentdestructive
  • elation_health.appointments.getRetrieve Appointmentread
  • elation_health.appointments.listList Appointmentsread
  • elation_health.appointments.replaceUpdate Appointmentwrite
  • elation_health.appointments.updatePartially Update Appointmentwrite
Billing codes6
  • elation_health.billing_codes.createCreate Billing Codewrite
  • elation_health.billing_codes.getRetrieve Billing Coderead
  • elation_health.billing_codes.listList Billing Codesread
  • elation_health.billing_codes.replaceUpdate Billing Codewrite
  • elation_health.billing_codes.deleteDelete Billing Codedestructive
  • elation_health.billing_codes.updatePartially Update Billing Codewrite
Cardiac orders6
  • elation_health.cardiac_orders.createCreate Cardiac Orderwrite
  • elation_health.cardiac_orders.getRetrieve Cardiac Orderread
  • elation_health.cardiac_orders.listList Cardiac Ordersread
  • elation_health.cardiac_orders.replaceUpdate Cardiac Orderwrite
  • elation_health.cardiac_orders.deleteDelete Cardiac Orderdestructive
  • elation_health.cardiac_orders.updatePartially Update Cardiac Orderwrite
Drug intolerances6
  • elation_health.drug_intolerances.createCreate Drug Intolerancewrite
  • elation_health.drug_intolerances.getRetrieve Drug Intoleranceread
  • elation_health.drug_intolerances.listList Drug Intolerancesread
  • elation_health.drug_intolerances.replaceUpdate Drug Intolerancewrite
  • elation_health.drug_intolerances.deleteDelete Drug Intolerancedestructive
  • elation_health.drug_intolerances.updatePartially Update Drug Intolerancewrite
Handouts6
  • elation_health.handouts.createCreate Handoutwrite
  • elation_health.handouts.getRetrieve Handoutread
  • elation_health.handouts.listList Handoutsread
  • elation_health.handouts.replaceUpdate Handoutwrite
  • elation_health.handouts.deleteDelete Handoutdestructive
  • elation_health.handouts.updatePartially Update Handoutwrite
Imaging orders6
  • elation_health.imaging_orders.createCreate Imaging Orderwrite
  • elation_health.imaging_orders.getRetrieve Imaging Orderread
  • elation_health.imaging_orders.listList Imaging Ordersread
  • elation_health.imaging_orders.replaceUpdate Imaging Orderwrite
  • elation_health.imaging_orders.deleteDelete Imaging Orderdestructive
  • elation_health.imaging_orders.updatePartially Update Imaging Orderwrite
Insurance companies6
  • elation_health.insurance_companies.createCreate Insurance Companywrite
  • elation_health.insurance_companies.getRetrieve Insurance Companyread
  • elation_health.insurance_companies.listList Insurance Companiesread
  • elation_health.insurance_companies.replaceUpdate Insurance Companywrite
  • elation_health.insurance_companies.deleteDelete Insurance Companydestructive
  • elation_health.insurance_companies.updatePartially Update Insurance Companywrite
Insurance plans6
  • elation_health.insurance_plans.createCreate Insurance Planwrite
  • elation_health.insurance_plans.getRetrieve Insurance Planread
  • elation_health.insurance_plans.listList Insurance Plansread
  • elation_health.insurance_plans.replaceUpdate Insurance Planwrite
  • elation_health.insurance_plans.deleteDelete Insurance Plandestructive
  • elation_health.insurance_plans.updatePartially Update Insurance Planwrite
Lab facility identifiers6
  • elation_health.lab_facility_identifiers.createCreate Lab Facility Identifierwrite
  • elation_health.lab_facility_identifiers.getRetrieve Lab Facility Identifierread
  • elation_health.lab_facility_identifiers.listList Lab Facility Identifiersread
  • elation_health.lab_facility_identifiers.replaceUpdate Lab Facility Identifierwrite
  • elation_health.lab_facility_identifiers.deleteDelete Lab Facility Identifierdestructive
  • elation_health.lab_facility_identifiers.updatePartially Update Lab Facility Identifierwrite
Lab order compendiums6
  • elation_health.lab_order_compendiums.createCreate Lab Order Compendiumwrite
  • elation_health.lab_order_compendiums.getRetrieve Lab Order Compendiumread
  • elation_health.lab_order_compendiums.listList Lab Order Compendiumsread
  • elation_health.lab_order_compendiums.replaceUpdate Lab Order Compendiumwrite
  • elation_health.lab_order_compendiums.deleteDelete Lab Order Compendiumdestructive
  • elation_health.lab_order_compendiums.updatePartially Update Lab Order Compendiumwrite
Lab order sets6
  • elation_health.lab_order_sets.createCreate Lab Order Setwrite
  • elation_health.lab_order_sets.getRetrieve Lab Order Setread
  • elation_health.lab_order_sets.listList Lab Order Setsread
  • elation_health.lab_order_sets.replaceUpdate Lab Order Setwrite
  • elation_health.lab_order_sets.deleteDelete Lab Order Setdestructive
  • elation_health.lab_order_sets.updatePartially Update Lab Order Setwrite
Lab orders6
  • elation_health.lab_orders.createCreate Lab Orderwrite
  • elation_health.lab_orders.getRetrieve Lab Orderread
  • elation_health.lab_orders.listList Lab Ordersread
  • elation_health.lab_orders.replaceUpdate Lab Orderwrite
  • elation_health.lab_orders.deleteDelete Lab Orderdestructive
  • elation_health.lab_orders.updatePartially Update Lab Orderwrite
Lab vendor integrations6
  • elation_health.lab_vendor_integrations.createCreate Lab Vendor Integrationwrite
  • elation_health.lab_vendor_integrations.getRetrieve Lab Vendor Integrationread
  • elation_health.lab_vendor_integrations.listList Lab Vendor Integrationsread
  • elation_health.lab_vendor_integrations.replaceUpdate Lab Vendor Integrationwrite
  • elation_health.lab_vendor_integrations.deleteDelete Lab Vendor Integrationdestructive
  • elation_health.lab_vendor_integrations.updatePartially Update Lab Vendor Integrationwrite
Lab vendor patient sites6
  • elation_health.lab_vendor_patient_sites.createCreate Lab Vendor Patient Sitewrite
  • elation_health.lab_vendor_patient_sites.getRetrieve Lab Vendor Patient Siteread
  • elation_health.lab_vendor_patient_sites.listList Lab Vendor Patient Sitesread
  • elation_health.lab_vendor_patient_sites.replaceUpdate Lab Vendor Patient Sitewrite
  • elation_health.lab_vendor_patient_sites.deleteDelete Lab Vendor Patient Sitedestructive
  • elation_health.lab_vendor_patient_sites.updatePartially Update Lab Vendor Patient Sitewrite
Lab vendors6
  • elation_health.lab_vendors.createCreate Lab Vendorwrite
  • elation_health.lab_vendors.getRetrieve Lab Vendorread
  • elation_health.lab_vendors.listList Lab Vendorsread
  • elation_health.lab_vendors.replaceUpdate Lab Vendorwrite
  • elation_health.lab_vendors.deleteDelete Lab Vendordestructive
  • elation_health.lab_vendors.updatePartially Update Lab Vendorwrite
Medication order templates6
  • elation_health.medication_order_templates.createCreate Medication Order Templatewrite
  • elation_health.medication_order_templates.getRetrieve Medication Order Templateread
  • elation_health.medication_order_templates.listList Medication Order Templatesread
  • elation_health.medication_order_templates.replaceUpdate Medication Order Templatewrite
  • elation_health.medication_order_templates.deleteDelete Medication Order Templatedestructive
  • elation_health.medication_order_templates.updatePartially Update Medication Order Templatewrite
Message threads6
  • elation_health.message_threads.createCreate Message Threadwrite
  • elation_health.message_threads.getRetrieve Message Threadread
  • elation_health.message_threads.listList Message Threadsread
  • elation_health.message_threads.replaceUpdate Message Threadwrite
  • elation_health.message_threads.deleteDelete Message Threaddestructive
  • elation_health.message_threads.updatePartially Update Message Threadwrite
Non visit notes6
  • elation_health.non_visit_notes.createCreate Non Visit Notewrite
  • elation_health.non_visit_notes.getRetrieve Non Visit Noteread
  • elation_health.non_visit_notes.listList Non Visit Notesread
  • elation_health.non_visit_notes.replaceUpdate Non Visit Notewrite
  • elation_health.non_visit_notes.deleteDelete Non Visit Notedestructive
  • elation_health.non_visit_notes.updatePartially Update Non Visit Notewrite
Patient form requests6
  • elation_health.patient_form_requests.createCreate Patient Form Requestwrite
  • elation_health.patient_form_requests.getRetrieve Patient Form Requestread
  • elation_health.patient_form_requests.listList Patient Form Requestsread
  • elation_health.patient_form_requests.replaceUpdate Patient Form Requestwrite
  • elation_health.patient_form_requests.deleteDelete Patient Form Requestdestructive
  • elation_health.patient_form_requests.updatePartially Update Patient Form Requestwrite
Patient policies6
  • elation_health.patient_policies.createCreate one insurance policy for a patientwrite
  • elation_health.patient_policies.getGet a patient's insurance policyread
  • elation_health.patient_policies.listList a patient's insurance policiesread
  • elation_health.patient_policies.replaceReplace a patient's insurance policywrite
  • elation_health.patient_policies.deleteDelete a patient's insurance policydestructive
  • elation_health.patient_policies.replace_allReplace a patient's insurance policies with the given listwrite
Practice medications6
  • elation_health.practice_medications.createCreate Practice Medicationwrite
  • elation_health.practice_medications.getRetrieve Practice Medicationread
  • elation_health.practice_medications.listList Practice Medicationsread
  • elation_health.practice_medications.replaceUpdate Practice Medicationwrite
  • elation_health.practice_medications.deleteDelete Practice Medicationdestructive
  • elation_health.practice_medications.updatePartially Update Practice Medicationwrite
Problems6
  • elation_health.problems.createCreate Problemwrite
  • elation_health.problems.getRetrieve Problemread
  • elation_health.problems.listList Problemsread
  • elation_health.problems.replaceUpdate Problemwrite
  • elation_health.problems.deleteDelete Problemdestructive
  • elation_health.problems.updatePartially Update Problemwrite
Pulmonary orders6
  • elation_health.pulmonary_orders.createCreate Pulmonary Orderwrite
  • elation_health.pulmonary_orders.getRetrieve Pulmonary Orderread
  • elation_health.pulmonary_orders.listList Pulmonary Ordersread
  • elation_health.pulmonary_orders.replaceUpdate Pulmonary Orderwrite
  • elation_health.pulmonary_orders.deleteDelete Pulmonary Orderdestructive
  • elation_health.pulmonary_orders.updatePartially Update Pulmonary Orderwrite
Reports6
  • elation_health.reports.createCreate Reportwrite
  • elation_health.reports.getRetrieve Reportread
  • elation_health.reports.listList Reportsread
  • elation_health.reports.replaceUpdate Reportwrite
  • elation_health.reports.deleteDelete Reportdestructive
  • elation_health.reports.updatePartially Update Reportwrite
Service locations6
  • elation_health.service_locations.createCreate Service Locationwrite
  • elation_health.service_locations.deleteDelete Service Locationdestructive
  • elation_health.service_locations.getRetrieve Service Locationread
  • elation_health.service_locations.listList Service Locationsread
  • elation_health.service_locations.replaceUpdate Service Locationwrite
  • elation_health.service_locations.updatePartially Update Service Locationwrite

Sleep orders 6Staff groups 6Thread members 6Visit note templates 6Visit note types 6Bills 5Document tags 5Incoming files 5Letters 5Notes 5Notes V1 5Patient letters 5Practices 5Referral orders 5Report internal notes 5Vitals 5Allergy documentation 4App published events 4App subscriptions 4Cardiac order tests 4Clinical documents 4Delegate permissions 4Discontinued medications 4Family histories 4Histories 4Imaging order tests 4Immunization declines 4Immunizations 4Lab order tests 4Medications 4Patient letter comments 4Patient provider team members 4Physicians 4Pulmonary order tests 4Recurring event groups 4Sleep order tests 4Thread messages 4Users 4Vaccine 4Medication history downloads 3Patient form submissions 3Patient insurance cards 3Patient insurance eligibility 3Patient profile images 3Patient provider teams 3Print headers 3Ancillary companies 2Cardiac centers 2Imaging centers 2Injections 2Medication history download fills 2Medication refills 2Office staff 2Packaged medication labelers 2Packaged medications 2Patient forms 2Patient letter categories 2Patient policy card images 2Pharmacies 2Physician availabilities 2Prescription fills 2Pulmonary centers 2Reference medications 2Report delegates 2Report files 2Report types 2Sleep centers 2Appointment rooms 1Ccda 1Languages 1Note amendments 1Note custom blocks 1Patient incoming files 1

This index shows a sample of each area. All 433 actions, with their inputs and prices, are in the catalogue, which a free sandbox key can search.

Questions

The Elation Health MCP server, answered.

Is there an Elation Health MCP server for Claude?

Yes. actionlake is an MCP gateway: a remote MCP server that gives Claude, or another MCP client, 433 Elation Health actions across patients, visit notes, contacts and allergies, through the same eight tools it uses for every other connector. actionlake is independent; it is not made or endorsed by Elation Health.

What do I need to connect Elation Health?

Elation API client ID, issued by Elation with your API credentials (sandbox via the developer sandbox request form;… and Elation API client secret, issued with the client ID. Plus your host. The free call account { op: "connections.requirements", service: "elation_health" } lists exactly what to paste.

Can an AI agent delete or change things in Elation Health?

Only if its key allows it, and only with an explicit confirmation. 63 Elation Health actions are destructive, including delete Contact, delete Service Location and delete Appointment. Each runs only with confirm: true. Under the human confirm policy, or an approval rule on the key, the run waits until a named person approves it.

Will an AI agent use up my Elation Health API limit?

actionlake paces every call to the limits in the Elation Health service file: 300 calls a minute per connection. Repeated reads are answered from cache (200 Elation Health actions can be), which never reaches Elation Health.

What does an Elation Health action cost?

One upstream call, the only unit actionlake bills. A list that pages bills one call per page (433 Elation Health actions page). Cache hits, searches, dry runs and calls Elation Health refused with 401, 403, 429 or a 5xx are free. The Free plan includes 100,000 calls a month with no card. Paid plans start at US$49 a month for 250,000 calls, with overage from US$0.30 down to US$0.18 per 1,000.

Which Elation Health API does it cover?

The Elation API 2.0 (OpenAPI 3.1.0) plus the Insurance and Visit Notes APIs at app.elationemr.com by default, or the base URL set when you connect. It is built from Elation Health's documentation as read on 23 October 2026. 433 actions in 103 areas, each one in the signed service file (version 1.0.0).

Can I combine Elation Health with my other systems?

Yes. ask joins Elation Health to HaloPSA or NetSuite on the same customer and returns the answer rather than every row. Elation Health maps crm.contact, which 192 other connectors also map.

Does actionlake keep my Elation Health data, and where?

actionlake processes and stores data in Sydney, Australia; there is no US region yet. Reads may be cached for up to 5 minutes, and a write clears the reads it affects. Each run's request and response is kept, sealed, for your plan's trace window: 1 day on Free, 3 days on Starter, 7 days on Pro, 14 days on Team, 30 days on Business and 30 days on Enterprise. Your Elation Health credential is sealed under your tenant's key, never logged and never returned. Your traffic is not used to train models.

Which AI clients can use it?

Claude Code, tested by us end to end, and the Claude app as a custom connector, tested by us with an existing key. Other MCP clients that support remote servers over Streamable HTTP (MCP revisions 2025-06-18 and 2025-11-25) and OAuth dynamic client registration, or a bearer header, should connect the same way; we have not tested them. Or plain REST, under the same action names.

Give your agent Elation Health today.

Start free - 100,000 calls/month, no card. No signup. Hard caps on every key. Cached answers are free.