Skip to main content
Glama
akiani

Epic Patient API MCP Server

by akiani

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_procedures

    • Detail 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_details

    • Attachment tool: get_note_attachment

    • Search 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: openemr-mcp

Setup

  1. Install: uv pip install -e .

  2. 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

  3. Run: uv run python -m epic_mcp.server

Server runs on http://localhost:8000/sse

Usage Pattern

Two-tier access minimizes data transfer:

  1. 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"}]

  2. 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

  1. Run server: uv run python -m epic_mcp.server

  2. Edit ~/Library/Application Support/Claude/claude_desktop_config.json:

    {"mcpServers": {"epic-patient-api": {"url": "http://localhost:8000/sse"}}}
  3. Restart Claude Desktop

Available Patients

  • patient_001 - John Doe (58M) - Hypertension, Type 2 Diabetes

  • patient_002 - Jane Smith (32F) - Hypothyroidism, Pregnant

  • patient_003 - Robert Chen (56M) - Stage IV Colorectal Cancer

Maintenance

ActivityInactive
ResponsivenessSyncing

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Connectors

Related MCP Servers

  • -
    license
    Not graded
    quality
    Not graded
    maintenance
    Enables 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.
  • A
    license
    A
    quality
    C
    maintenance
    An 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.
    17
    MIT
  • F
    license
    Not graded
    quality
    C
    maintenance
    Enables AI agents to manage virtual clinic data including patients, visits, diagnoses, treatments, lab/radiology orders, and search medical literature and internal knowledge base.
  • F
    license
    Not graded
    quality
    B
    maintenance
    Enables 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.

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/akiani/mock-epic-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server