医疗数据上下文协议服务器

一个开源的模型上下文协议(MCP)服务器,用于连接AWS HealthLake数据源并提供结构化的临床模型上下文包。

  • by anandkiran2007
  • Python
  • 本地部署
  • 更新于
在 GitHub 查看 anandkiran2007/ahl-mcp-server

使用说明

🏥 AWS HealthLake的MCP服务器(模拟)

这个项目是一个 开源模型上下文协议(MCP)服务器 它连接到(模拟的)AWS HealthLake数据源,并为临床模型提供结构化、标准化的上下文包。

✅ 特性

  • 模拟AWS HealthLake API(基于kubectl)
  • 根据MCP规范进行上下文绑定(kubectl+NLP)
  • 模型注册和定制的上下文交付
  • 模拟模型调用端点
  • 审核日志记录
  • 可选的 USE_AWS 未来AWS集成的标志

🚀 快速开始

1.克隆或下载

unzip mcp-server.zip
cd ahl-mcp-server

2.安装Python依赖项

python3 -m venv venv
source venv/bin/activate        # On Windows: venv\Scripts\activate
pip install -r requirements.txt

3.本地运行(模拟模式)

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