🏥 AWS HealthLake的MCP服务器(模拟)
这个项目是一个 开源模型上下文协议(MCP)服务器 它连接到(模拟的)AWS HealthLake数据源,并为临床模型提供结构化、标准化的上下文包。
✅ 特性
- 模拟AWS HealthLake API(基于kubectl)
- 根据MCP规范进行上下文绑定(kubectl+NLP)
- 模型注册和定制的上下文交付
- 模拟模型调用端点
- 审核日志记录
- 可选的
USE_AWS未来AWS集成的标志
______________________________________________________________________
🚀 快速开始
1.克隆或下载
unzip mcp-server.zip
cd ahl-mcp-server2.安装Python依赖项
python3 -m venv venv
source venv/bin/activate # On Windows: venv\Scripts\activate
pip install -r requirements.txt3.本地运行(模拟模式)
uvicorn app.main:app --reload访问: http://localhost:8000/docs
______________________________________________________________________
🔁 端点
📦 MCP端点
| 端点 | 方法 | 描述 |
|---|---|---|
/context/{patient_id} | GET | 获取上下文包 |
/models/register | POST | 注册型号信息 |
/models/{model_id}/context/{patient_id} | GET | 定制上下文 |
/model/invoke/{model_id}?patient_id=... | POST | 模拟模型预测 |
🧪 模拟HealthLake端点
| 端点 | 方法 | 描述 |
|---|---|---|
/ahl/Patient | POST | 创建患者 |
/ahl/Patient/{id} | GET | 耐心等待 |
/ahl/Condition?patient=... | GET | 获取条件 |
/ahl/MedicationRequest?patient=... | 获取 | 获取药物 |
/ahl/Observation?patient=... | 获取 | 获取实验室 |
/ahl/mock/add_* 添加模拟数据(condition/with/obs)。 |
______________________________________________________________________
⚙️ 在模拟模式和AWS模式之间切换
默认情况下,应用程序在 模拟模式.
为未来的AWS集成做准备:
export USE_AWS=true注意:AWS模式尚未实现,但已准备好集成。
______________________________________________________________________
🧪 运行测试
pytest tests/______________________________________________________________________
📂 文件夹结构
app/
├── api/ # API endpoints
├── core/ # Config and logging
├── fhir/ # Placeholder for FHIR connector
├── models/ # Pydantic models
├── nlp/ # NLP mock enhancer
├── services/ # Context resolver, policy logic
├── main.py # FastAPI entry
infra/
tests/ # Test cases
schemas/ # MCP JSON schema
.env
requirements.txt______________________________________________________________________
📜 许可证
MIT许可证
______________________________________________________________________
🧠 即将推出
- AWS HealthLake集成(
boto3) - 亚马逊Comprehend医疗/基岩模型
- Dockerfile+ECS部署
- 实时队列搜索
- 基于QUIC认证的SMART
