loading…
Search for a command to run...
loading…
Provides comprehensive integration with the Cliniko API for healthcare practice management, including patient, appointment, and invoice administration. It enabl
Provides comprehensive integration with the Cliniko API for healthcare practice management, including patient, appointment, and invoice administration. It enables tools for complex clinical workflows and direct access to practice resources through the Model Context Protocol.
A Model Context Protocol (MCP) server that provides integration with the Cliniko API for healthcare practice management.
Patient Management
list_patients - Search and list patientsget_patient - Get patient by IDcreate_patient - Create new patientupdate_patient - Update patient detailsdelete_patient - Archive patientAppointment 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 availabilityInvoice Management
list_invoices - List and filter invoicesget_invoice - Get invoice detailscreate_invoice - Create new invoiceupdate_invoice - Update invoice status or detailsdelete_invoice - Delete draft invoiceInvoice 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 invoicePayment Processing
list_payments - List payments with filteringcreate_payment - Record a paymentdelete_payment - Delete payment recordProducts & Services
list_products - List billable products/servicesget_product - Get product detailscreate_product - Create new product/serviceTax Configuration
list_taxes - List available tax ratesget_tax - Get tax detailsComplex 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 caseSupporting Tools
list_practitioners - List all practitionerslist_appointment_types - List appointment typeslist_businesses - List businessesTest Data
generate_test_data - Generate synthetic Australian healthcare datacleanup_test_data - Remove test patientspatient://{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)git clone https://github.com/yourusername/mcp-cliniko.git
cd mcp-cliniko
npm install
cp .env.example .env
# Edit .env and add your Cliniko API key
npm run build
CLINIKO_API_KEY - Your Cliniko API key (required).env filenpm run dev
npm start
npm run inspect
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"
}
}
}
}
List Patients:
{
"tool": "list_patients",
"arguments": {
"q": "Smith",
"per_page": 10
}
}
Create Patient:
{
"tool": "create_patient",
"arguments": {
"first_name": "John",
"last_name": "Doe",
"email": "[email protected]",
"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
}
}
Resources provide read-only access to Cliniko data:
patient://123 - Get patient with ID 123patients://list - List all patientsappointments://today - Get today's appointmentsCliniko 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.
The server uses standard HTTP error conventions:
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
└── .env
npm run build
npx tsc --noEmit
MIT
For Cliniko API documentation, visit: https://docs.api.cliniko.com/
For MCP documentation, visit: https://modelcontextprotocol.io/# mcp-cliniko
Добавь это в claude_desktop_config.json и перезапусти Claude Desktop.
{
"mcpServers": {
"mcp-cliniko-server": {
"command": "npx",
"args": []
}
}
}