mcpbeat Sign in

Cliniko MCP Server

answering

Cliniko is answering right now. Last checked 5 min ago. It exposes 17 tools. Last commit 1 Sep 2026.

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

Uptime history 47 days of history · worst day 7%
47 days agonow
100.0%
Uptime 24h
92 of 92 checks
17
Tools
read from the server
186 ms
Response time
average over 24h
0
Stars
last commit 1 Sep 2026

Nothing serious here today

Today is the operative word: we check Cliniko every 15 minutes and re-read its code on every release. Watch it and you find out the day that stops being true.

Three servers free · no card

Connect this server

Endpoint below is the one we actually reach during checks — not the one copied from a README. Last verified 5 min ago.

run in your terminal
claude mcp add cliniko --transport http https://cliniko.usefulapi.io/mcp
~/Library/Application Support/Claude/claude_desktop_config.json
{
  "mcpServers": {
    "cliniko": {
      "url": "https://cliniko.usefulapi.io/mcp"
    }
  }
}
~/.codex/config.toml
[mcp_servers.cliniko]
url = "https://cliniko.usefulapi.io/mcp"
.cursor/mcp.json
{
  "mcpServers": {
    "cliniko": {
      "url": "https://cliniko.usefulapi.io/mcp"
    }
  }
}
.vscode/mcp.json
{
  "mcpServers": {
    "cliniko": {
      "url": "https://cliniko.usefulapi.io/mcp"
    }
  }
}

Available tools 17

Read directly from the server with tools/list, grouped by what they act on. If a tool disappears, we record the date.

cliniko
cliniko_create_appointment
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.
cliniko_create_patient
WRITE — creates a REAL new patient record in the live Cliniko practice. Requires first_name + last_name. POST /patients.
cliniko_get_account
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.
cliniko_get_appointment
Fetch a single individual appointment by id. GET /individual_appointments/{id}.
cliniko_get_invoice
Fetch a single invoice by id. GET /invoices/{id}.
cliniko_get_patient
Fetch a single patient by id. GET /patients/{id}.
cliniko_get_treatment_note
Fetch a single treatment note by id. NOTE: treatment notes are protected health information (PHI). Read-only. GET /treatment_notes/{id}.
cliniko_list_appointment_types
List appointment types (service definitions). GET /appointment_types.
cliniko_list_appointments
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.
cliniko_list_available_times
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.
cliniko_list_businesses
List businesses (practice locations) in the account. GET /businesses.
cliniko_list_invoices
List invoices, optionally filtered by patient. GET /invoices.
cliniko_list_patients
Search/list patients. Name/email filters use Cliniko 'contains' matching (q[]=field:~value). GET /patients.
cliniko_list_practitioners
List practitioners in the account. GET /practitioners.
cliniko_list_products
List billable products/items. GET /products.
cliniko_list_treatment_notes
List treatment notes, optionally filtered by patient. NOTE: treatment notes are protected health information (PHI) — handle with care. Read-only. GET /treatment_notes.
cliniko_next_available_time
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.

Endpoints

URLTransportStateLatencyChecked
https://cliniko.usefulapi.io/mcp streamable-http answering 422 ms 5 min ago

Alternatives to Cliniko

same job, measured the same way
Jobber MCP Server
by friendlygeorge

MCP server for Jobber (home services SaaS) — exposes tools for clients, jobs, invoices, and quote...

33 installs/wk local only
Zenoti
by jamesrosingmd

MCP server for Zenoti spa/wellness/medspa — guests, appointments, bookings, invoices

85 installs/wk local only
Billium
by billiumhq

Official Billium MCP server: manage crypto invoices, payments, and webhooks from any MCP host.

39 installs/wk local only
Xero
by mindstone

Xero MCP server for invoices, contacts, payments, quotes, and financial reports.

73 installs/wk local only
Stripe MCP
by robinafaruqia

Read-only MCP server for querying Stripe customers, payments, and invoices.

32 installs/wk local only
PolyDoc
by polydoc

PolyDoc MCP server: HTML/URL to PDF, screenshots, and EU e-invoice generation for MCP clients.

36 installs/wk local only
Xero
by wyre-ai

MCP server for Xero accounting — contacts, invoices, payments, accounts, and financial reports.

local only
Xero
by wyre-technology

MCP server for Xero accounting — contacts, invoices, payments, accounts, and financial reports.

local only

Cliniko — questions

Answers built from our own checks of this server.

What can Cliniko do?
It exposes 17 tools, read directly from the server on our last check. Among them: cliniko_create_appointment, cliniko_create_patient, cliniko_get_account, cliniko_get_appointment, cliniko_get_invoice, cliniko_get_patient and 11 more. The full list with descriptions is on this page — we take it from the server itself via tools/list, not from a README. How MCP servers expose tools in the first place →
Is Cliniko working right now?
We send a real MCP handshake every 15 minutes. Over the last 24 hours 92 of 92 checks got a reply (100.0%), average response time 186 ms. The bar chart above shows every period we have measured.
How do I connect Cliniko?
Copy the ready config from this page — we generate it for Claude Code, Claude Desktop, Codex, Cursor and VS Code, each with the file path that client actually reads. It is a remote server, so there is nothing to install — the client connects to the address.
Does Cliniko need an API key?
No. Cliniko completed a full MCP handshake with us as an anonymous client and listed its tools without asking for anything. All 17 of them are readable on this page. This is what we observed, not what the docs claim.
How fast is Cliniko?
It answers our handshake in 186 ms on average, which is faster than 69% of all working MCP servers we measure. The comparison comes from our own checks across the whole registry, every 15 minutes.
Is Cliniko open source?
Yes — it is published under the MIT licence, written in JavaScript and 0 stars on GitHub. The source link is on this page, so you can read exactly what it does with your data before you connect it.