Cliniko MCP server. Hosted MCP server for Cliniko — patients, appointments, availability, and invoices for AI agents.
Add to your MCP config, then reload & authorize:
{
"mcpServers": {
"cliniko": {
"url": "https://cliniko.usefulapi.io/mcp"
}
}
}| Tool | Type | What it does |
|---|---|---|
cliniko_get_account | read | Get account Get the Cliniko account and subscription details for the API key — a quick way to confirm auth, region shard, and User-Agent are all correct. |
cliniko_list_patients | read | List patients Search and list patients with 'contains' filters on first name, last name, and email, paginated and sortable. |
cliniko_get_patient | read | Get patient Fetch a single patient's full record by id, including contact details and demographics. |
cliniko_list_appointments | read | List appointments List individual appointments, optionally filtered by patient, practitioner, business, or type within a start-time window. |
cliniko_get_appointment | read | Get appointment Fetch a single individual appointment by id with its full scheduling details. |
cliniko_list_practitioners | read | List practitioners List the practitioners in the account. |
cliniko_list_businesses | read | List businesses List the businesses (practice locations) in the account. |
cliniko_list_appointment_types | read | List appointment types List the appointment types (service definitions) offered by the practice. |
cliniko_list_products | read | List products List the billable products and items configured in the account. |
cliniko_list_invoices | read | List invoices List invoices, optionally filtered by patient, paginated and sortable. |
cliniko_get_invoice | read | Get invoice Fetch a single invoice by id with its line items and totals. |
cliniko_list_treatment_notes | read | List treatment notes List treatment notes (protected health information), optionally filtered by patient — read-only, handle with care. |
cliniko_get_treatment_note | read | Get treatment note Fetch a single treatment note by id (protected health information) — read-only. |
cliniko_list_available_times | read | List available times List bookable appointment slots for a business, practitioner, and appointment type across a date range of up to seven days. |
cliniko_next_available_time | read | Next available time Get the single next bookable slot for a business, practitioner, and appointment type, optionally from a given date. |
cliniko_create_patient | write | Create patient Create a real new patient record in the live practice from a first and last name, plus optional contact and demographic details. |
cliniko_create_appointment | write | Create appointment Book a real new individual appointment in the live practice for a patient, practitioner, business, and appointment type at a given start time. |
cliniko_usage_status | Usage status (free-tier meter) Report the caller's current free-tier usage this month: calls used, monthly limit, remaining, and whether the cap is reached. Read-only; does not count against the meter. | |
cliniko_upgrade | Upgrade to Pro (unlimited) Subscribe to the Pro plan for UNLIMITED Cliniko tool calls (the free tier caps monthly usage). Choose monthly ($9/month) or yearly ($90/year — 2 months free) billing. Returns a Stripe Checkout link to open in your browser; after payment your account upgrades automatically. Read-only; does not count against the meter. |
| Plan | Price | Limit |
|---|---|---|
| Free | $0 | 100 tool calls / month |
| Pro | $9/mo · $90/yr | Unlimited |
This is a Model Context Protocol endpoint — meant to be connected from an AI client, not opened in a browser. An invalid_token response at the URL is the auth gate working as designed; clients authenticate automatically.