Technical deep dive

How an external assistant connects to healthcare management software: the MedicHub MCP server

An external assistant connects to healthcare management software through an MCP server: the management software decides which data it exposes, to whom and with which permissions. MedicHub, the management software for medical practices developed by AraLith, a software house in the province of Rome, active since 2007, neither contains nor calls artificial intelligence models: it exposes 29 MCP tools, and the practice chooses which assistant to connect.

Illustration of a developer at a desk in front of code and a colleague with a tablet, with PHP, SQL and API tabs

Key facts

At a glance

The MedicHub MCP server is the point where the management software opens its data to an external assistant, within boundaries set by the practice.

  • No AI inside MedicHub: the management software neither contains nor calls artificial intelligence models; the practice chooses the external assistant.
  • 29 tools in 4 groups: Configuration 9, Scheduling 5, Administration 9, Clinical data 6. Of these, 21 read and 8 write.
  • Access with OAuth 2.1 and PKCE: the assistant acts with the same permissions the user has in the management software.
  • Patients as «patient N»: this is pseudonymisation, not anonymisation.
  • Everything off by default: the server and the tools are enabled one by one with a recorded consent; writes to the schedule, diary, forms and message templates are held for confirmation in the management software, and quotes are created as drafts.
Illustration of a shield with an orange padlock next to a document with a tick

What is an MCP server and what is it for in healthcare management software?

An MCP server is the component of a piece of software that exposes its functions according to the Model Context Protocol, an open protocol through which an external assistant lists the available tools and calls them. In healthcare management software it lets the practice use the assistant it prefers without giving that assistant direct access to the database: every request goes through the same checks as the management software's interface.

What stays with the management software

Authentication, permissions, patient pseudonymisation, the call log and confirmation of writes. MedicHub decides which data goes out and which changes come in.

What the external assistant does

It interprets the user's request and calls the enabled tools. The practice chooses the model, the provider and the contract: MedicHub neither supplies nor embeds them.

Which tools does the MedicHub MCP server expose?

The MedicHub MCP server exposes 29 tools divided into 4 groups: 21 read data already recorded in the management software and 8 write, that is, they create or change an item. No tool produces diagnoses, treatments or clinical image analysis: the clinical data tools return what the practice has already recorded.

  • Configuration

    Forms, SMS and email templates, price list, dentists, management software documentation and links to records. 3 tools write: forms and message templates.

    9
  • Scheduling

    Appointments, schedule analysis and search for free slots. 2 tools write: creating an appointment and proposing a reschedule.

    5
  • Administration

    Patient search and details, quotes, invoices, statistics, projections and data export for the GDPR. 2 tools write: new quote and new quote item.

    9
  • Clinical data

    Reading the clinical diary, clinical record, prescriptions, medical history and the state of the mouth as recorded by the practice. 1 tool writes: a note in the diary.

    6

Data security

How does the MedicHub MCP server protect patient data?

The MedicHub MCP server protects patient data with six boundaries that apply before any function: off by default, OAuth 2.1 authorisation, the management software's permissions, pseudonymisation, confirmation of writes and limits on every call. Health data is a special category of personal data (GDPR, Regulation (EU) 2016/679, Art. 9): the boundaries are designed before the code.

Illustration of a shield with a padlock, a person checking a document with a magnifying glass, one sitting on a server cabinet and one holding a key
  • Off by default

    The server and every single tool stay disabled until the practice enables them, one by one, with a consent recorded in the management software.

  • Access with OAuth 2.1 and PKCE

    The assistant receives access authorised by the management software user: it never learns the user's password, and the connection can be revoked.

  • Same permissions as the management software

    Every tool applies the permissions of the connected user: the assistant sees and does only what that user would see and do in the interface.

  • Patients as «patient N»

    By default, names, contact details and free text are not shown in clear. This is pseudonymisation (GDPR, Art. 4(5)): the data remains personal data.

  • Writes held for confirmation

    By default, appointments, diary notes, forms and templates are held in the management software; reschedules always are. Quotes are created as drafts.

  • Limits on every call

    Date ranges up to 31 days, at most 200 rows per call, responses over 256 KB truncated and flagged as such.

How does an assistant connect to the MedicHub MCP server, step by step?

An assistant connects to the MedicHub MCP server in five steps, and each one stays under the practice's control: switching the server on, choosing the tools, authorising the assistant, working with pseudonymised patients and confirming writes in the management software.

01

The practice switches the server on

Management software settings

An authorised user enables the MCP server from the MedicHub settings; the management software records the consent together with the text shown.

02

It chooses the tools

One by one

Each tool is enabled individually: a tool that is off does not appear to the assistant, which cannot call it.

03

It authorises the assistant

OAuth 2.1 with PKCE

The user connects the assistant chosen by the practice and authorises it; the connection appears on the Connections page of the management software and can be revoked.

04

The assistant reads

Patients as «patient N»

Responses refer to patients with the pseudonym «patient N» and a link to the record in the management software; every call is kept in the call log.

05

A user confirms the writes

In the management software

By default, appointments, diary notes, forms and message templates proposed by the assistant are held until a user confirms or rejects them; reschedules always are. Quotes are created as drafts, not finalised.

What did we learn designing the MedicHub MCP server?

Designing the MedicHub MCP server left us with three rules that apply to any custom management software that opens its data to an external assistant.

Boundaries come before functions

In healthcare management software, permissions, pseudonymisation and confirmation of writes are designed before the first tool: adding them later means rewriting the tools.

The management software does not decide in place of the clinician

MedicHub does not produce diagnoses, treatments or clinical image analysis: it returns the data recorded by the practice. What is written about a piece of software also defines its intended purpose (Regulation (EU) 2017/745, Art. 2(12)).

An open protocol leaves the choice to the practice

With MCP, the practice chooses and changes the assistant without modifying the management software; assessing the assistant's provider remains the practice's responsibility, as with any processing of health data.

Frequently asked questions about the MedicHub MCP server

No. MedicHub, the management software for medical practices developed by AraLith, neither contains nor calls artificial intelligence models. It exposes an MCP server: if the practice wants to use an assistant, including one based on an artificial intelligence model, the practice chooses and connects it, with the permissions and boundaries set in the management software.

Any client compatible with the Model Context Protocol that supports OAuth 2.1 authorisation with PKCE can connect to the MedicHub MCP server. Choosing the client and the provider, and assessing how that provider handles data, remain the practice's responsibility: MedicHub does not supply an assistant of its own.

No. Pseudonymisation replaces the data that identifies the patient with a pseudonym, such as «patient N», while the information needed to trace it back to the person stays in the management software. Under the GDPR, pseudonymised data remains personal data (Regulation (EU) 2016/679, Art. 4(5) and Recital 26); anonymous data does not.

An assistant connected to the MedicHub MCP server can only use the write tools the practice has enabled, at most 8, with the user's permissions. By default, appointments, diary notes, forms and message templates are held until a user of the management software confirms them; reschedules always are, and quotes are created as drafts.

No. MedicHub's clinical data tools return what the practice has already recorded, namely the diary, clinical record, prescriptions, medical history and the state of the mouth, without any clinical processing. MedicHub does not analyse images or X-rays, and every clinical assessment stays with the clinician. The regulatory framework is summarised in the guide to artificial intelligence in dentistry.

Yes, the approach of the MedicHub MCP server also applies to custom software: tools off by default, the management software's permissions, pseudonymisation and confirmation of writes. Assessing it takes a technical call about the software and the data to expose. The other criteria for choosing healthcare management software are in the guide to dental practice management software.

Want to open your management software to an assistant, with clear boundaries?

We bring the experience of the MedicHub MCP server into custom software development: permissions, pseudonymisation and writes to confirm. The first technical call is free.

Content created with the support of artificial intelligence.