---
title: "Elation Health MCP server for AI agents - actionlake"
description: "Give Claude 433 Elation Health actions through one MCP server: patients, visit notes. Your agent never holds the credential. 100,000 calls a month free."
canonical: https://actionlake.com/connectors/elation-health
updated: 2026-10-23
---

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.

[Connect Elation Health free](https://actionlake.com/console?start=sandbox) [See pricing](https://actionlake.com/pricing)

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
```

- 433 actions in one signed file
- 200 read look, never change
- 170 write create and update
- 63 wait for a yes destructive, 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_id` Elation API client ID, issued by Elation with your API credentials (sandbox via the developer sandbox request form;…
   - `client_secret` Elation API client secret, issued with the client ID
   - `host` Where 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 call
   check { 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_id` `client_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 APIs`app.elationemr.com`

**Built from**

Elation Health's documentation, read 23 October 2026[help.elationhealth.com](https://help.elationhealth.com/files/elation-api-full.yaml) [help.elationhealth.com](https://help.elationhealth.com/openapi/insurance-api.json) [help.elationhealth.com](https://help.elationhealth.com/openapi/visit-notes-api.json)

**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.

- **200** read look, never change
- **170** write create and update
- **63** destructive wait 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.

| Action | What it does | Effect | Same name in |
| --- | --- | --- | --- |
| `elation_health.contacts.list` List Contacts | List Contacts. | read | `crm.contact.list` 177 connectors |
| `elation_health.service_locations.list` List Service Locations | List Service Locations. | read | `crm.location.list` 48 connectors |
| `elation_health.users.list` List Users | List Users. | read | `identity.user.list` 474 connectors |
| `elation_health.contacts.create` Create Contact | Create Contact. | write | `crm.contact.create` 161 connectors |
| `elation_health.service_locations.create` Create Service Location | Create Service Location. | write | `crm.location.create` 41 connectors |
| `elation_health.contacts.delete` Delete Contact | Delete Contact. | destructive | `crm.contact.delete` 147 connectors |
| `elation_health.users.get` Retrieve User | Retrieve User. | read | `identity.user.get` 399 connectors |
| `elation_health.appointments.create` Create Appointment | Create Appointment. | write | `service.service_appointment.create` 13 connectors |
| `elation_health.appointments.list` List Appointments | List Appointments. | read | `service.service_appointment.list` 12 connectors |
| `elation_health.app_subscriptions.create` Subscribe to a resource updates | Subscribe to a resource updates. | write | `automation.webhook.create` 209 connectors |
| `elation_health.app_subscriptions.list` List Subscriptions | List Subscriptions. | read | `automation.webhook.list` 202 connectors |
| `elation_health.bills.list` List Bills | List Bills. | read | this 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. Read read
   Find the Elation Health contacts with no email address, so we can clean them up.
   calls `elation_health.contacts.list`
2. Write write
   Create Contact in Elation Health. Show me exactly what you will send before you save it.
   calls `elation_health.contacts.create`
3. Across systems read
   Which contacts are in both Elation Health and HaloPSA, and how many are in only one of them?
   calls `elation_health.contacts.list` `halopsa.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](https://actionlake.com/connectors/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](https://actionlake.com/connectors/netsuite)

Also mapped by other connectors `identity.user` **517** `crm.contact` **192** `crm.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 Contact `elation_health.contacts.delete`
- Delete Service Location `elation_health.service_locations.delete`
- Delete Appointment `elation_health.appointments.delete`
- Delete a Subscription `elation_health.app_subscriptions.delete`
- Delete a note (Visit Notes API) `elation_health.notes.delete`
- Delete Report `elation_health.reports.delete`
- Delete Vaccine `elation_health.vaccine.delete`
- Delete Handout `elation_health.handouts.delete`
- Delete a note (Visit Notes API v1) `elation_health.notes_v1.delete`
- Delete Patient `elation_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.

do elation_health.contacts.delete confirm_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: "lead@example.com" },
    { match: "elation_health.service_locations.delete", approver: "lead@example.com" },
    { match: "elation_health.appointments.delete", approver: "lead@example.com" }
  ]
}
```

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.

- 1 upstream call per action all 433 Elation Health actions
- 433 actions page each page of a long list is one call
- 200 reads can be cached a cache hit costs nothing
- 100,000 calls a month, free paid plans from US$49 a month for 250,000

[See pricing](https://actionlake.com/pricing)

Action index

## Every Elation Health action.

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

**Patients 10**

- `elation_health.patients.create` Create Patient write
- `elation_health.patients.create_provider_team` Create Patients Patient Provider Team write
- `elation_health.patients.list` List Patients read
- `elation_health.patients.set_outstanding_balance` Update Outstanding Balance write
- `elation_health.patients.delete` Delete Patient destructive
- `elation_health.patients.get` Retrieve Patient read
- and 4 more in this area

**Visit notes 8**

- `elation_health.visit_notes.create` Create Visit Note write
- `elation_health.visit_notes.get` Retrieve Visit Note read
- `elation_health.visit_notes.get_clinical_summary` Retrieve Visit Notes Clinical Summary read
- `elation_health.visit_notes.list` List Visit Notes read
- `elation_health.visit_notes.delete` Delete Visit Note destructive
- `elation_health.visit_notes.get_visit_summary` Retrieve Visit Notes Visit Summary read
- and 2 more in this area

**Contacts 7**

- `elation_health.contacts.create` Create Contact write
- `elation_health.contacts.get` Retrieve Contact read
- `elation_health.contacts.list` List Contacts read
- `elation_health.contacts.search` Search Contacts read
- `elation_health.contacts.delete` Delete Contact destructive
- `elation_health.contacts.replace` Update Contact write
- and 1 more in this area

**Allergies 6**

- `elation_health.allergies.create` Create Allergy write
- `elation_health.allergies.get` Retrieve Allergy read
- `elation_health.allergies.list` List Allergies read
- `elation_health.allergies.replace` Update Allergy write
- `elation_health.allergies.delete` Delete Allergy destructive
- `elation_health.allergies.update` Partially Update Allergy write

**Appointment types 6**

- `elation_health.appointment_types.create` Create Appointment Type write
- `elation_health.appointment_types.get` Retrieve Appointment Type read
- `elation_health.appointment_types.list` List Appointment Types read
- `elation_health.appointment_types.replace` Update Appointment Type write
- `elation_health.appointment_types.delete` Delete Appointment Type destructive
- `elation_health.appointment_types.update` Partially Update Appointment Type write

**Appointments 6**

- `elation_health.appointments.create` Create Appointment write
- `elation_health.appointments.delete` Delete Appointment destructive
- `elation_health.appointments.get` Retrieve Appointment read
- `elation_health.appointments.list` List Appointments read
- `elation_health.appointments.replace` Update Appointment write
- `elation_health.appointments.update` Partially Update Appointment write

**Billing codes 6**

- `elation_health.billing_codes.create` Create Billing Code write
- `elation_health.billing_codes.get` Retrieve Billing Code read
- `elation_health.billing_codes.list` List Billing Codes read
- `elation_health.billing_codes.replace` Update Billing Code write
- `elation_health.billing_codes.delete` Delete Billing Code destructive
- `elation_health.billing_codes.update` Partially Update Billing Code write

**Cardiac orders 6**

- `elation_health.cardiac_orders.create` Create Cardiac Order write
- `elation_health.cardiac_orders.get` Retrieve Cardiac Order read
- `elation_health.cardiac_orders.list` List Cardiac Orders read
- `elation_health.cardiac_orders.replace` Update Cardiac Order write
- `elation_health.cardiac_orders.delete` Delete Cardiac Order destructive
- `elation_health.cardiac_orders.update` Partially Update Cardiac Order write

**Drug intolerances 6**

- `elation_health.drug_intolerances.create` Create Drug Intolerance write
- `elation_health.drug_intolerances.get` Retrieve Drug Intolerance read
- `elation_health.drug_intolerances.list` List Drug Intolerances read
- `elation_health.drug_intolerances.replace` Update Drug Intolerance write
- `elation_health.drug_intolerances.delete` Delete Drug Intolerance destructive
- `elation_health.drug_intolerances.update` Partially Update Drug Intolerance write

**Handouts 6**

- `elation_health.handouts.create` Create Handout write
- `elation_health.handouts.get` Retrieve Handout read
- `elation_health.handouts.list` List Handouts read
- `elation_health.handouts.replace` Update Handout write
- `elation_health.handouts.delete` Delete Handout destructive
- `elation_health.handouts.update` Partially Update Handout write

**Imaging orders 6**

- `elation_health.imaging_orders.create` Create Imaging Order write
- `elation_health.imaging_orders.get` Retrieve Imaging Order read
- `elation_health.imaging_orders.list` List Imaging Orders read
- `elation_health.imaging_orders.replace` Update Imaging Order write
- `elation_health.imaging_orders.delete` Delete Imaging Order destructive
- `elation_health.imaging_orders.update` Partially Update Imaging Order write

**Insurance companies 6**

- `elation_health.insurance_companies.create` Create Insurance Company write
- `elation_health.insurance_companies.get` Retrieve Insurance Company read
- `elation_health.insurance_companies.list` List Insurance Companies read
- `elation_health.insurance_companies.replace` Update Insurance Company write
- `elation_health.insurance_companies.delete` Delete Insurance Company destructive
- `elation_health.insurance_companies.update` Partially Update Insurance Company write

**Insurance plans 6**

- `elation_health.insurance_plans.create` Create Insurance Plan write
- `elation_health.insurance_plans.get` Retrieve Insurance Plan read
- `elation_health.insurance_plans.list` List Insurance Plans read
- `elation_health.insurance_plans.replace` Update Insurance Plan write
- `elation_health.insurance_plans.delete` Delete Insurance Plan destructive
- `elation_health.insurance_plans.update` Partially Update Insurance Plan write

**Lab facility identifiers 6**

- `elation_health.lab_facility_identifiers.create` Create Lab Facility Identifier write
- `elation_health.lab_facility_identifiers.get` Retrieve Lab Facility Identifier read
- `elation_health.lab_facility_identifiers.list` List Lab Facility Identifiers read
- `elation_health.lab_facility_identifiers.replace` Update Lab Facility Identifier write
- `elation_health.lab_facility_identifiers.delete` Delete Lab Facility Identifier destructive
- `elation_health.lab_facility_identifiers.update` Partially Update Lab Facility Identifier write

**Lab order compendiums 6**

- `elation_health.lab_order_compendiums.create` Create Lab Order Compendium write
- `elation_health.lab_order_compendiums.get` Retrieve Lab Order Compendium read
- `elation_health.lab_order_compendiums.list` List Lab Order Compendiums read
- `elation_health.lab_order_compendiums.replace` Update Lab Order Compendium write
- `elation_health.lab_order_compendiums.delete` Delete Lab Order Compendium destructive
- `elation_health.lab_order_compendiums.update` Partially Update Lab Order Compendium write

**Lab order sets 6**

- `elation_health.lab_order_sets.create` Create Lab Order Set write
- `elation_health.lab_order_sets.get` Retrieve Lab Order Set read
- `elation_health.lab_order_sets.list` List Lab Order Sets read
- `elation_health.lab_order_sets.replace` Update Lab Order Set write
- `elation_health.lab_order_sets.delete` Delete Lab Order Set destructive
- `elation_health.lab_order_sets.update` Partially Update Lab Order Set write

**Lab orders 6**

- `elation_health.lab_orders.create` Create Lab Order write
- `elation_health.lab_orders.get` Retrieve Lab Order read
- `elation_health.lab_orders.list` List Lab Orders read
- `elation_health.lab_orders.replace` Update Lab Order write
- `elation_health.lab_orders.delete` Delete Lab Order destructive
- `elation_health.lab_orders.update` Partially Update Lab Order write

**Lab vendor integrations 6**

- `elation_health.lab_vendor_integrations.create` Create Lab Vendor Integration write
- `elation_health.lab_vendor_integrations.get` Retrieve Lab Vendor Integration read
- `elation_health.lab_vendor_integrations.list` List Lab Vendor Integrations read
- `elation_health.lab_vendor_integrations.replace` Update Lab Vendor Integration write
- `elation_health.lab_vendor_integrations.delete` Delete Lab Vendor Integration destructive
- `elation_health.lab_vendor_integrations.update` Partially Update Lab Vendor Integration write

**Lab vendor patient sites 6**

- `elation_health.lab_vendor_patient_sites.create` Create Lab Vendor Patient Site write
- `elation_health.lab_vendor_patient_sites.get` Retrieve Lab Vendor Patient Site read
- `elation_health.lab_vendor_patient_sites.list` List Lab Vendor Patient Sites read
- `elation_health.lab_vendor_patient_sites.replace` Update Lab Vendor Patient Site write
- `elation_health.lab_vendor_patient_sites.delete` Delete Lab Vendor Patient Site destructive
- `elation_health.lab_vendor_patient_sites.update` Partially Update Lab Vendor Patient Site write

**Lab vendors 6**

- `elation_health.lab_vendors.create` Create Lab Vendor write
- `elation_health.lab_vendors.get` Retrieve Lab Vendor read
- `elation_health.lab_vendors.list` List Lab Vendors read
- `elation_health.lab_vendors.replace` Update Lab Vendor write
- `elation_health.lab_vendors.delete` Delete Lab Vendor destructive
- `elation_health.lab_vendors.update` Partially Update Lab Vendor write

**Medication order templates 6**

- `elation_health.medication_order_templates.create` Create Medication Order Template write
- `elation_health.medication_order_templates.get` Retrieve Medication Order Template read
- `elation_health.medication_order_templates.list` List Medication Order Templates read
- `elation_health.medication_order_templates.replace` Update Medication Order Template write
- `elation_health.medication_order_templates.delete` Delete Medication Order Template destructive
- `elation_health.medication_order_templates.update` Partially Update Medication Order Template write

**Message threads 6**

- `elation_health.message_threads.create` Create Message Thread write
- `elation_health.message_threads.get` Retrieve Message Thread read
- `elation_health.message_threads.list` List Message Threads read
- `elation_health.message_threads.replace` Update Message Thread write
- `elation_health.message_threads.delete` Delete Message Thread destructive
- `elation_health.message_threads.update` Partially Update Message Thread write

**Non visit notes 6**

- `elation_health.non_visit_notes.create` Create Non Visit Note write
- `elation_health.non_visit_notes.get` Retrieve Non Visit Note read
- `elation_health.non_visit_notes.list` List Non Visit Notes read
- `elation_health.non_visit_notes.replace` Update Non Visit Note write
- `elation_health.non_visit_notes.delete` Delete Non Visit Note destructive
- `elation_health.non_visit_notes.update` Partially Update Non Visit Note write

**Patient form requests 6**

- `elation_health.patient_form_requests.create` Create Patient Form Request write
- `elation_health.patient_form_requests.get` Retrieve Patient Form Request read
- `elation_health.patient_form_requests.list` List Patient Form Requests read
- `elation_health.patient_form_requests.replace` Update Patient Form Request write
- `elation_health.patient_form_requests.delete` Delete Patient Form Request destructive
- `elation_health.patient_form_requests.update` Partially Update Patient Form Request write

**Patient policies 6**

- `elation_health.patient_policies.create` Create one insurance policy for a patient write
- `elation_health.patient_policies.get` Get a patient's insurance policy read
- `elation_health.patient_policies.list` List a patient's insurance policies read
- `elation_health.patient_policies.replace` Replace a patient's insurance policy write
- `elation_health.patient_policies.delete` Delete a patient's insurance policy destructive
- `elation_health.patient_policies.replace_all` Replace a patient's insurance policies with the given list write

**Practice medications 6**

- `elation_health.practice_medications.create` Create Practice Medication write
- `elation_health.practice_medications.get` Retrieve Practice Medication read
- `elation_health.practice_medications.list` List Practice Medications read
- `elation_health.practice_medications.replace` Update Practice Medication write
- `elation_health.practice_medications.delete` Delete Practice Medication destructive
- `elation_health.practice_medications.update` Partially Update Practice Medication write

**Problems 6**

- `elation_health.problems.create` Create Problem write
- `elation_health.problems.get` Retrieve Problem read
- `elation_health.problems.list` List Problems read
- `elation_health.problems.replace` Update Problem write
- `elation_health.problems.delete` Delete Problem destructive
- `elation_health.problems.update` Partially Update Problem write

**Pulmonary orders 6**

- `elation_health.pulmonary_orders.create` Create Pulmonary Order write
- `elation_health.pulmonary_orders.get` Retrieve Pulmonary Order read
- `elation_health.pulmonary_orders.list` List Pulmonary Orders read
- `elation_health.pulmonary_orders.replace` Update Pulmonary Order write
- `elation_health.pulmonary_orders.delete` Delete Pulmonary Order destructive
- `elation_health.pulmonary_orders.update` Partially Update Pulmonary Order write

**Reports 6**

- `elation_health.reports.create` Create Report write
- `elation_health.reports.get` Retrieve Report read
- `elation_health.reports.list` List Reports read
- `elation_health.reports.replace` Update Report write
- `elation_health.reports.delete` Delete Report destructive
- `elation_health.reports.update` Partially Update Report write

**Service locations 6**

- `elation_health.service_locations.create` Create Service Location write
- `elation_health.service_locations.delete` Delete Service Location destructive
- `elation_health.service_locations.get` Retrieve Service Location read
- `elation_health.service_locations.list` List Service Locations read
- `elation_health.service_locations.replace` Update Service Location write
- `elation_health.service_locations.update` Partially Update Service Location write

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**

This index shows a sample of each area. All 433 actions, with their inputs and prices, are in the [catalogue](https://actionlake.com/console/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.

## More connectors like Elation Health

Shares the most action names with

- [Zuper 17](https://actionlake.com/connectors/zuper)
- [ServiceTrade 16](https://actionlake.com/connectors/servicetrade)
- [Microsoft Bookings 10](https://actionlake.com/connectors/microsoft-bookings)
- [Halaxy 8](https://actionlake.com/connectors/halaxy)
- [Productboard 7](https://actionlake.com/connectors/productboard)
- [TravelPerk (Perk) 6](https://actionlake.com/connectors/travelperk-perk)

Joins with, on shared entities

- [HaloPSA 3](https://actionlake.com/connectors/halopsa)
- [NetBox 3](https://actionlake.com/connectors/netbox)
- [Planning Center 3](https://actionlake.com/connectors/planning-center)
- [ServiceTitan 3](https://actionlake.com/connectors/servicetitan)
- [HighLevel (LeadConnector) 3](https://actionlake.com/connectors/highlevel-leadconnector)
- [Freshservice 3](https://actionlake.com/connectors/freshservice)

Browse

- [All Work & projects connectors](https://actionlake.com/connectors/category/work-and-projects)
- [All connectors](https://actionlake.com/connectors)
- [How actionlake compares](https://actionlake.com/compare)

actionlake is independent. It is not made or endorsed by Elation Health; the name is the vendor's own. Counts are from the Elation Health service file, version 1.0.0.

## Give your agent Elation Health today.

[Connect Elation Health free](https://actionlake.com/console?start=sandbox) [See pricing](https://actionlake.com/pricing)

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

---

Source: https://actionlake.com/connectors/elation-health
More: https://actionlake.com/llms.txt
