MCP 服务器

nexhealth

io.usefulapi/nexhealth
医疗健康 公开且可连接 MCP 2026-07-28

此 MCP 可以做什么

Reads and updates NexHealth patients, providers, locations, appointment types, availability, appointments, insurance and procedures.

nexhealth_book_appointment
Book appointment
BOOK a new appointment. MUTATES DATA — creates an appointment in the connected EHR/PMS (optionally notifying the patient). Provide either end_time or appointment_type_id. POST /appointments.
可能执行破坏性操作
输入模式
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['location_id', 'patient_id', 'provider_id', 'start_time'], 'properties': {'note': {'type': 'string', 'description': 'Free-text note on the appointment.'}, 'end_time': {'type': 'string', 'description': 'Appointment end, ISO8601 datetime (or set appointment_type_id).'}, 'subdomain': {'type': 'string', 'description': 'Institution subdomain. Defaults to NEXHEALTH_SUBDOMAIN if unset.'}, 'patient_id': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': -9007199254740991, 'description': 'Patient the appointment is for.'}, 'start_time': {'type': 'string', 'description': 'Appointment start, ISO8601 datetime.'}, 'location_id': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': -9007199254740991, 'description': 'Location id for the appointment (REQUIRED).'}, 'provider_id': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': -9007199254740991, 'description': 'Provider seeing the patient.'}, 'operatory_id': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': -9007199254740991, 'description': 'Operatory (chair/room) id.'}, 'notify_patient': {'type': 'boolean', 'description': 'Notify the patient (sent as notify_patient query param).'}, 'appointment_type_id': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': -9007199254740991, 'description': 'Appointment type id (determines duration if end_time omitted).'}}}
nexhealth_create_patient
Create patient
CREATE a new patient record in a location. MUTATES DATA — writes to the connected EHR/PMS. GET the patient back to confirm. POST /patients.
可能执行破坏性操作
输入模式
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['location_id', 'provider_id', 'first_name', 'last_name', 'email'], 'properties': {'npi': {'type': 'string', 'description': 'Provider NPI, sent as provider.npi in the body.'}, 'email': {'type': 'string', 'description': 'Patient email address.'}, 'gender': {'type': 'string', 'description': 'Patient gender.'}, 'last_name': {'type': 'string', 'description': 'Patient last name.'}, 'subdomain': {'type': 'string', 'description': 'Institution subdomain. Defaults to NEXHEALTH_SUBDOMAIN if unset.'}, 'first_name': {'type': 'string', 'description': 'Patient first name.'}, 'location_id': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': -9007199254740991, 'description': 'Location id to create the patient in (REQUIRED).'}, 'provider_id': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': -9007199254740991, 'description': 'Provider id to associate the patient with (REQUIRED).'}, 'phone_number': {'type': 'string', 'description': 'Patient phone number.'}, 'date_of_birth': {'type': 'string', 'pattern': '^\\d{4}-\\d{2}-\\d{2}$', 'description': 'Date of birth, yyyy-mm-dd.'}}}
nexhealth_get_appointment
Get appointment
Fetch a single appointment by id. GET /appointments/{id}.
只读
输入模式
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['id'], 'properties': {'id': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': -9007199254740991, 'description': 'Appointment id (path param).'}, 'subdomain': {'type': 'string', 'description': 'Institution subdomain. Defaults to NEXHEALTH_SUBDOMAIN if unset.'}}}
nexhealth_get_patient
Get patient
Fetch a single patient by id. GET /patients/{id}.
只读
输入模式
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['id'], 'properties': {'id': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': -9007199254740991, 'description': 'Patient id (path param).'}, 'subdomain': {'type': 'string', 'description': 'Institution subdomain. Defaults to NEXHEALTH_SUBDOMAIN if unset.'}}}
nexhealth_list_appointments
List appointments
List appointments in a date/time window, optionally filtered by location, patient, or provider. GET /appointments.
只读
输入模式
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'properties': {'end': {'type': 'string', 'description': 'Window end, ISO8601 datetime.'}, 'page': {'type': 'integer', 'maximum': 9007199254740991, 'description': 'Page number (pagination).', 'exclusiveMinimum': 0}, 'start': {'type': 'string', 'description': 'Window start, ISO8601 datetime.'}, 'include': {'type': 'array', 'items': {'type': 'string'}, 'description': 'Related resources to embed, e.g. ["patient","provider"] (sent as include[]).'}, 'per_page': {'type': 'integer', 'maximum': 1000, 'description': 'Items per page (pagination).', 'exclusiveMinimum': 0}, 'subdomain': {'type': 'string', 'description': 'Institution subdomain. Defaults to NEXHEALTH_SUBDOMAIN if unset.'}, 'patient_id': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': -9007199254740991, 'description': 'Filter to one patient.'}, 'location_id': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': -9007199254740991, 'description': 'Restrict to a single location id.'}, 'provider_id': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': -9007199254740991, 'description': 'Filter to one provider.'}}}
nexhealth_list_appointment_slots
List appointment slots
Find bookable appointment start times across providers/locations for a date range. High-value for scheduling. GET /appointment_slots.
只读
输入模式
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['start_date'], 'properties': {'days': {'type': 'integer', 'maximum': 9007199254740991, 'description': 'Number of days from start_date to search.', 'exclusiveMinimum': 0}, 'lids': {'type': 'array', 'items': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': -9007199254740991}, 'description': 'Location ids (sent as lids[]=...).'}, 'pids': {'type': 'array', 'items': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': -9007199254740991}, 'description': 'Provider ids (sent as pids[]=...).'}, 'subdomain': {'type': 'string', 'description': 'Institution subdomain. Defaults to NEXHEALTH_SUBDOMAIN if unset.'}, 'start_date': {'type': 'string', 'pattern': '^\\d{4}-\\d{2}-\\d{2}$', 'description': 'First day to search, yyyy-mm-dd (REQUIRED).'}, 'slot_length': {'type': 'integer', 'maximum': 9007199254740991, 'description': 'Desired slot length in minutes.', 'exclusiveMinimum': 0}, 'overlapping_operatory_slots': {'type': 'boolean', 'description': 'Allow overlapping operatory slots.'}}}
nexhealth_list_appointment_types
List appointment types
List the appointment types configured for an institution/location. GET /appointment_types.
只读
输入模式
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'properties': {'page': {'type': 'integer', 'maximum': 9007199254740991, 'description': 'Page number (pagination).', 'exclusiveMinimum': 0}, 'per_page': {'type': 'integer', 'maximum': 1000, 'description': 'Items per page (pagination).', 'exclusiveMinimum': 0}, 'subdomain': {'type': 'string', 'description': 'Institution subdomain. Defaults to NEXHEALTH_SUBDOMAIN if unset.'}, 'location_id': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': -9007199254740991, 'description': 'Restrict to a single location id.'}}}
nexhealth_list_insurance_coverages
List insurance coverages
List a patient's insurance coverages. GET /insurance_coverages.
只读
输入模式
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'properties': {'page': {'type': 'integer', 'maximum': 9007199254740991, 'description': 'Page number (pagination).', 'exclusiveMinimum': 0}, 'per_page': {'type': 'integer', 'maximum': 1000, 'description': 'Items per page (pagination).', 'exclusiveMinimum': 0}, 'subdomain': {'type': 'string', 'description': 'Institution subdomain. Defaults to NEXHEALTH_SUBDOMAIN if unset.'}, 'patient_id': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': -9007199254740991, 'description': 'Patient id to fetch coverages for.'}}}
nexhealth_list_insurance_plans
List insurance plans
List insurance plans known to the institution, optionally scoped to a location. GET /insurance_plans.
只读
输入模式
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'properties': {'page': {'type': 'integer', 'maximum': 9007199254740991, 'description': 'Page number (pagination).', 'exclusiveMinimum': 0}, 'per_page': {'type': 'integer', 'maximum': 1000, 'description': 'Items per page (pagination).', 'exclusiveMinimum': 0}, 'subdomain': {'type': 'string', 'description': 'Institution subdomain. Defaults to NEXHEALTH_SUBDOMAIN if unset.'}, 'location_id': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': -9007199254740991, 'description': 'Restrict to a single location id.'}}}
nexhealth_list_locations
List locations
List the practice locations for an institution (id, name, address). Good first call to discover location_ids for other tools. GET /locations.
只读
输入模式
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'properties': {'subdomain': {'type': 'string', 'description': 'Institution subdomain. Defaults to NEXHEALTH_SUBDOMAIN if unset.'}}}
nexhealth_list_operatories
List operatories
List operatories (chairs/rooms) for an institution, optionally scoped to a location. GET /operatories.
只读
输入模式
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'properties': {'subdomain': {'type': 'string', 'description': 'Institution subdomain. Defaults to NEXHEALTH_SUBDOMAIN if unset.'}, 'location_id': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': -9007199254740991, 'description': 'Restrict to a single location id.'}}}
nexhealth_list_procedures
List procedures
List clinical procedures, optionally scoped to a patient. GET /procedures.
只读
输入模式
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'properties': {'page': {'type': 'integer', 'maximum': 9007199254740991, 'description': 'Page number (pagination).', 'exclusiveMinimum': 0}, 'per_page': {'type': 'integer', 'maximum': 1000, 'description': 'Items per page (pagination).', 'exclusiveMinimum': 0}, 'subdomain': {'type': 'string', 'description': 'Institution subdomain. Defaults to NEXHEALTH_SUBDOMAIN if unset.'}, 'patient_id': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': -9007199254740991, 'description': "Filter to one patient's procedures."}}}
nexhealth_list_providers
List providers
List practitioners (providers) for an institution, optionally scoped to a location. GET /providers.
只读
输入模式
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'properties': {'page': {'type': 'integer', 'maximum': 9007199254740991, 'description': 'Page number (pagination).', 'exclusiveMinimum': 0}, 'per_page': {'type': 'integer', 'maximum': 1000, 'description': 'Items per page (pagination).', 'exclusiveMinimum': 0}, 'subdomain': {'type': 'string', 'description': 'Institution subdomain. Defaults to NEXHEALTH_SUBDOMAIN if unset.'}, 'location_id': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': -9007199254740991, 'description': 'Restrict to a single location id.'}}}
nexhealth_search_patients
Search patients
Search patients within a location by name, email, phone, or date of birth. Patient search is always in a location context. GET /patients.
只读
输入模式
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['location_id'], 'properties': {'name': {'type': 'string', 'description': 'Full or partial patient name.'}, 'page': {'type': 'integer', 'maximum': 9007199254740991, 'description': 'Page number (pagination).', 'exclusiveMinimum': 0}, 'sort': {'type': 'string', 'description': 'Sort field/direction, e.g. name or -created_at.'}, 'email': {'type': 'string', 'description': 'Patient email filter.'}, 'inactive': {'type': 'boolean', 'description': 'Include inactive patients.'}, 'per_page': {'type': 'integer', 'maximum': 1000, 'description': 'Items per page (pagination).', 'exclusiveMinimum': 0}, 'subdomain': {'type': 'string', 'description': 'Institution subdomain. Defaults to NEXHEALTH_SUBDOMAIN if unset.'}, 'location_id': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': -9007199254740991, 'description': 'Location id to search within (REQUIRED).'}, 'phone_number': {'type': 'string', 'description': 'Patient phone number filter.'}, 'date_of_birth': {'type': 'string', 'pattern': '^\\d{4}-\\d{2}-\\d{2}$', 'description': 'Patient date of birth, yyyy-mm-dd.'}}}
nexhealth_sync_status
Sync status
Report the data-sync health for the practice's EHR/PMS integration (is the Synchronizer up to date?). GET /sync_status.
只读
输入模式
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'properties': {'subdomain': {'type': 'string', 'description': 'Institution subdomain. Defaults to NEXHEALTH_SUBDOMAIN if unset.'}}}
nexhealth_update_appointment
Update appointment
UPDATE / reschedule / cancel / confirm an existing appointment by id. MUTATES DATA in the connected EHR/PMS. PATCH /appointments/{id}.
可能执行破坏性操作
输入模式
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['id'], 'properties': {'id': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': -9007199254740991, 'description': 'Appointment id to update (path param).'}, 'note': {'type': 'string', 'description': 'Update the free-text note.'}, 'cancelled': {'type': 'boolean', 'description': 'Set true to cancel the appointment.'}, 'confirmed': {'type': 'boolean', 'description': 'Set true to confirm the appointment.'}, 'subdomain': {'type': 'string', 'description': 'Institution subdomain. Defaults to NEXHEALTH_SUBDOMAIN if unset.'}, 'start_time': {'type': 'string', 'description': 'New start, ISO8601 datetime (reschedule).'}, 'provider_id': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': -9007199254740991, 'description': 'Reassign to a provider.'}, 'operatory_id': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': -9007199254740991, 'description': 'Reassign operatory (chair/room).'}}}
已更改
nexhealth_update_appointment
2026年10月2日 02:40
已更改
nexhealth_book_appointment
2026年10月2日 02:40
已更改
nexhealth_create_patient
2026年10月2日 02:40
已更改
nexhealth_sync_status
2026年10月2日 02:40
已更改
nexhealth_list_procedures
2026年10月2日 02:40
已更改
nexhealth_list_insurance_coverages
2026年10月2日 02:40
已更改
nexhealth_list_insurance_plans
2026年10月2日 02:40
已更改
nexhealth_list_operatories
2026年10月2日 02:40
已更改
nexhealth_list_appointment_types
2026年10月2日 02:40
已更改
nexhealth_list_appointment_slots
2026年10月2日 02:40
已更改
nexhealth_get_appointment
2026年10月2日 02:40
已更改
nexhealth_list_appointments
2026年10月2日 02:40
已更改
nexhealth_get_patient
2026年10月2日 02:40
已更改
nexhealth_search_patients
2026年10月2日 02:40
已更改
nexhealth_list_providers
2026年10月2日 02:40
已更改
nexhealth_list_locations
2026年10月2日 02:40
已添加
nexhealth_update_appointment
2026年9月30日 02:40
已添加
nexhealth_book_appointment
2026年9月30日 02:40
已添加
nexhealth_create_patient
2026年9月30日 02:40
已添加
nexhealth_sync_status
2026年9月30日 02:40
已添加
nexhealth_list_procedures
2026年9月30日 02:40
已添加
nexhealth_list_insurance_coverages
2026年9月30日 02:40
已添加
nexhealth_list_insurance_plans
2026年9月30日 02:40
已添加
nexhealth_list_operatories
2026年9月30日 02:40
已添加
nexhealth_list_appointment_types
2026年9月30日 02:40
已添加
nexhealth_list_appointment_slots
2026年9月30日 02:40
已添加
nexhealth_get_appointment
2026年9月30日 02:40
已添加
nexhealth_list_appointments
2026年9月30日 02:40
已添加
nexhealth_get_patient
2026年9月30日 02:40
已添加
nexhealth_search_patients
2026年9月30日 02:40