项目简介

这是一个基于 Model Context Protocol (MCP) 构建的服务器,专门用于通过标准化的方式让大型语言模型 (LLM) 客户端访问 FHIR (Fast Healthcare Interoperability Resources) 医疗数据。它可以连接到一个FHIR服务器,并提供一系列工具供LLM调用,从而实现通过自然语言或结构化指令查询患者信息、药物请求、观察数据等。

主要功能点

该MCP服务器通过定义以下核心工具来简化对FHIR数据的访问:

  • 通过ID查找患者: 根据唯一的患者标识符获取详细的患者信息。
  • 通过患者ID查找药物请求: 获取与特定患者相关的所有药物请求记录。
  • 通过患者ID查找观察记录: 获取特定患者的观察数据,如生命体征或实验室结果。
  • 通过姓名查找患者: 根据患者的姓和名搜索并返回匹配的患者列表。

这些工具抽象了底层的FHIR API调用,使LLM客户端能够方便地获取医疗数据。

安装步骤

要运行此MCP服务器,请按照以下步骤操作:

  1. 克隆仓库:
    git clone https://github.com/micklynch/hapi-mcp.git
    cd hapi-mcp
  2. 创建并激活虚拟环境:
    python3 -m venv venv
    source venv/bin/activate
    (在 Windows 上使用 'venv\Scripts\activate')
  3. 安装依赖:
    pip install -r requirements.txt

服务器配置

MCP服务器需要由一个支持MCP协议的客户端(称为“MCP主机”,例如特定的LLM应用、开发环境或Agent框架)来启动和管理。您需要将此服务器的启动信息添加到您的MCP主机的配置中。

通常,这涉及编辑一个JSON配置文件,在 '"mcpServers"' 部分添加一个新的配置项。以下是您需要添加的配置示例(请根据您的实际文件路径进行修改):

"hapi-mcp-server": {
  "command": "/path/to/server/hapi-mcp/venv/bin/python",
  "args": [
    "/path/to/server/hapi-mcp/hapi-mcp-server.py"
  ],
  "env": {
    "HAPI_MCP_SERVER_HOST": "https://hapi.fhir.org/baseR4"
  },
  "description": "Provides tools to access patient FHIR resources."
}
  • '"hapi-mcp-server"': 这是您为这个MCP服务器定义的一个内部名称,供MCP主机内部识别使用。
  • '"command"': 指定启动服务器的可执行文件路径。这里是虚拟环境中的 Python 解释器。请替换 '/path/to/server/hapi-mcp/' 为您的项目实际路径。
  • '"args"': 传递给 'command' 的参数列表。这里是服务器主脚本的路径。请替换 '/path/to/server/hapi-mcp/' 为您的项目实际路径。
  • '"env"': 启动服务器进程时需要设置的环境变量。'HAPI_MCP_SERVER_HOST' 指定了要连接的 FHIR 服务器地址。
  • '"description"': 对该服务器功能的简要描述。

添加配置后,请重启您的MCP主机以加载新的服务器。

基本使用方法

一旦在您的MCP主机中配置并启动了 'hapi-mcp-server',您的LLM客户端就应该能够识别并调用该服务器提供的工具。具体如何调用取决于您的MCP主机界面和功能。例如,您可能可以通过自然语言向LLM提问,如“请帮我查找ID为 123 的患者的药物请求”,MCP主机内部会解析您的请求,并通过MCP协议调用 'find_medication_requests_by_patient_id' 工具,将ID '123' 作为参数传递。服务器执行工具并返回结果后,MCP主机再将结果呈现给您。

信息

分类

数据库与文件