使用说明

项目简介

FHIR MCP Server 是一个应用后端,它实现了 Model Context Protocol (MCP),旨在为大型语言模型 (LLM) 客户端提供对医疗健康数据(基于 FHIR 标准)的标准化访问和分析能力。该服务器允许 LLM 应用安全、可扩展地获取 FHIR 数据,并利用 Claude AI 进行智能分析,从而构建更强大的医疗健康应用。

主要功能点

  • FHIR 数据访问: 连接和管理多个 FHIR 服务器配置,支持读取、搜索 FHIR 资源和获取 CapabilityStatement。
  • Claude AI 集成: 集成 Claude AI 模型,提供自然语言查询生成 FHIR 搜索参数、分析 FHIR 资源和搜索结果、以及根据提示生成文本回复等功能。
  • 可配置的 FHIR 服务器: 允许用户配置多个 FHIR 服务器连接,包括基础 URL 和多种认证方式(无认证、Basic Auth、Token Auth)。
  • 请求日志记录: 详细记录所有 FHIR API 请求,方便问题追踪和性能分析。
  • API 状态监控: 提供 API 状态接口,用于监控服务器和 FHIR 服务器的连接状态。
  • 用户界面: 提供简单的 Web 界面,用于配置 FHIR 服务器、查看 API 文档和使用 Claude AI 交互功能。

安装步骤

  1. 克隆仓库:

    git clone https://github.com/aks129/ModelContextProtocolFHIR.git
    cd ModelContextProtocolFHIR
  2. 创建并激活 Python 虚拟环境 (推荐):

    python3 -m venv venv
    source venv/bin/activate  # 或 venv\Scripts\activate for Windows
  3. 安装依赖:

    pip install -r requirements.txt
  4. 配置环境变量:

    • 'DATABASE_URL': 设置数据库连接 URL。例如,使用 SQLite (开发环境): 'DATABASE_URL=sqlite:///site.db'。或者使用 PostgreSQL, MySQL 等。
    • 'SESSION_SECRET': 设置 Flask Session 的密钥,用于保护 session 数据,可以设置为任意字符串。
    • 'ANTHROPIC_API_KEY': 设置 Anthropic Claude API 密钥。请确保已拥有 Claude API 访问权限并在 Anthropic 官网获取 API 密钥。

    可以将这些环境变量添加到 '.env' 文件中,或者直接在终端中export。

  5. 初始化数据库: 首次运行程序会自动创建数据库表。

服务器配置 (MCP 客户端)

以下是 MCP 客户端连接 FHIR MCP Server 的示例配置 (JSON 格式)。MCP 客户端需要根据此配置信息才能与服务器建立连接并调用其功能。

{
  "serverName": "FHIR_MCP_Server",
  "command": "python",
  "args": [
    "main.py"
  ],
  "description": "FHIR Model Context Protocol Server",
  "capabilities": [
    "resources",
    "tools",
    "prompts"
  ],
  "baseUrl": "http://127.0.0.1:5000"
}

参数注释:

  • 'serverName': MCP 服务器的名称,可以自定义,用于在客户端标识不同的服务器连接。
  • 'command': 启动 MCP 服务器的命令。这里使用 'python' 命令。
  • 'args': 启动命令的参数,这里指定执行 'main.py' 文件。
  • 'description': 对该服务器的简要描述,方便用户理解其用途。
  • 'capabilities': 声明服务器提供的 MCP 能力,包括 'resources' (资源访问)、'tools' (工具调用) 和 'prompts' (Prompt 模板)。此服务器主要提供资源和工具能力。
  • 'baseUrl': MCP 服务器的根 URL 地址。如果服务器运行在本地,默认地址为 'http://127.0.0.1:5000'。请根据实际部署情况修改。

基本使用方法

  1. 启动服务器: 在项目根目录下运行:

    python main.py

    服务器默认运行在 'http://127.0.0.1:5000'。

  2. 配置 FHIR 服务器连接:

    • 访问 'http://127.0.0.1:5000/settings' 进入设置页面。
    • 填写 FHIR 服务器的基础 URL、认证信息(如果需要)和配置名称。
    • 可以设置某个配置为默认配置。
    • 点击 "Save Settings" 保存配置。
  3. 使用 FHIR Explorer:

    • 访问 'http://127.0.0.1:5000/fhir-explorer' 进入 FHIR 资源浏览器页面。
    • 可以浏览 FHIR 服务器的 CapabilityStatement,并进行资源搜索和读取操作。
  4. 使用 Claude AI 交互界面:

    • 访问 'http://127.0.0.1:5000/claude' 进入 Claude AI 交互界面。
    • 在该界面可以使用自然语言查询 FHIR 数据、分析 FHIR 资源和搜索结果,以及进行文本生成等操作。
  5. 查看 API 文档:

    • 访问 'http://127.0.0.1:5000/documentation' 查看 API 文档,了解所有可用的 API 接口。
  6. 查看请求日志:

    • 访问 'http://127.0.0.1:5000/api/logs' 或 'http://127.0.0.1:5000/logs' (通过界面) 查看 API 请求日志。

注意:

  • 首次使用或更改 FHIR 服务器配置后,建议重启服务器以确保配置生效。
  • 请确保已正确配置 'ANTHROPIC_API_KEY' 环境变量,Claude AI 功能才能正常使用。
  • 本服务器主要用于演示和开发目的,生产环境部署请考虑安全性、性能优化和高可用性等问题。

信息

分类

AI与计算