紧急医疗中心
急救医疗实时匹配MCP服务器-基于国家中央医疗院(NEMC)急救医疗信息API
    
⚠️ 实验性发布(Experimental Release) 这个工具 决策辅助实验项目是。 请不要将其用作实际急救患者转运决定的单独依据。 匹配结果依赖于NEMC综合状况板的数据质量,可能会因医院输入的自由文本消息的解析限制而出现误检(false positive/negative)。 实际上,辅助119情况室和医护人员判断的 参考资料只使用,发现的问题 请向举报。一起改善的测试项目。
自然语言 “现在可以收容这个患者的急诊室” 允许您查找的MCP服务器。将NEMC综合状况板中的实时可用病床、设备可用性和28种重症疾病可接受信息集成到一个匹配引擎中。
为什么要做
急诊患者找不到可以接受的医院,辗转于多家医院,错过黄金时间的所谓 “急诊室滴溜溜” 问题是韩国急救医疗体系的长期课题。119情况室和急救人员可以通过综合情况板确认医院信息,但缺乏实时自动匹配符合患者具体条件(年龄、体重、在胎周数、必要手术)的医院的工具。
该MCP自动对照患者条件和医院的实时能力,在数秒内找到可匹配的急诊室。如果主区域中没有候选区域,将自动扩展到相邻广域市道路进行导航。同时显示匹配失败的原因(不可接受/未提供信息/未满足条件),以可视化数据空白本身。
v0.2验证说明:我们使用实际的NEMC API测试了各种情况(早产孕妇、急性心肌梗塞、中风、重症烧伤、外伤中心),以验证匹配逻辑和消息解析器。特别是医院输入的自由文本格式(例如:1500g 이상, 30주 이상,34W 2Kg 이상),集中在与患者条件进行准确对照的部分。有关详细信息,请访问 更改日志.md 参考。
主要功能
- 精确匹配:NEMC API的70+字段(
hv*,MKioskTy*)按照使用指南中的说明进行映射 - 解析消息:
MKioskTy15Msg将相同的自由文本限制条件(周数、体重、年龄)解析为正规格式,与患者条件自动对照(支持韩文、英文单位混用) - 自动扩展:如果第一次区域匹配为0,则逐步扩展到相邻广域图→相邻邻域。
- 显示新鲜度:
hvidate输入标准数据后的经过时间以分钟为单位进行标记 - 错误跟踪:在结果中明确指出自动扩展期间发生的API调用失败(无静音)
- STDIO+HTTP:本地Claude Desktop和远程部署(fly.io,Docker)都支持一个代码
- 无状态HTTP:无需会话管理,按需创建服务器实例,操作简单、横向扩展自由
交付工具
find_emergency_room
根据患者条件和所需能力匹配急诊室。
输入:
stage1(必需):广域视图(例如:"대구광역시")stage2:市郡区(可选)categories:必要的重症疾病接受类别排列。28种选择或复数
- 示例: ["nicu_preemie", "obgyn_delivery", "obgyn_surgery"] -早产孕妇 - 示例: ["mi_reperfusion"] -急性心肌梗塞 - 示例: ["stroke_reperfusion", "sah_surgery"] -中风
required_beds:所需病床字段名和最小数量(例如:{"hv42": 1}=1个分娩室)required_equipment:所需设备(ct,mri,ecmo,incubator,ventilator_neonatal等)gestational_weeks:孕妇在胎周数(用于检查低体重新生儿限制)birth_weight_grams:新生儿出生体重patient_lat,patient_lng:患者位置(用于计算距离)max_radius_km:导航最大半径auto_expand:匹配失败时自动扩展邻域(默认)true)max_results:返回计数(默认为10)
输出:匹配成功/失败的医院列表,每个医院的实时状态、距离、满足/不满足的原因
get_hospital_detail
查询特定急救机构的详细信息。
输入:
hpid(必需):急救机构代码(例如:"A1300002"=庆北大学医院)
输出:地址、联系方式、实时可用病床、设备可用、28种可接受性、限制条件
快速入门-远程端点(无需安装)🌐
无需单独安装,即可在MCP客户机上注册公共端点。 无需安装Node.js、构建和git clone做。
Claude桌面设置 (claude_desktop_config.json):
{
"mcpServers": {
"emergency-mcp": {
"url": "https://emergency-mcp.fly.dev/mcp",
"headers": {
"x-nemc-api-key": "여기에_본인_NEMC_인증키_입력"
}
}
}
}⚠️ 特定于用户的密钥策略:此远程端点 不共享操作员的NEMC密钥。 每个用户 公共数据门户以本人名义免费获得的认证密钥 x-nemc-api-key 必须直接传递到标题。这是(1)使用跟踪和责任分离,(2)公平分配每日配额(开发帐户1000次/天),(3)安全策略。密钥发放方法 (需要5分钟,自动批准):
- 公共数据门户 连接→会员注册/登录
- 点击“申请使用”→简单填写使用目的→申请
- 我的页面→开放API→开发帐户颁发的 常规验证密钥(Decoding) 复制
- 上述配置文件中的
여기에_본인_NEMC_인증키_입력粘贴到位置
检查服务器状态:
- 健康检查:https://emergency-mcp.fly.dev/health
- MCP端点:https://emergency-mcp.fly.dev/mcp
服务器不响应时:fly.io免费套餐如果没有流量,将进入自动滑动模式。第一次请求可能需要5~10秒的冷启动。从第二个请求开始立即响应。
本地安装(自行操作)
如果您想直接在自己的计算机上运行,而不是远程终端:
前提条件
- Node.js 18+
- NEMC API密钥 (如上发放)
安装+构建
git clone https://github.com/gongdly/Emergency_MCP.git
cd Emergency_MCP
npm install
npm run buildClaude Desktop设置(本地STDIO)
{
"mcpServers": {
"emergency-mcp": {
"command": "node",
"args": ["C:\\절대경로\\Emergency_MCP\\dist\\index.js"],
"env": {
"NEMC_API_KEY": "여기에_본인_NEMC_키"
}
}
}
}| 客户端 | 配置文件路径 |
|---|---|
| 克劳德桌面(macOS) | ~/Library/Application Support/Claude/claude_desktop_config.json |
| 克劳德桌面(Windows) | %APPDATA%\Claude\claude_desktop_config.json |
| 光标 | .cursor/mcp.json |
| 继续 | ~/.continue/config.json |
保存设置后重新启动客户端将加载该工具。
使用示例
在Claude Desktop中用自然语言调用:
사용자: "OO지역에 28주 조산 임신부가 있어. NICU와 분만실이 필요해.
수용 가능한 응급실 찾아줘."
Claude: (find_emergency_room 호출)
stage1: "OO광역시"
stage2: "OO구"
categories: ["nicu_preemie", "obgyn_delivery", "obgyn_surgery"]
required_beds: { "hv42": 1 } # 분만실
gestational_weeks: 28
auto_expand: true
→ 1차 지역 조회 → 매칭 실패 시 인접 광역시도 자동 확장
→ "1순위: ○○병원 (XXkm, 응급실 ☎ XXX-XXXX)..."사용자: "A1300002 병원 상세 정보 알려줘"
Claude: (get_hospital_detail 호출)
→ 해당 병원의 실시간 가용 병상, 장비, 수용가능 현황 반환docker/自行部署
docker build -t emergency-mcp .
docker run -e NEMC_API_KEY=your_key -p 3000:3000 emergency-mcpMCP端点: http://localhost:3000/mcp
fly.io部署
fly apps create emergency-mcp-yourname
# fly.toml의 app 이름 수정
fly deploy部署后 https://emergency-mcp-yourname.fly.dev/mcp在MCP客户机上注册。
环境变量
| 变量 | 必需 | 默认值 | 说明 |
|---|---|---|---|
NEMC_API_KEY | 本地操作时--NEMC急救医疗信息API认证密钥。远程部署时标头(x-nemc-api-key)替换 | ||
PORT | ✕ | 3000 | HTTP服务器端口 |
CORS_ORIGIN | ✕ | * | 允许CORS的来源 |
RATE_LIMIT_RPM | ✕ | 60 | 每IP分钟请求限制(0=禁用) |
MCP_HTTP | ✕ | - | 1以反面HTTP模式启动(使用Dockerfile) |
数据源
这个工具 国立中央医疗院急救医疗信息查询服务 仅使用公共数据API。
- 急诊室实时查询可用病床信息 -70+现场实时病床、设备可用情况
- 查询重症患者可接受信息 -28种重症疾病能否实时接受+年龄、体重限制
- 查询急救医疗机构基本信息 -地址、坐标、联系方式、诊疗科目、静态设施拥有情况
3个API响应 hpid(急救医疗机构代码)连接到一个 HospitalSnapshot将其正规化后进行匹配。
注意事项
- 用于辅助医疗决策:此工具的输出为最终进给决策的 参考资料不替换法律责任。实际移送决定取决于119情况室和医护人员的判断。
- 数据新鲜度:NEMC API依赖医院直接输入的数据。
hvidate字段显示最后一次输入的时间,但可能与实际现场情况有所差异。 - 自由文本解析限制:医院的限制条件消息不是标准格式。本工具将常规模式(以周数、体重、kg/g为单位)解析为正则表达式,但不能完全处理所有标记。可疑的匹配请一定要直接去医院确认。
- API流量限制:公共数据门户开发帐户每天限制1000个。扩大运营时,请在注册使用案例后申请增设流量。
许可证
麻省理工学院-- 许可证 参考
感谢
贡献
欢迎提供问题报告、错误报告和新的匹配方案建议。 请留言。
