MCP Healthcare Server
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@MCP Healthcare Serverfind available slots for Dr. Lee next week"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
MCP Healthcare Server
A Model Context Protocol (MCP) server for clinical workflows, built per the
design in deep-research-report.md. The server exposes a governed set of
tools (patient lookup, appointment booking, prescription, drug-interaction
check, symptom triage, lab results, insurance eligibility, telehealth) and
enforces role-based access control and audit logging on every call.
This implementation is a development scaffold: data is held in memory
(seeded from src/data/*.json) and there is no real EHR/FHIR integration.
It is a safe environment to exercise the MCP surface and the security
enforcement layer.
Quick start
npm install
npm run dev # tsc-watch-style restart on src changes
# or
npm run build && npm startThe server speaks MCP over stdio and is ready to attach to any MCP-aware
client (Claude Desktop, MCP Inspector, custom agents).
Related MCP server: openemr-mcp
Tool surface
Tool | Role required | Purpose |
| any clinical | Look up a patient by MRN or name+DOB |
| any clinical | Recent appointments, conditions, meds |
| any clinical | Provider availability, filterable by specialty |
| clinician / admin | Schedule a new appointment |
| clinician / admin | Move an existing appointment |
| any clinical | Patient's current medication list |
| clinician / pharmacist / admin | Pairwise interaction check |
| clinician / admin | Write a prescription, surfaces allergy + interaction warnings |
| any clinical | Rule-based triage with urgency + specialty |
| any clinical | Recommend a specialty for a description |
| any clinical | Fetch lab data, filter by test name |
| any clinical | Summarize, count abnormalities, flag criticals |
| clinician / admin | Verify insurance coverage and copay |
| clinician / admin | Submit a prior auth request |
| clinician / admin | Create a video session, return URL |
| clinician / admin | Queue session link for delivery (stub) |
Every tool call must include a userId from src/data/users.json. The
server resolves the user, checks role permissions, then runs the handler.
Denials and runtime errors are recorded in the audit log.
Security model
Audit log — one JSON line per call to
logs/audit-<YYYY-MM-DD>.log. Captures timestamp, userId, tool, SHA-256 of the input (16 hex chars — avoids writing PHI in plaintext), outcome, and duration.RBAC — defined in
src/auth/rbac.ts. Read tools accept any clinical role. Write tools requireclinicianoradmin. Pharmacy tools also acceptpharmacist. Unknown user → denial.Input validation — Zod schemas on every tool; the MCP SDK rejects malformed inputs before the handler runs.
File layout
src/
index.ts # bootstrap (stdio transport)
server.ts # createServer(): McpServer + audit + exit hooks
config.ts # env loading (LOG_DIR, DATA_DIR)
types.ts # domain types
audit/logger.ts # append-only audit log
auth/rbac.ts # user lookup + role checks
store/memoryStore.ts # in-memory store + loadSeed()
tools/
registry.ts # central tool context + module list
patient.ts # search_patient, get_patient_history
appointment.ts # find_available_slots, book, reschedule
prescription.ts # create_prescription, check_drug_interaction, get_active_medications
symptoms.ts # analyze_symptoms, suggest_specialist
lab.ts # get_recent_lab_results, analyze_lab_results
eligibility.ts # check_eligibility, create_prior_authorization_request
telehealth.ts # create_telehealth_session, send_telehealth_link
data/ # seed JSON (patients, providers, drugs, labs, etc.)
logs/ # audit log output (gitignored)Seed users (for testing)
userId | name | role |
| Dr. Aisha Khan | clinician |
| Dr. Marcus Lee | clinician |
| Nurse Priya Shah | nurse |
| Jordan Park | receptionist |
| Rita Chen, PharmD | pharmacist |
| Sam Whittaker | admin |
Out of scope (TODO for production)
Real FHIR / HL7 / PACS / DICOM adapters
OAuth2 / SMART-on-FHIR launch
Persistent database (in-memory only)
LLM-backed symptom analysis (rule-based placeholder)
HIPAA-grade audit retention, encryption at rest, key rotation
Rate limiting, network segmentation
References
See deep-research-report.md for the full design rationale, architecture
options, compliance checklist, and roadmap that informed this implementation.
This server cannot be deployed
Maintenance
Related MCP Connectors
Hosted MCP server for the Healthie EHR & telehealth API: patients, appointments, charting, tasks.
Hosted MCP server for Cliniko — patients, appointments, availability, and invoices for AI agents.
Remote MCP for MCP consent scope receipt, structured receipts, audit logs, and reviewer-ready eviden
MCP server for secureFlows: token-free URL builders and integration-linting tools for AI agents.
Related MCP Servers
- AlicenseNot gradedqualityNot gradedmaintenanceA production-grade MCP server that enables AI assistants to securely manage healthcare data through clinical tools for patient vitals, lab results, and medication ordering. It prioritizes security and compliance with features like HIPAA-ready audit logging, PII redaction, and role-based access control.-
- AlicenseBqualityCmaintenanceAn MCP server that connects AI assistants to OpenEMR instances to manage patient records, clinical trends, and medication safety. It provides 17 tools for tasks such as patient search, drug interaction checks, and generating comprehensive health trajectories and visit preparations.17MIT
- AlicenseNot gradedqualityDmaintenanceClinical decision-support MCP server that lets AI agents reason over live FHIR patient data for medication review, appointment scheduling, and care gap identification.4,698MIT

LangCare MCP FHIR Serverofficial
AlicenseNot gradedqualityDmaintenanceEnterprise-grade MCP Server for FHIR-based EMRs. Enables AI agents to read, search, create, and update any FHIR R4 resource across major EHR systems like EPIC, Cerner, and OpenEMR.14754MIT