Who can connect
Connecting is opt-in per role. Account owners can always connect an AI app; other team members can only if an account owner has enabled Connect AI apps (Claude, ChatGPT) for their role under Settings → Security → Roles. Anyone else reaching the consent screen is told exactly that. If the permission is later removed from a role — or the team member is deactivated — every connector they approved stops working immediately.What a connected team member can do
A connector acts as that team member, with their PracticeHub role — the AI app can do no more than the person could in PracticeHub:- Reads follow the role: appointments and availability need calendar access; invoices, payments and allocations need View all patient financial data; everything else is visible to any connected team member.
- Writes follow the role: patients, files and patient logs need Edit patient; appointments need calendar access (a read-only calendar role cannot book, move or cancel); invoices and payments need Edit patient financials (the same-day-only variant does not count); allocations need Allocate payments; deleting an appointment, patient or document needs the matching delete permission; reference data (appointment types, locations, referral sources, …) needs Access settings.
- Ringfencing applies: a role limited to own patients sees and writes only the patients they are the default practitioner for (and cannot create patients through a connector — a new patient would have no default practitioner); a role limited to own calendar sees only their own diary and can only book or move appointments within it.
- Account owners hold every permission.
403 permission_denied naming the missing permission. API keys are different: they are not people, so they carry read / write abilities instead — see Authentication.
Connect Claude
1
Add a custom connector
In Claude (web or desktop) open Settings → Connectors → Add custom connector and enter the clinic’s MCP URL:No client id or secret is needed — Claude registers itself with the server.
2
Approve access
Claude opens a PracticeHub page on the clinic domain. Log in if you are not already, then review and approve the request. You are approving on your own account: the assistant gets what you can see and do, nothing more.
3
Use it
Enable the connector in a conversation and ask, for example, “Which of Dr Rae’s patients have appointments tomorrow?” or “Book Ada Lovelace a new patient consultation with Sam next Tuesday morning.” Claude will look things up first and ask before booking.
What happens under the hood
The server implements the MCP authorization specification:
Only known AI apps can register: redirect URLs must be on an allow-listed host (Claude, ChatGPT, …) — and the consent screen shows where you’ll be sent back to, so check it matches the app you’re connecting. Tokens are issued for the scope
mcp:use, are tied to the team member who approved and to that clinic’s account, and are short-lived (access tokens last an hour; the client refreshes them automatically, and refresh tokens rotate on use and lapse after 30 days idle). A connector cannot reach another clinic’s data even if the same person has access to several — connect each clinic’s URL separately.