Cliniko MCP for AI. Manage entire clinical operations from your chat window.
Works with every AI agent you already use
…and any MCP-compatible client








Connect to your AI in seconds.
Cliniko connects your entire healthcare practice into your AI agent. Stop juggling tabs when you need patient data. Use this MCP to manage everything—appointments, medical records, practitioners, treatment notes, and business locations—all through natural conversation with your preferred client.
What your AI can do
Create appointment
Schedules a brand new appointment for a patient in the system.
Create patient
Adds an entirely new person into your clinic's official patient database.
Create treatment note
Writes and saves a formal medical note to the patient’s permanent file.
Create new patient records or pull detailed information on existing profiles using the get_patient tool.
List, create, update, or cancel appointments to keep your clinic's calendar always accurate and organized.
Retrieve detailed records of treatment notes or pull comprehensive lists of all patients associated with a location.
Get details on specific practitioners, list available providers, or check information about your various business sites.
Ask an AI about this
Waiting for input…
Cliniko: 14 Tools for Practice Management
You can schedule new appointments, retrieve detailed patient history, manage staff records, and update demographics using these tools.
Make your AI actually useful.
Add this MCP to Claude, Cursor, or Windsurf and your AI stops guessing. It gets real tools to look things up, take action, and handle the stuff you keep doing by hand.
Start using Cliniko on VinkiusCreate Appointment
Schedules a brand new appointment for a patient in the system.
Create Patient
Adds an entirely new person into your clinic's official patient database.
Create Treatment Note
Writes and saves a formal medical note to the patient’s permanent file.
Delete Appointment
Cancels or removes an existing appointment from the clinic's calendar.
Get Appointment
Pulls up all the specific details for a single, known appointment time slot.
Get Patient
Retrieves all available demographic and clinical data for one specific patient ID.
Get Practitioner
Shows the full details, credentials, and contact info for a single healthcare provider.
List Appointments
Lists all appointments across your clinic, supporting filters like date ranges or...
List Businesses
Retrieves a list of every physical location and business unit you operate under.
List Patients
Lists all patients in the database, allowing searches by date or status.
List Practitioners
Shows a searchable list of every credentialed practitioner registered with the...
List Treatment Notes
Retrieves all saved treatment notes for a specific patient over time.
Update Appointment
Changes details, dates, or times for an appointment that already exists.
Update Patient
Corrects or adds new information to a patient's existing profile (e.g., phone number...
Security and governance baked right in.
Pick your AI client below to get set up. Just create a Vinkius account, subscribe, and you're instantly up and running. We handle the entire backend infrastructure, delivering out-of-the-box support for HTTPS Streamable, SSE, and OAuth2—zero messy routing required.
Choose How to Get Started
Build a custom MCP for your own tools, or connect a ready-made integration from our catalog.
Build Your Own
Turn any API into an MCP. Import a spec, define Agent Skills, or deploy with MCPFusion.
- Import from OpenAPI, Swagger, or YAML specs
- Create Agent Skills with progressive disclosure
- Deploy to edge with MCPFusion framework
- Built in DLP, auth, and compliance on every call
- Real time usage dashboard and cost metering
- Publish to catalog or keep private
Make Your AI Do More
Start with Cliniko, then connect any of our 5,100+ other servers whenever your AI needs more. One click, no limits.
- Use this MCP plus 5,100+ others, all in one place
- Add new capabilities to your AI anytime you want
- Every connection is secured and compliant automatically
- Track usage and costs across all your servers
- Works with Claude, ChatGPT, Cursor, and more
- New servers added to the catalog every week
Independent Platform Disclaimer: Vinkius is an independent platform and is not affiliated with, endorsed by, sponsored by, verified by, or otherwise authorized by Cliniko. All third-party trademarks, logos, and brand names are the property of their respective owners. Their use on this website is strictly for informational purposes to identify service compatibility and interoperability.
VINKIUS INFRASTRUCTURE
Cloud Hosted
Managed infra
V8 Isolated
Sandboxed per request
Zero-Trust Proxy
No stored credentials
DLP Enforced
Policy on every call
GDPR Compliant
EU data residency
Token Compression
~60% cost reduction
Works with Claude, ChatGPT, Cursor, and more
The Model Context Protocol standardizes how applications expose capabilities to LLMs. Instead of operating in isolation, your AI gains direct access to external platforms, live data, and real-world actions through secure, standardized connections.
This connection provides 14 powerful capabilities that interface natively with Claude, ChatGPT, Cursor, and other compatible AI platforms. No middleware. No custom integration required.
Juggling multiple clinical dashboards is exhausting.
Right now, if you need a patient's history, you might check the scheduling system for appointments. Then, you switch to the EMR system to find their notes. After that, you open a third dashboard just to verify which physical office location they visited. You spend half your time clicking tabs and copy-pasting IDs.
With this MCP, all of that manual switching disappears. Your agent handles the lookups across appointment status, patient records, and practitioner availability without you ever leaving your chat window. It's like having an admin assistant who already logged into every necessary system.
The Cliniko MCP gives you full control over clinical data.
You no longer need to manually search for a practitioner ID, or wait until the end of the day to update an address. You can ask your agent to run `list_practitioners` and then use that result immediately in conjunction with `update_patient`. The flow is instant.
It’s simple: you tell it what needs doing—from creating a record via `create_patient` to documenting the care via `create_treatment_note`—and your agent makes sure every system updates correctly. Period.
What your AI can actually do with this
This connector lets you run your whole clinic operation directly from your AI agent. You can handle basic administration tasks, like scheduling a follow-up or confirming a practitioner's availability, without leaving your chat window. Need to update a patient's address? Just ask. Want to find the treatment notes for last quarter's visit? Your AI finds them and organizes them.
It acts like having a dedicated medical receptionist who has access to every single system in your practice, whether it’s managing appointments, creating new patient profiles, or keeping track of where you operate across different locations. Getting set up is simple: connect your credentials via Vinkius and start working immediately from Claude, Cursor, or any MCP-compatible client.
019ea5e4-a4e6-7130-800c-19bc9e3cc098 Here's how it actually works
The bottom line is that your AI acts as an administrative layer sitting on top of Cliniko, handling the back-and-forth with the system so you don't have to.
Subscribe to this MCP and enter your Cliniko API Key and User Agent.
Connect your AI client (like Cursor or Claude) through the Vinkius marketplace.
Tell your agent exactly what you need. For example, 'List all appointments for next Tuesday' or 'Create a new patient profile for Jane Doe.'
Who is this actually for?
Anyone running a physical medical or dental practice. You need this if your day involves more than five different tabs and multiple copies of patient data. It targets the operational staff who spend hours just moving information between systems.
Manages overall scheduling by listing appointments, handling location details (list_businesses), and keeping track of general daily flow.
Onboarding new patients involves calling create_patient or finding a practitioner ID using list_practitioners. They use this to automate data entry and lookups.
Needs quick access to patient history. They retrieve records using get_patient and pull up the most recent treatment notes with minimal effort.
What Changes When You Connect
Stop clicking through multiple tabs. Need to check a patient's last visit? Using get_patient and then calling list_treatment_notes lets your agent gather the whole story in one go.
Never lose track of staff or location details again. You can ask for all business locations (list_businesses) or list all available practitioners (list_practitioners) without opening a dashboard.
Scheduling is instant. Instead of navigating to an internal calendar, just tell your agent to create_appointment and get it done. It handles the backend timing automatically.
Data correction happens fast. If a patient moves or updates their phone number, you don't have to manually find the record; simply ask your agent to use update_patient.
The entire process stays in one place. Your AI acts as the single point of truth for scheduling (list_appointments), records, and history, freeing up time for actual patient care.
Audit trails are simple. When a doctor finishes an exam, they just ask your agent to create_treatment_note instead of logging into a separate EMR system.
See it in action
A new patient needs intake.
The front desk staff can't find the right ID for a new client. Instead of manually searching, they ask their agent to list_patients and then use create_patient with all the required demographics in one flow.
A patient needs follow-up care.
The practitioner finishes a consultation. They ask their agent to retrieve the patient's full history using get_patient, then immediately call create_treatment_note so all notes are logged without leaving the chat.
A large group appointment needs rescheduling.
The administrator realizes three appointments need to move. They use list_appointments to confirm the details, then ask their agent to update each one using update_appointment, avoiding manual calendar edits.
Checking provider availability across multiple sites.
A staff member needs to know which practitioner is available at a secondary clinic location. They use list_businesses first, then ask their agent to check the schedule (list_appointments) for that specific site.
The honest tradeoffs
Trying to manage everything in one big search.
Asking 'What do I need to know about John Doe?' and expecting a single block of text with his notes, appointments, and location details. The agent can't guess the right tools or order.
Break it down into steps. First, call get_patient for basic info. Then, ask your agent separately to run list_treatment_notes for history, followed by list_appointments for scheduling.
Manually updating records across systems.
A patient changes their address and phone number. The staff must log into the EMR system, find the record, update it, and then manually check if billing needs to be notified.
Use update_patient with your agent. It handles changing the core data point in the central system automatically.
Assuming appointment status is known.
Calling a generic 'cancel' function without specifying which appointment or date, leading to errors because multiple appointments might exist for that person.
First, use list_appointments and confirm the correct ID. Then, tell your agent to use delete_appointment with the exact details you confirmed.
When It Fits, When It Doesn't
Use this MCP if your job involves coordinating multiple distinct pieces of patient data—scheduling, physical records, staff directories, or billing location checks. It excels because it treats all these systems as one conversational layer. Don't use this if your only need is to read a single static document (use a standard file reading tool instead). If you are trying to build complex, real-time logic that requires event streaming between tools (e.g., 'IF appointment is deleted, THEN trigger billing update'), you might hit limits; however, for most transactional workflows involving discrete steps like intake or follow-up care, this MCP provides the necessary atomic control via tools like create_patient and get_appointment. It's built to manage defined actions, not abstract business process logic.
Questions you might have
How do I check if an appointment exists with the get_appointment tool? +
You must provide a unique identifier for both the patient and the date/time range to get_appointment. This function retrieves all specific details for one known slot, helping you confirm it's still active before updating or canceling.
What is the best way to handle bulk patient updates using update_patient? +
The MCP doesn't support true batch operations. You must call list_patients first, and then request your agent to run update_patient individually for each person whose details need correcting.
Can I use the list_treatment_notes tool before creating a new patient? +
No. You must call get_patient or create_patient first to establish an ID. The system needs a record to attach any treatment notes or history to.
Does the list_businesses tool show all my clinic locations? +
Yes, it provides a complete roster of every physical business location registered in your Cliniko account, giving you the IDs needed for other operations. It’s perfect for staff needing to verify where services are offered.
What happens if I try to use the create_appointment tool without all required details? +
The API will return a specific error message, indicating exactly which mandatory field is missing. This immediate feedback lets you fix the data and successfully schedule the appointment right away.
How do I use delete_appointment to properly cancel an existing booking? +
You must provide the unique ID of the appointment along with a cancellation reason code. The system handles this as a soft deletion, meaning the record remains in your history for compliance checks.
If I need to update patient records, should I run list_patients first? +
No, you only need the patient's unique ID to use the update_appointment tool. Running list_patients simply helps you find that specific ID if you don't know it already.
When I call create_patient, how do I ensure all demographic information is accurate? +
You must supply all required fields, including contact details and date of birth. Always cross-reference these data points with source documents before using the tool to minimize errors.
Can I search for a specific patient by name using the AI? +
Yes! You can use the list_patients tool with a query parameter q to filter patients by name or other identifiers.
Is it possible to cancel an appointment through the agent? +
Absolutely. Use the delete_appointment tool with the specific Appointment ID to cancel or remove a booking from your Cliniko calendar.
How do I see all the practitioners registered in my account? +
Simply ask the agent to run the list_practitioners tool. It will return a list of all healthcare providers associated with your Cliniko account.
We've already built the connector for Cliniko. Just plug in your AI agents and start using Vinkius.
No hosting. No infrastructure. No complex setup.
All 14 tools are live and waiting.
You're up and running in seconds.
Vinkius gives your AI agents access to the full catalog of app connectors, all fully managed, secure, and enterprise-ready. One subscription, every tool you need.
Built, hosted, and secured by Vinkius. You just connect and go.