Skip to main content
Glama

Server Details

Hosted MCP server for Cliniko — patients, appointments, availability, and invoices for AI agents.

Status
Healthy
Last Tested
Transport
Streamable HTTP
URL
Repository
m190/usefulapi-mcp
GitHub Stars
0

Glama MCP Gateway

Connect through Glama MCP Gateway for full control over tool access and complete visibility into every call.

MCP client
Glama
MCP server

Full call logging

Every tool call is logged with complete inputs and outputs, so you can debug issues and audit what your agents are doing.

Tool access control

Enable or disable individual tools per connector, so you decide what your agents can and cannot do.

Managed credentials

Glama handles OAuth flows, token storage, and automatic rotation, so credentials never expire on your clients.

Usage analytics

See which tools your agents call, how often, and when, so you can understand usage patterns and catch anomalies.

100% free. Your data is private.

Tool Definition Quality

Score is being calculated. Check back soon.

Available Tools

17 tools
cliniko_create_appointmentCreate an appointment
Destructive
Inspect

WRITE — 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.

ParametersJSON Schema
NameRequiredDescriptionDefault
notesNoAppointment notes.
ends_atNoEnd time, ISO 8601. Defaults from the appointment type if omitted.
starts_atYesStart time, ISO 8601 e.g. 2026-07-20T09:00:00Z (required).
patient_idYesPatient id (required).
business_idYesBusiness id (required).
practitioner_idYesPractitioner id (required).
appointment_type_idYesAppointment type id (required).
cliniko_create_patientCreate a patient
Destructive
Inspect

WRITE — creates a REAL new patient record in the live Cliniko practice. Requires first_name + last_name. POST /patients.

ParametersJSON Schema
NameRequiredDescriptionDefault
cityNoCity.
emailNoEmail address.
notesNoFree-text notes.
stateNoState / region.
address_1NoStreet address line 1.
last_nameYesPatient last name (required).
post_codeNoPost / ZIP code.
first_nameYesPatient first name (required).
country_codeNoISO country code, e.g. AU.
phone_numberNoA phone number (stored as a Mobile phone number).
date_of_birthNoDate of birth yyyy-mm-dd.
cliniko_get_accountGet account details
Read-only
Inspect

Get 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.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

cliniko_get_appointmentGet an appointment
Read-only
Inspect

Fetch a single individual appointment by id. GET /individual_appointments/{id}.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesIndividual appointment id.
cliniko_get_invoiceGet an invoice
Read-only
Inspect

Fetch a single invoice by id. GET /invoices/{id}.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesInvoice id.
cliniko_get_patientGet a patient
Read-only
Inspect

Fetch a single patient by id. GET /patients/{id}.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesPatient id.
cliniko_get_treatment_noteGet a treatment note
Read-only
Inspect

Fetch a single treatment note by id. NOTE: treatment notes are protected health information (PHI). Read-only. GET /treatment_notes/{id}.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesTreatment note id.
cliniko_list_appointmentsList appointments
Read-only
Inspect

List 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.

ParametersJSON Schema
NameRequiredDescriptionDefault
pageNoPage number (1-based). Default 1.
sortNoField to sort by, e.g. created_at.
orderNoSort direction. asc | desc.
per_pageNoResults per page (max 100). Default 50.
starts_toNoOnly appointments starting before this ISO 8601 time (q[]=starts_at:<).
patient_idNoFilter by patient id (q[]=patient_id:=).
business_idNoFilter by business id.
starts_fromNoOnly appointments starting at/after this ISO 8601 time (q[]=starts_at:>).
practitioner_idNoFilter by practitioner id.
appointment_type_idNoFilter by appointment type id.
cliniko_list_appointment_typesList appointment types
Read-only
Inspect

List appointment types (service definitions). GET /appointment_types.

ParametersJSON Schema
NameRequiredDescriptionDefault
pageNoPage number (1-based). Default 1.
per_pageNoResults per page (max 100). Default 50.
cliniko_list_available_timesList available times
Read-only
Inspect

List 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.

ParametersJSON Schema
NameRequiredDescriptionDefault
toYesRange end yyyy-mm-dd (cannot be more than 7 days after `from`).
fromYesRange start yyyy-mm-dd (cannot be more than 7 days before `to`).
business_idYesBusiness id (path).
practitioner_idYesPractitioner id (path).
appointment_type_idYesAppointment type id (path).
cliniko_list_businessesList businesses
Read-only
Inspect

List businesses (practice locations) in the account. GET /businesses.

ParametersJSON Schema
NameRequiredDescriptionDefault
pageNoPage number (1-based). Default 1.
per_pageNoResults per page (max 100). Default 50.
cliniko_list_invoicesList invoices
Read-only
Inspect

List invoices, optionally filtered by patient. GET /invoices.

ParametersJSON Schema
NameRequiredDescriptionDefault
pageNoPage number (1-based). Default 1.
sortNoField to sort by, e.g. created_at.
orderNoSort direction. asc | desc.
per_pageNoResults per page (max 100). Default 50.
patient_idNoFilter by patient id (q[]=patient_id:=).
cliniko_list_patientsList patients
Read-only
Inspect

Search/list patients. Name/email filters use Cliniko 'contains' matching (q[]=field:~value). GET /patients.

ParametersJSON Schema
NameRequiredDescriptionDefault
pageNoPage number (1-based). Default 1.
sortNoField to sort by, e.g. created_at.
emailNoFilter by email (contains match).
orderNoSort direction. asc | desc.
per_pageNoResults per page (max 100). Default 50.
last_nameNoFilter by last name (contains match).
first_nameNoFilter by first name (contains match).
cliniko_list_practitionersList practitioners
Read-only
Inspect

List practitioners in the account. GET /practitioners.

ParametersJSON Schema
NameRequiredDescriptionDefault
pageNoPage number (1-based). Default 1.
per_pageNoResults per page (max 100). Default 50.
cliniko_list_productsList products
Read-only
Inspect

List billable products/items. GET /products.

ParametersJSON Schema
NameRequiredDescriptionDefault
pageNoPage number (1-based). Default 1.
per_pageNoResults per page (max 100). Default 50.
cliniko_list_treatment_notesList treatment notes
Read-only
Inspect

List treatment notes, optionally filtered by patient. NOTE: treatment notes are protected health information (PHI) — handle with care. Read-only. GET /treatment_notes.

ParametersJSON Schema
NameRequiredDescriptionDefault
pageNoPage number (1-based). Default 1.
per_pageNoResults per page (max 100). Default 50.
patient_idNoFilter by patient id (q[]=patient_id:=).
cliniko_next_available_timeNext available time
Read-only
Inspect

Get 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.

ParametersJSON Schema
NameRequiredDescriptionDefault
fromNoOptional earliest date yyyy-mm-dd to search from.
business_idYesBusiness id (path).
practitioner_idYesPractitioner id (path).
appointment_type_idYesAppointment type id (path).

Discussions

No comments yet. Be the first to start the discussion!

Try in Browser

Your Connectors

Sign in to create a connector for this server.