Epic Patient API MCP 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., "@Epic Patient API MCP Serverlist John Doe's medications and then show details for the most recent one"
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.
Epic Patient API MCP Server
Fake Epic MCP server with file-based patient data and LLM-powered search.
Features
Two-tier data access: List summaries first, then fetch details by ID
15 MCP Tools for querying patient data:
List tools (return IDs, dates, metadata only):
list_patient_allergies,list_patient_medications,list_patient_conditions,list_clinical_notes,list_lab_results,list_vitals,list_proceduresDetail tools (require IDs, return full data):
get_allergy_details,get_medication_details,get_condition_details,get_clinical_note_details,get_lab_result_details,get_vital_details,get_procedure_detailsAttachment tool:
get_note_attachmentSearch tool:
search_patient_data- Natural language search using LLM
Pluggable LLM: Supports Gemini or OpenRouter for natural language search
File-based storage: Patient data in YAML files under
patients/
Related MCP server: carechronicle-mcp
Setup
Install:
uv pip install -e .Configure LLM in
.env:Gemini (default):
GEMINI_API_KEY=...(get from https://aistudio.google.com/app/apikey)OpenRouter:
LLM_PROVIDER=openrouter,OPENROUTER_API_KEY=...,OPENROUTER_MODEL=anthropic/claude-3.5-sonnet
Run:
uv run python -m epic_mcp.server
Server runs on http://localhost:8000/sse
Usage Pattern
Two-tier access minimizes data transfer:
List to see what's available (IDs + metadata):
{"patient_id": "patient_001"}Returns:
[{"id": "allergy-1", "allergen": "Penicillin", "severity": "severe", "recorded_date": "2015-03-20"}]Get details for specific items:
{"patient_id": "patient_001", "allergy_id": "allergy-1"}Returns:
{"id": "allergy-1", "allergen": "Penicillin", "reaction": "Hives, difficulty breathing", "severity": "severe", "recorded_date": "2015-03-20"}
Claude Desktop Setup
Run server:
uv run python -m epic_mcp.serverEdit
~/Library/Application Support/Claude/claude_desktop_config.json:{"mcpServers": {"epic-patient-api": {"url": "http://localhost:8000/sse"}}}Restart Claude Desktop
Available Patients
patient_001- John Doe (58M) - Hypertension, Type 2 Diabetespatient_002- Jane Smith (32F) - Hypothyroidism, Pregnantpatient_003- Robert Chen (56M) - Stage IV Colorectal Cancer
This server cannot be deployed
Maintenance
Related MCP Connectors
Hosted MCP endpoint with realistic fake data for prototyping agents. 12 tools, no setup.
HealthGuard - 12-tool health/medical AI safety MCP: PII redaction, HIPAA, GDPR Art.9.
Synthetic EHR: medications, labs, conditions, allergies, immunizations, FHIR R4. No API key.
Your org's AI agents, tasks, runs, search, and brain files as MCP tools and resources.
Related MCP Servers
- -licenseNot gradedqualityNot gradedmaintenanceEnables AI assistants to securely access Epic Healthcare Systems patient data through FHIR R4 API integration. Provides tools for searching patients, retrieving clinical summaries, vital signs, medications, and generating healthcare reports with HIPAA-compliant OAuth 2.0 authentication.-
- FlicenseNot gradedqualityDmaintenanceEnables LLMs to interact with clinical patient records using tools for document ingestion, structured conversion, patient profiling, record listing, search, and secure Q&A over patient documentation.-
- FlicenseNot gradedqualityCmaintenanceAn MCP server that enables LLMs to securely query synthetic clinical data through validated, scoped tools (patient summaries, conditions, medications, lab trends, encounters) while maintaining audit logs and access controls.-
- AlicenseNot gradedqualityCmaintenanceEnables LLM agents to query de-identified FHIR-shaped hospital data through audited, read-only tools for patients, encounters, conditions, observations, medications, and interaction checks, while any medication write stays a draft that a clinician must confirm out-of-band.MIT