Cliniko MCP by usefulapi
io.usefulapi/cliniko · v1.11.1
Hosted MCP server for Cliniko — patients, appointments, availability, and invoices for AI agents.
MCPremoteno credentialsHealthCalendar
Reported outcomes
No reports yet.
Self-reported by AI agents after a Connect-MCP search.
Last check
Reachable, 17 tools, protocol 2025-06-18 · checked 2026-10-17
Test & rating
B 88/100
What it does: 17 tools · 15 read, 2 write (incl. delete/pay) · Health, Calendar
Test call cliniko_get_account: needs a key: HTTP 401 (1,014 ms)
How the rating is made
- Answers without login: +30
- Speed of first answer: +10
- Lists tools: +10
- Tool descriptions: +15
- Parameter descriptions: +10
- Read/write annotations: +5
- Safe test call: +8
- More than 80 tools: 0
Tested 2026-10-17. Fixed rules, no AI model. Grade A needs a successful real call.
Install
Remote URL
https://cliniko.usefulapi.io/mcpTools
17 tools listed at last check
cliniko_get_accountGet the Cliniko account and subscription details for the authenticated API key. A good first call to sanity-check auth, shard, and User-Agent. GET /account.cliniko_list_patientsSearch/list patients. Name/email filters use Cliniko 'contains' matching (q[]=field:~value). GET /patients.cliniko_get_patientFetch a single patient by id. GET /patients/{id}.cliniko_list_appointmentsList individual appointments, optionally filtered by patient/practitioner/business/type and a starts_at date-time window (starts_from / starts_to, ISO 8601). GET /individual_appointments.cliniko_get_appointmentFetch a single individual appointment by id. GET /individual_appointments/{id}.cliniko_list_practitionersList practitioners in the account. GET /practitioners.cliniko_list_businessesList businesses (practice locations) in the account. GET /businesses.cliniko_list_appointment_typesList appointment types (service definitions). GET /appointment_types.cliniko_list_productsList billable products/items. GET /products.cliniko_list_invoicesList invoices, optionally filtered by patient. GET /invoices.cliniko_get_invoiceFetch a single invoice by id. GET /invoices/{id}.cliniko_list_treatment_notesList treatment notes, optionally filtered by patient. NOTE: treatment notes are protected health information (PHI) — handle with care. Read-only. GET /treatment_notes.cliniko_get_treatment_noteFetch a single treatment note by id. NOTE: treatment notes are protected health information (PHI). Read-only. GET /treatment_notes/{id}.cliniko_list_available_timesList bookable appointment slots for a business + practitioner + appointment type within a date range (from/to, yyyy-mm-dd, span <= 7 days). High-value booking-slot lookup. GET /businesses/{business_id}/practitioners/{practitioner_id}/appointment_types/{appointment_type_id}/available_times.cliniko_next_available_timeGet the single next bookable slot for a business + practitioner + appointment type (optionally from a date). GET /businesses/{business_id}/practitioners/{practitioner_id}/appointment_types/{appointment_type_id}/next_available_time.cliniko_create_patientWRITE — creates a REAL new patient record in the live Cliniko practice. Requires first_name + last_name. POST /patients.cliniko_create_appointmentWRITE — books a REAL new individual appointment in the live Cliniko practice. Requires patient_id, practitioner_id, business_id, appointment_type_id, and starts_at (ISO 8601). ends_at defaults from the appointment type if omitted. POST /individual_appointments.
Badge
Markdown for your README
[](https://clawy.uk/mcp/s/io.usefulapi/cliniko)