Skip to main content
The Elation Health MCP server lets AI-powered tools — Cursor, Windsurf, Claude Desktop, Claude Code, or any other MCP-compatible client — search and retrieve Elation’s documentation directly from your development environment. That includes both product documentation (what a feature is, how it behaves) and the full API reference (endpoint schemas, required fields, enums). Once connected, your AI assistant can answer questions about Elation, generate example requests with accurate field names, and help you build integrations without leaving your editor.
Connecting is free. No signup and no cost — add a URL to your MCP client’s configuration and you’re connected.

Server URL

Elation hosts a remote MCP server at:

Install the MCP server

Each AI tool reads its MCP server list from a configuration file. Open that file in a text editor, add Elation’s server to it, save, and restart the tool.
Using Cursor, Windsurf, or Claude Code? You can skip manual editing — paste this page’s URL into a chat and ask your assistant to add the Elation MCP server to your configuration. These tools can read the page and edit the config file for you. (Claude Desktop doesn’t edit local files directly, so follow the manual steps below for it instead.)
If the file already has other MCP servers in it: add elation-health as a new entry inside the existing mcpServers object. Don’t replace the whole file — that deletes any servers you already had configured.If the file doesn’t exist yet: create it at the path below with exactly the content shown.

Claude Desktop

File location:
  • macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
  • Windows: %APPDATA%\Claude\claude_desktop_config.json
Save the file, then fully quit and reopen Claude Desktop.

Claude Code

Run this command in your terminal — no file editing required:

Cursor

File location: ~/.cursor/mcp.json (same path on macOS, Linux, and Windows, relative to your home folder).
Save the file, then fully quit and reopen Cursor.

Windsurf

File location:
  • macOS/Linux: ~/.codeium/windsurf/mcp_config.json
  • Windows: %USERPROFILE%\.codeium\windsurf\mcp_config.json
Save the file, then fully quit and reopen Windsurf.
Not sure your JSON is valid? Paste it into a validator like jsonlint.com before saving. A single missing comma or brace will stop the whole config file from loading.

Test your setup

After adding the configuration and restarting your client:
  1. Open your AI editor and start a new chat.
  2. Ask a question that requires Elation’s documentation to answer accurately:
    • “What fields are required to create a patient in Elation?”
    • “What are Elation’s appointment statuses?”
    • “Show me the schema for creating a visit note.”
A connected assistant answers with specific field names, endpoint paths, or article titles instead of a generic description. That specificity is the signal the MCP server is working.

Make live API calls

This MCP server is a search and retrieval tool — it looks up documentation, it doesn’t make API calls on its own. Making an actual call is a separate capability: if your AI tool can run code or terminal commands (Claude Code, Cursor, and Windsurf can; plain Claude Desktop chat generally can’t), you can ask it to build and send the real HTTP request itself, using what it just learned from the MCP server plus your access token. It’s worth setting up. Once your assistant can make live calls, it can:
  • Create, update, or delete real records — patients, appointments, visit notes, and more — just by describing what you want.
  • Chain multi-step workflows in one conversation, like creating a patient, scheduling an appointment, and adding a visit note in sequence.
  • Test the integration code it just wrote against your real sandbox, instead of you copying that code into your own project first to find out whether it works.
  • Debug an issue using your actual data, instead of guessing from documentation alone.

Get your credentials

  • Sandbox: Practice Admins can generate credentials directly from Settings > API Access in Elation. See Self-service API credential management (beta, sandbox only).
  • Already have credentials? If Elation already provided you a client ID and client secret, use those directly and skip ahead to the next step.

Exchange your credentials for an access token

Your credentials (a client ID and client secret) aren’t the token itself — you trade them for a token first. Do this from a terminal (Terminal on macOS, Command Prompt or PowerShell on Windows) using curl, a command-line tool for making web requests that comes preinstalled on macOS and most Windows systems:
This command works as-is in macOS/Linux Terminal, Windows Command Prompt, and PowerShell. If you’re on macOS or Linux and prefer to split it across multiple lines, add a backslash (\) at the end of each line to continue — that syntax isn’t supported in Windows Command Prompt or PowerShell.
Replace YOUR_CLIENT_ID and YOUR_CLIENT_SECRET with your real values, then run the command. It prints a response like this:
Copy the access_token value — that long string is what you’ll use as your token. expires_in is how many seconds it stays valid (3600 seconds = 1 hour); after that, run this command again to get a new one.

Give your assistant the token

Since the MCP server doesn’t make calls for you, your token doesn’t go into the MCP configuration — it goes wherever your AI tool’s code-execution feature can see it. The exact method depends on your tool, but two common approaches:
  • Paste it directly in the conversation: tell your assistant the token and ask it to use it as a Bearer token when calling the API on your behalf.
  • Set it as an environment variable your assistant’s terminal access can read, then reference it by name instead of pasting the raw value into chat.
Access tokens expire. If live calls that previously worked start failing with an authentication error, generate a fresh token and give it to your assistant again.

Try a live call

With your token available to your assistant, ask it something that requires real data:
  • “Create a test non-visit note for a patient and show me the result.”
  • “What visit note categories are configured for my practice?”
  • “Look up this patient and show me their upcoming appointments.”
  • “Update this appointment’s status to Checked In.”
  • “Create an appointment slot for next Tuesday at 10am.”
A capable assistant builds the actual HTTP request, sends it, and shows you the real response — not a description of what a call would return.

Stay up to date

Subscribe to the API changelog RSS feed to get notified automatically when Elation publishes new endpoints, field changes, or deprecations.