Token导航 LogoToken导航

MCP Server · AI代理

Epic Ehr MCP Server

一个全面的电子健康记录(EHR)系统,实现EPIC风格的工作流程,支持WebSocket和JWT认证,提供完整的医疗数据管理功能。

stdio官方级别未说明来源级核验工具 23
PythonAI代理工作流自动化

快速开始

作者 / 组织
pcjx8
提供方
pcjx8

工具数量

23

来源目录标注

资源数量

0

来源目录标注

提示词数量

0

来源目录标注

GitHub Star

2

仓库热度

收录来源

1 个

MCP World

选型结论

Epic Ehr MCP Server 属于AI代理类 MCP Server,公开资料标注 23 个工具,通过stdio 本地进程接入,客户端适配情况以官方文档为准,有可以直接复制的安装命令;接入前要先准备 访问 Token。

分类

AI代理

传输方式

stdio

认证方式

访问 Token

部署方式

公开资料未说明

安装与配置

安装命令

pip install -r requirements.txt

公开命令不是通用的启动方式,拼不出可靠配置示例;请在客户端 MCP 配置里按官方文档填写 command 和 args。

上手步骤

  1. 1

    准备运行环境

    stdio 服务在本地起进程,需要先装好 对应的运行时,再按安装命令拉取依赖。

  2. 2

    安装服务

    复制下面的安装命令执行;命令里带占位符的位置换成自己的密钥或路径。

  3. 3

    写入客户端配置

    在客户端的 MCP 配置里填启动命令和参数,保存后完全退出客户端再打开,让新配置生效。

  4. 4

    验证是否可用

    连接成功后客户端会列出 23 个工具,随便调一个只读工具确认能返回结果。

接入前确认

不要直接授予不必要的文件、网络或账号权限;先核对安装命令和配置内容。

详细介绍

EPIC型EHR MCP服务器

一个全面的电子健康记录(EHR)系统,实现了EPIC风格的工作流,支持WebSocket、JWT身份验证和完整的医疗数据管理。

🏥 概述

这是一个生产就绪的模型上下文协议(MCP)服务器,它模拟了一个类似于EPIC的完整EHR系统。它提供了20多种医疗保健工具,用于管理患者数据、预约、药物、实验室结果等。

非常适合:

  • 医疗AI代理开发
  • EHR集成测试
  • 临床工作流程模拟
  • 医学人工智能培训
  • TYPE/HL7原型设计
  • 医疗保健应用程序开发

✨ 特性

完整的EHR功能

  • 患者管理 -人口统计、搜索、保险
  • 临床文档 -病史、过敏史、SOAP记录、护理计划
  • 药物管理 -处方、续药、当前药物
  • 实验室和诊断 -实验室结果、订单、成像报告
  • 生命体征 -记录和历史
  • 预约 -日程安排、取消、状态跟踪
  • 疫苗接种 -疫苗记录
  • 提供商目录 -按专业搜索
  • 账单和保险 -索赔、指控

安全特性

  • 基于JWT令牌的身份验证 (行业标准)
  • 访问令牌(24小时到期)和刷新令牌(30天到期)
  • 令牌撤销(注销功能)
  • 基于角色的访问控制(医生、护士、患者、管理员)
  • 敏感操作的权限验证
  • 使用HS256算法进行安全令牌签名

技术特性

  • WebSocket+stdio传输
  • 20+MCP工具
  • 综合模拟数据
  • 基于会话的身份验证
  • EPIC式操作
  • 生产就绪架构

🚀 快速开始

安装

# Clone repository
git clone https://github.com/YOUR_USERNAME/epic-ehr-mcp-server.git
cd epic-ehr-mcp-server

# Install dependencies
pip install -r requirements.txt

运行服务器

# WebSocket mode (for remote connections)
python ehr_server.py --websocket

# Stdio mode (for local MCP clients like Kiro)
python ehr_server.py

测试

# Run test client
python test_client.py

📚 文档

🔐 认证

测试用户

用户名密码角色描述
史密斯医生医生123医生莎拉·史密斯医生(内科)
护士护士123护士护士约翰·琼斯
patientt_doepatient123patientJohn doe(患者MRN001)
admin_useradmin123admin系统管理员

示例用法

import asyncio
import websockets
import json

async def example():
    async with websockets.connect('ws://localhost:8766') as ws:
        # Authenticate
        auth_msg = {
            "jsonrpc": "2.0",
            "id": 1,
            "method": "tools/call",
            "params": {
                "name": "authenticate",
                "arguments": {
                    "username": "dr_smith",
                    "password": "doctor123"
                }
            }
        }
        await ws.send(json.dumps(auth_msg))
        response = await ws.recv()
        auth_data = json.loads(response)
        
        # Extract access token
        access_token = auth_data['result']['content'][0]['text']['access_token']
        
        # Get patient data
        patient_msg = {
            "jsonrpc": "2.0",
            "id": 2,
            "method": "tools/call",
            "params": {
                "name": "get_patient",
                "arguments": {
                    "access_token": access_token,
                    "mrn": "MRN001"
                }
            }
        }
        await ws.send(json.dumps(patient_msg))
        response = await ws.recv()
        print(response)

asyncio.run(example())

🛠️ 可用工具

认证

  • authenticate -登录并获取JWT代币
  • refresh_token -刷新过期的访问令牌
  • logout -撤销访问令牌

患者管理

  • get_patient -获取患者的人口统计信息
  • search_patients -寻找患者

病历

  • get_medical_history -获取病情和诊断
  • get_allergies -引起患者过敏
  • get_medications -获取当前药物
  • prescribe_medication -开新药

实验室和诊断

  • get_lab_results -获取实验室测试结果
  • order_lab_test -订购新的实验室测试
  • get_imaging_reports -获取成像报告

生命体征

  • get_vital_signs -获取生命体征病史
  • record_vital_signs -记录新的生命体征

预约

  • get_appointments -预约患者
  • schedule_appointment -安排新的预约
  • cancel_appointment -取消预约

临床文档

  • get_clinical_notes -获取临床记录
  • create_clinical_note -创建新笔记

其他

  • get_immunizations -获取免疫史
  • get_care_plan -获取患者护理计划
  • search_providers -搜索医疗服务提供者
  • get_billing_info -获取账单信息

🏗️ 建筑

Client (AI Agent, Web App, Mobile)
    ↓
WebSocket/Stdio Transport (JSON-RPC 2.0)
    ↓
JWT Authentication & Authorization
    ↓
MCP Server Core (Tool Registry)
    ↓
Business Logic Layer (20+ Tools)
    ↓
Data Layer (Mock Data / Database)

📦 项目结构

epic-ehr-server/
├── ehr_server.py              # Main MCP server
├── auth.py                    # JWT authentication
├── ehr_tools.py              # Tool implementations
├── mock_data.py              # Healthcare mock data
├── test_client.py            # Test client
├── requirements.txt          # Dependencies
├── README.md                 # This file
├── AUTHENTICATION.md         # Auth guide
├── DEPLOYMENT.md            # Deployment guide
├── SIMPLE_DEPLOYMENT.md     # VPS deployment
├── QUICKSTART.md            # Quick start
└── JWT_FEATURES.md          # JWT details

🚀 部署

快速部署(铁路)

  1. 推送到GitHub
  2. 将铁路连接到GitHub
  3. 铁路汽车部署
  4. 获取公共URL

VPS部署

看 简单_部署.md 获取分步指南。

云部署

看 部署.md AWS、Azure、谷歌云选项。

🔒 安全

  • 基于JWT令牌的身份验证
  • 基于角色的访问控制(RBAC)
  • 令牌过期和刷新
  • 安全密码散列(SHA-256)
  • HTTPS/WSS支持
  • 输入验证
  • 权限检查

🧪 测试

# Run complete workflow test
python test_client.py

# Run appointment booking test
python appointment_booking_example.py

# Run persistence test
python test_persistence.py

📊 模拟数据

服务器包括全面的模拟数据:

  • 2名患者有完整的病历
  • 病史、过敏史、药物
  • 实验室结果、生命体征、免疫接种
  • 预约、临床记录、护理计划
  • 2名提供者(医生)
  • 帐单记录

🤝 贡献

欢迎投稿!请随时提交拉取请求。

📄 许可证

此项目根据MIT许可证获得许可-请参阅 许可证 文件以获取详细信息。

🙏 致谢

📞 支持

对于问题、疑问或贡献:

  • 在GitHub上打开一个问题
  • 检查仓库中的文档
  • 查看示例文件

🗺️ 路线图

  • \[\]数据库持久性(PostgreSQL)
  • \[\]符合➤R4标准
  • \[\]HL7 v2消息支持
  • \[\]智能认证系统
  • \[\]实时通知
  • \[\]审核日志记录
  • \[\]多租户支持
  • \[\]GraphQL API

______________________________________________________________________

内置于❤️ 用于医疗AI开发

工具与能力

工具数量

23

资源数量

0

提示词数量

0

能力标签

电子健康记录Python本地部署医疗数据管理JWT认证WebSocket支持EPIC风格工作流

数量来自来源目录的标注,具体工具清单以官方文档为准。

典型使用场景

多步任务编排

把拆解、检索、执行串成一条链,模型按步骤调用工具。

长期上下文

把会话、笔记和知识放到外部存储,换个会话还能接着做。

接自有流程

把内部系统和模型连起来,让助手调用已有的工作流。

选择建议

值得选的地方

  • 工具数量 23 个,一次接入能覆盖的操作比单点工具更全。
  • 有现成的安装命令,不用自己找入口,照着跑就能起服务。
  • 公开说明写得比较完整,接入前能看清能力边界。

先想清楚的地方

  • stdio 方式要求本地装好 运行环境,换机器要重新装一遍。
  • 需要自备访问 Token,没有凭据没法直接试。
  • 第三方目录整理,版本更新和行为细节以官方仓库为准。

更适合

  • 需要在AI代理场景里让模型直接调用外部能力的人。
  • 想先快速试一下、能接受在本地跑服务的人。

不太适合

  • 完全不想在本地装环境的人。
  • 暂时拿不到访问 Token的人。
  • 需要厂商级 SLA 和技术支持的生产环境。

同类对比

5 个同类
MCP Server工具数传输方式安装命令收录来源最后核验
Epic Ehr MCP Server

MCP World · 本页

23stdio有1 个2026-05-17
Everything Claude Code

MCP World

0stdio有1 个2026-05-17
Filesystem 560c4363

MCP World

13未说明未标注2 个2026-05-17
Time 7365cb6d

MCP.so

2SSE有2 个2026-05-17
Server Everything (everything)

MCP World

11stdio有1 个2026-05-17

按同分类和工具数量挑出最接近的几条,字段以各自详情页为准。

常见问题

5 条

Epic Ehr MCP Server 怎么安装?

公开资料给出的安装命令是 pip install -r requirements.txt,运行环境为 未标注。装完后按客户端要求写进 MCP 配置,重启客户端生效。

Epic Ehr MCP Server 怎么在 Claude Desktop、Cursor 里配置?

它是stdio 本地进程,客户端配置里要写启动命令和参数,运行环境是 未标注;保存后完全退出客户端再打开,配置才会生效。

Epic Ehr MCP Server 收费吗?

本站只整理公开资料,不代收费用,也没有标注具体价格。是否收费取决于服务本身和背后的接口额度,正式使用前按官方说明确认。

Epic Ehr MCP Server 需要 API Key 吗?

公开资料标注的认证方式是访问 Token,也就是要先拿到凭据才能连上;凭据只填在自己本地的配置里,不要写进公开仓库。

Epic Ehr MCP Server 支持哪些客户端?

公开资料没有标注具体客户端;能配置本地 MCP 命令的客户端都能接,配置方式参照官方文档。

来源信息

继续浏览同类 MCP