Skip to content
Developers / MCP

Let an AI agent work with your practice data

HyperCRM runs a Model Context Protocol server: a single endpoint that MCP-capable clients like Claude Code or Claude Desktop can connect to, discover 75 tools, and use to work with patients, scheduling, billing, forms and reporting — always scoped to your own practice and authorized under OAuth 2.1.

What an agent can do today

Run the front desk

Find patients, read and write their records and notes, book and reschedule appointments, and check which chairs are free on a given day.

Handle the money

Record billing entries, preview what a patient owes, issue and void invoices, and pull revenue, appointment and acquisition reports.

Keep the practice tidy

Manage the service catalogue, chairs, tags and intake forms, read submitted responses, and edit and publish the practice website.

If you run a practice rather than write code

You do not need this page to use AI in HyperCRM. The assistant built into the product is on both plans, needs no setup, and is the one most practices want. This page is for connecting your own AI app — Claude or ChatGPT, say — to your practice's data, so you can ask it things in the app you already use.

What that means in practice. Any member can connect their own app, and it acts with exactly their role's permissions: a receptionist's connection sees what a receptionist sees. Asking it about a patient sends that patient's details to whichever AI company you connected, under your own agreement with them, so it is your practice's decision to make and to tell your team about. These calls spend no credits. To see or remove a connection, go to Settings, then Account, then Connected apps.

Which plan this needs

The REST API and the MCP server are included on the Complete plan and are not available on Essential. The pricing page lists every band. An OAuth client is not created in settings: it registers itself the first time it connects, and an owner on Complete approves it. Settings is where you see what is connected and disconnect it.

What it is

The MCP server speaks JSON-RPC 2.0 over a single HTTP endpoint, following the same streamable-http transport pattern used by other MCP servers. An MCP client calls initialize, lists the available tools with tools/list, and invokes one with tools/call — no custom protocol to learn beyond MCP itself.

Signing in an agent

Connecting is a standards-based OAuth 2.1 flow: the client registers itself automatically (no manual API key to generate), opens HyperCRM's normal sign-in and a plain-language consent screen — "<client name> wants to access your HyperCRM data as <your email>" — and, once approved, receives a short-lived access token plus a refresh token. A raw Firebase ID token still works too, for setups that predate the OAuth flow. Every tool call is scoped strictly to the signed-in user's own practice; nothing in the request can override that.

Approving a connection asks three things of the person doing it: the practice is on Complete, their own email address is verified, and they signed in within the last ten minutes — a second factor presented this morning is not evidence that anyone is at the keyboard now. An approval lasts 90 days. After that the app asks again, however often it has refreshed in between.

What the tools do today

75 tools cover patients and their notes, files, billing and invoices; the appointment calendar and chair availability; the service catalogue, chairs and tags; intake forms and their responses; staff and invitations; dashboard KPIs, revenue and acquisition reporting, the audit log and search across the practice; and the practice website with its blog. 47 are read-only. The rest are grouped so that creating, updating and deleting one kind of record is a single tool with an explicit action, and every tool tells the client up front whether it deletes data or reaches outside HyperCRM.

Where the boundaries are

A few things are deliberately left out rather than half-supported. Uploading a file is a browser-to-storage transfer that never passes through the server, so an agent cannot do it — it can read, download and delete files, but you upload them yourself. The public booking widget, the passkey enrolment ceremonies and the OAuth endpoints an agent uses to sign in are all absent by design. CSV export stays a REST API feature; MCP tools always return structured JSON.

Scope, and what is not finished

No tool can be pointed at another practice: the practice comes from your token, never from a tool argument. Two things are genuinely unfinished: no MCP resources or prompts are exposed yet, and the server has not been through a broad real-world shakedown across every client. The full reference is at MCP server, and every one of the 75 tools is listed with its arguments and permissions at MCP tools.

Common questions

HyperCRM is paid software. Every practice starts with a 30-day free trial of the Complete plan, with no card needed. After that, Essential starts at €19 a month and Complete at €34, VAT included. The price depends on how many practitioners you have. Every price is on the pricing page, so you never need a sales call.

Patient records are encrypted, both where they are stored and on their way to your screen. Files are private, and a link to one stops working after a short time. Changes to patient records are recorded, with who made them and when. There is no shared practice password: everyone has their own account. On the Complete plan, the practice owner can also require two-step sign-in for the whole team.

Any MCP-capable client that supports the streamable-HTTP transport and the MCP authorization spec, such as Claude Code or Claude Desktop. Connection is a single endpoint URL plus the standard OAuth 2.1 discovery flow — there is no HyperCRM-specific client library to install.

It's a real login. Approving a client happens through HyperCRM's normal sign-in and a consent screen naming the client and your account, using OAuth 2.1 with mandatory PKCE. No shared API key is issued, and a client's access can be revoked the same way any authorization can.

No. Every tool call is scoped to the practice belonging to whichever account approved the connection, resolved from the authenticated token itself. Nothing an agent passes as an argument can widen that scope, matching how the REST API is scoped for the same account.

Connect an agent to real practice data

Point a client at your own practice and see what the tools return. No card to start.

Start the free trial