mcp-cliniko
Servidor MCP Cliniko
Un servidor del Protocolo de Contexto de Modelos (MCP) que proporciona integración con la API de Cliniko para la gestión de consultas sanitarias.
Características
Herramientas (Acciones)
Gestión de pacientes
list_patients- Buscar y listar pacientesget_patient- Obtener paciente por IDcreate_patient- Crear nuevo pacienteupdate_patient- Actualizar detalles del pacientedelete_patient- Archivar paciente
Gestión de citas
list_appointments- Buscar y listar citasget_appointment- Obtener cita por IDcreate_appointment- Reservar nueva citaupdate_appointment- Modificar citacancel_appointment- Cancelar citadelete_appointment- Eliminar citaget_available_times- Obtener disponibilidad del profesional
Gestión de facturas
list_invoices- Listar y filtrar facturasget_invoice- Obtener detalles de la facturacreate_invoice- Crear nueva facturaupdate_invoice- Actualizar estado o detalles de la facturadelete_invoice- Eliminar factura en borrador
Artículos de factura
list_invoice_items- Listar artículos de una facturaadd_invoice_item- Añadir artículo a la facturaupdate_invoice_item- Modificar artículo de la facturadelete_invoice_item- Eliminar artículo de la factura
Procesamiento de pagos
list_payments- Listar pagos con filtroscreate_payment- Registrar un pagodelete_payment- Eliminar registro de pago
Productos y servicios
list_products- Listar productos/servicios facturablesget_product- Obtener detalles del productocreate_product- Crear nuevo producto/servicio
Configuración de impuestos
list_taxes- Listar tipos impositivos disponiblesget_tax- Obtener detalles del impuesto
Flujos de trabajo complejos
create_invoice_from_appointments- Generar facturas a partir de citasbulk_invoice_generation- Crear facturas en lote para un rango de fechaslist_patient_cases- Listar casos de pacienteslist_invoices_for_case- Obtener facturas para un caso
Herramientas de soporte
list_practitioners- Listar todos los profesionaleslist_appointment_types- Listar tipos de citalist_businesses- Listar empresas
Datos de prueba
generate_test_data- Generar datos sanitarios sintéticos de Australiacleanup_test_data- Eliminar pacientes de prueba
Recursos (Acceso a datos)
patient://{id}- Datos individuales del pacientepatients://list- Todos los pacientesappointment://{id}- Cita individualappointments://list- Todas las citasappointments://today- Citas de hoypractitioners://list- Todos los profesionalesbusinesses://list- Todas las empresasappointment-types://list- Todos los tipos de citaopenapi://spec- Especificación OpenAPI de la API de Cliniko (formato YAML)
Instalación
Clonar el repositorio:
git clone https://github.com/yourusername/mcp-cliniko.git
cd mcp-clinikoInstalar dependencias:
npm installConfigurar tu clave de API de Cliniko:
cp .env.example .env
# Edit .env and add your Cliniko API keyConstruir el proyecto:
npm run buildConfiguración
Variables de entorno
CLINIKO_API_KEY- Tu clave de API de Cliniko (obligatorio)
Obtener una clave de API de Cliniko
Inicia sesión en tu cuenta de Cliniko
Ve a Ajustes → Integraciones → Claves de API
Crea una nueva clave de API
Copia la clave en tu archivo
.env
Uso
Modo desarrollo
npm run devModo producción
npm startPruebas con MCP Inspector
npm run inspectIntegración con Claude Desktop
Añadir a tu configuración de Claude Desktop (~/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"
}
}
}
}Ejemplos
Uso de herramientas
Listar pacientes:
{
"tool": "list_patients",
"arguments": {
"q": "Smith",
"per_page": 10
}
}Crear paciente:
{
"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"
}
}Reservar cita:
{
"tool": "create_appointment",
"arguments": {
"starts_at": "2024-01-20T10:00:00Z",
"patient_id": 123,
"practitioner_id": 456,
"appointment_type_id": 789,
"business_id": 101
}
}Generar datos de prueba:
{
"tool": "generate_test_data",
"arguments": {
"num_patients": 5,
"num_appointments": 10,
"days_ahead": 7
}
}Uso de recursos
Los recursos proporcionan acceso de solo lectura a los datos de Cliniko:
patient://123- Obtener paciente con ID 123patients://list- Listar todos los pacientesappointments://today- Obtener las citas de hoy
Límites de tasa de la API
La API de Cliniko tiene un límite de 200 solicitudes por minuto. El servidor no implementa limitación de tasa internamente, así que ten en cuenta este límite al realizar operaciones masivas.
Gestión de errores
El servidor utiliza las convenciones de error HTTP estándar:
400 - Solicitud incorrecta
401 - No autorizado (comprueba la clave de API)
404 - Recurso no encontrado
429 - Límite de tasa excedido
500 - Error interno del servidor
Desarrollo
Estructura del proyecto
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
└── .envConstrucción
npm run buildComprobación de tipos
npx tsc --noEmitLicencia
MIT
Soporte
Para la documentación de la API de Cliniko, visita: https://docs.api.cliniko.com/
Para la documentación de MCP, visita: https://modelcontextprotocol.io/
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Latest Blog Posts
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/andymillar84-cyber/mcp-cliniko'
If you have feedback or need assistance with the MCP directory API, please join our Discord server