mcp-cliniko
MCP Cliniko Server
Сервер протокола контекста модели (MCP), обеспечивающий интеграцию с API Cliniko для управления медицинской практикой.
Возможности
Инструменты (Действия)
Управление пациентами
list_patients- Поиск и список пациентовget_patient- Получение пациента по IDcreate_patient- Создание нового пациентаupdate_patient- Обновление данных пациентаdelete_patient- Архивация пациента
Управление записями на прием
list_appointments- Поиск и список записей на приемget_appointment- Получение записи на прием по IDcreate_appointment- Бронирование новой записиupdate_appointment- Изменение записиcancel_appointment- Отмена записиdelete_appointment- Удаление записиget_available_times- Получение доступного времени специалиста
Управление счетами
list_invoices- Список и фильтрация счетовget_invoice- Получение деталей счетаcreate_invoice- Создание нового счетаupdate_invoice- Обновление статуса или деталей счетаdelete_invoice- Удаление черновика счета
Позиции счета
list_invoice_items- Список позиций в счетеadd_invoice_item- Добавление позиции в счетupdate_invoice_item- Изменение позиции счетаdelete_invoice_item- Удаление позиции из счета
Обработка платежей
list_payments- Список платежей с фильтрациейcreate_payment- Регистрация платежаdelete_payment- Удаление записи о платеже
Продукты и услуги
list_products- Список оплачиваемых продуктов/услугget_product- Получение деталей продуктаcreate_product- Создание нового продукта/услуги
Настройка налогов
list_taxes- Список доступных налоговых ставокget_tax- Получение деталей налога
Сложные рабочие процессы
create_invoice_from_appointments- Генерация счетов на основе записей на приемbulk_invoice_generation- Массовое создание счетов за периодlist_patient_cases- Список случаев пациентаlist_invoices_for_case- Получение счетов для случая
Вспомогательные инструменты
list_practitioners- Список всех специалистовlist_appointment_types- Список типов записей на приемlist_businesses- Список организаций
Тестовые данные
generate_test_data- Генерация синтетических данных австралийской системы здравоохраненияcleanup_test_data- Удаление тестовых пациентов
Ресурсы (Доступ к данным)
patient://{id}- Данные отдельного пациентаpatients://list- Все пациентыappointment://{id}- Отдельная запись на приемappointments://list- Все записи на приемappointments://today- Записи на сегодняpractitioners://list- Все специалистыbusinesses://list- Все организацииappointment-types://list- Все типы записей на приемopenapi://spec- Спецификация OpenAPI API Cliniko (формат YAML)
Установка
Клонируйте репозиторий:
git clone https://github.com/yourusername/mcp-cliniko.git
cd mcp-clinikoУстановите зависимости:
npm installНастройте ваш API-ключ Cliniko:
cp .env.example .env
# Edit .env and add your Cliniko API keyСоберите проект:
npm run buildКонфигурация
Переменные окружения
CLINIKO_API_KEY- Ваш API-ключ Cliniko (обязательно)
Получение API-ключа Cliniko
Войдите в свою учетную запись Cliniko
Перейдите в Settings → Integrations → API Keys
Создайте новый API-ключ
Скопируйте ключ в ваш файл
.env
Использование
Режим разработки
npm run devПромышленный режим
npm startТестирование с помощью MCP Inspector
npm run inspectИнтеграция с Claude Desktop
Добавьте в конфигурацию 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"
}
}
}
}Примеры
Использование инструментов
Список пациентов:
{
"tool": "list_patients",
"arguments": {
"q": "Smith",
"per_page": 10
}
}Создание пациента:
{
"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"
}
}Бронирование записи на прием:
{
"tool": "create_appointment",
"arguments": {
"starts_at": "2024-01-20T10:00:00Z",
"patient_id": 123,
"practitioner_id": 456,
"appointment_type_id": 789,
"business_id": 101
}
}Генерация тестовых данных:
{
"tool": "generate_test_data",
"arguments": {
"num_patients": 5,
"num_appointments": 10,
"days_ahead": 7
}
}Использование ресурсов
Ресурсы предоставляют доступ к данным Cliniko только для чтения:
patient://123- Получить пациента с ID 123patients://list- Список всех пациентовappointments://today- Получить записи на сегодня
Ограничения API
API Cliniko имеет ограничение в 200 запросов в минуту. Сервер не реализует ограничение частоты запросов внутри себя, поэтому учитывайте этот лимит при выполнении массовых операций.
Обработка ошибок
Сервер использует стандартные соглашения об ошибках HTTP:
400 - Неверный запрос
401 - Неавторизован (проверьте API-ключ)
404 - Ресурс не найден
429 - Превышен лимит запросов
500 - Внутренняя ошибка сервера
Разработка
Структура проекта
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
Поддержка
Документация по API Cliniko доступна по адресу: https://docs.api.cliniko.com/
Документация по MCP доступна по адресу: 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