MCP Cliniko Server
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@MCP Cliniko Serverfind the patient record for John Smith"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
MCP Cliniko Server
A Model Context Protocol (MCP) server that provides integration with the Cliniko API for healthcare practice management.
Features
Tools (Actions)
Patient Management
list_patients- Search and list patientsget_patient- Get patient by IDcreate_patient- Create new patientupdate_patient- Update patient detailsdelete_patient- Archive patient
Appointment Management
list_appointments- Search and list appointmentsget_appointment- Get appointment by IDcreate_appointment- Book new appointmentupdate_appointment- Modify appointmentcancel_appointment- Cancel appointmentdelete_appointment- Delete appointmentget_available_times- Get practitioner availability
Invoice Management
list_invoices- List and filter invoicesget_invoice- Get invoice detailscreate_invoice- Create new invoiceupdate_invoice- Update invoice status or detailsdelete_invoice- Delete draft invoice
Invoice Items
list_invoice_items- List items on an invoiceadd_invoice_item- Add item to invoiceupdate_invoice_item- Modify invoice itemdelete_invoice_item- Remove item from invoice
Payment Processing
list_payments- List payments with filteringcreate_payment- Record a paymentdelete_payment- Delete payment record
Products & Services
list_products- List billable products/servicesget_product- Get product detailscreate_product- Create new product/service
Tax Configuration
list_taxes- List available tax ratesget_tax- Get tax details
Complex Workflows
create_invoice_from_appointments- Generate invoices from appointmentsbulk_invoice_generation- Bulk create invoices for date rangelist_patient_cases- List patient caseslist_invoices_for_case- Get invoices for a case
Supporting Tools
list_practitioners- List all practitionerslist_appointment_types- List appointment typeslist_businesses- List businesses
Test Data
generate_test_data- Generate synthetic Australian healthcare datacleanup_test_data- Remove test patients
Resources (Data Access)
patient://{id}- Individual patient datapatients://list- All patientsappointment://{id}- Individual appointmentappointments://list- All appointmentsappointments://today- Today's appointmentspractitioners://list- All practitionersbusinesses://list- All businessesappointment-types://list- All appointment typesopenapi://spec- Cliniko API OpenAPI specification (YAML format)
Related MCP server: Cliniko MCP Server
Installation
Clone the repository:
git clone https://github.com/yourusername/mcp-cliniko.git
cd mcp-clinikoInstall dependencies:
npm installSet up your Cliniko API key:
cp .env.example .env
# Edit .env and add your Cliniko API keyBuild the project:
npm run buildConfiguration
Environment Variables
CLINIKO_API_KEY- Your Cliniko API key (required)
Getting a Cliniko API Key
Log into your Cliniko account
Go to Settings → Integrations → API Keys
Create a new API key
Copy the key to your
.envfile
Usage
Development Mode
npm run devProduction Mode
npm startTesting with MCP Inspector
npm run inspectIntegration with Claude Desktop
Add to your Claude Desktop configuration (~/Library/Application Support/Claude/claude_desktop_config.json):
{
"mcpServers": {
"cliniko": {
"command": "node",
"args": ["/path/to/mcp-cliniko/dist/index.js"],
"env": {
"CLINIKO_API_KEY": "your-api-key-here"
}
}
}
}Examples
Using Tools
List Patients:
{
"tool": "list_patients",
"arguments": {
"q": "Smith",
"per_page": 10
}
}Create Patient:
{
"tool": "create_patient",
"arguments": {
"first_name": "John",
"last_name": "Doe",
"email": "john.doe@example.com",
"phone_number": "0412345678",
"date_of_birth": "1980-01-15",
"medicare_number": "1234567890"
}
}Book Appointment:
{
"tool": "create_appointment",
"arguments": {
"starts_at": "2024-01-20T10:00:00Z",
"patient_id": 123,
"practitioner_id": 456,
"appointment_type_id": 789,
"business_id": 101
}
}Generate Test Data:
{
"tool": "generate_test_data",
"arguments": {
"num_patients": 5,
"num_appointments": 10,
"days_ahead": 7
}
}Using Resources
Resources provide read-only access to Cliniko data:
patient://123- Get patient with ID 123patients://list- List all patientsappointments://today- Get today's appointments
API Rate Limits
Cliniko API has a rate limit of 200 requests per minute. The server does not implement rate limiting internally, so be mindful of this limit when making bulk operations.
Error Handling
The server uses standard HTTP error conventions:
400 - Bad Request
401 - Unauthorized (check API key)
404 - Resource not found
429 - Rate limit exceeded
500 - Internal server error
Development
Project Structure
mcp-cliniko/
├── src/
│ ├── index.ts # Main server
│ ├── cliniko-client.ts # API client
│ ├── types.ts # TypeScript types
│ ├── tools/ # MCP tools
│ │ ├── patients.ts
│ │ ├── appointments.ts
│ │ └── synthetic-data.ts
│ └── resources/ # MCP resources
│ └── index.ts
├── dist/ # Compiled JavaScript
├── package.json
├── tsconfig.json
└── .envBuilding
npm run buildType Checking
npx tsc --noEmitLicense
MIT
Support
For Cliniko API documentation, visit: https://docs.api.cliniko.com/
For MCP documentation, visit: https://modelcontextprotocol.io/# mcp-cliniko
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Servers
- Flicense-qualityDmaintenanceA Model Context Protocol implementation with a modular architecture that exposes capabilities through specialized agents, enabling seamless integration with Claude Desktop and web applications.Last updated1
- Flicense-qualityDmaintenanceEnables integration with the Cliniko practice management system through MCP tools and resources. Supports patient management, appointment scheduling, and practice data access through natural language interactions.Last updated
- Flicense-qualityCmaintenanceExposes tools from the Ecuro Light API for managing clinical appointments, patient records, and clinic availability. It enables users to perform healthcare management tasks such as scheduling, patient search, and report generation through MCP-compatible clients.Last updated
- FlicenseBqualityDmaintenanceProvides integration with the Cliniko API for healthcare practice management, enabling patient, appointment, invoice, and payment operations via natural language.Last updated27
Related MCP Connectors
A comprehensive Model Context Protocol (MCP) server that enables AI assistants to interact with yo…
Persistent context for Claude. Your AI always knows your projects and next actions across sessions.
Agentic scheduling & booking for field service: availability, jobs, customers, crews, fleet.
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/BoabAI/mcp-cliniko'
If you have feedback or need assistance with the MCP directory API, please join our Discord server