CharmHealth MCP Server

CharmHealth MCP Server

An MCP server for CharmHealth EHR that allows LLMs and MCP clients to interact with patient records, encounters, and practice information.

154

14 Tools

Signed
Built by Docker
Requires Secrets
Add to Docker Desktop

Version 4.43 or later needs to be installed to add the server automatically

Tools

NameDescription
manageEncounterManage encounters. <usecase> Complete encounter workflow - create, review, and sign encounters with comprehensive clinical documentation. Essential for clinical workflow from initial documentation through final signature. </usecase> <instructions> Actions: - "create": Create new encounter and document clinical findings (default) - "review": Display complete encounter details for review before signing - "sign": Electronically sign encounter after review and confirmation - "unlock": Unlock a previously signed encounter to allow modifications For creating encounters: - Requires: patient_id, provider_id, facility_id, encounter_date - Optional: appointment_id (to create from existing appointment), visit_type_id, encounter_mode, chief_complaint For reviewing encounters: - Requires: patient_id, encounter_id - Shows comprehensive encounter details including vitals, diagnoses, medications, notes For signing encounters: - Requires: patient_id, encounter_id - Only use after reviewing and confirming all information is accurate For unlocking encounters: - Requires: patient_id, encounter_id, reason - Used to unlock signed encounters when modifications are needed - Must provide a valid reason for unlocking the encounter Recommended workflow: 1. Create encounter: manageEncounter(patient_id, provider_id, facility_id, encounter_date, action="create") 2. Add clinical data using managePatientVitals(), managePatientDrugs(), managePatientDiagnoses() 3. Review before signing: manageEncounter(patient_id, encounter_id, action="review") 4. Sign to finalize: manageEncounter(patient_id, encounter_id, action="sign") 5. If modifications needed: manageEncounter(patient_id, encounter_id, reason="reason for changes", action="unlock") When required parameters are missing, ask the user to provide the specific values rather than proceeding with defaults or auto-generated values. </instructions>
managePatientNotesManage patient notes. <usecase> Quick clinical note management for important patient information - add care notes, provider communications, and clinical observations that need to be highlighted across all patient interactions. </usecase> <instructions> Actions: - "add": Add new clinical note (requires notes content) - "list": Show all patient notes (requires only patient_id) - "update": Modify existing note (requires record_id + notes content) - "delete": Remove note (requires record_id). Ask the user if they are sure they want to delete the note before proceeding. Use for: Important care instructions, provider alerts, patient preferences, social determinants Formal encounter notes should use manageEncounter() instead When required parameters are missing, ask the user to provide the specific values rather than proceeding with defaults or auto-generated values. </instructions>

Manual installation

You can install the MCP server using:

Installation for

Related servers