项目简介

google-cloud-healthcare-api-mcp 是一个基于 Model Context Protocol (MCP) 构建的服务器,旨在为大型语言模型 (LLM) 客户端提供医疗健康领域的上下文信息和工具。它连接 Google Cloud Healthcare API (FHIR) 以及 PubMed、ClinicalTrials.gov 等公共医疗研究 API,使 LLM 能够访问和利用这些资源进行更智能的医疗健康应用。

主要功能点

  • FHIR 数据访问: 通过集成 Google Cloud Healthcare API,提供对电子病历 (EHR) 中 FHIR 数据的访问能力,包括患者信息、观察结果、病历、药物、诊断、过敏史等。
  • 医学研究工具: 集成 PubMed、ClinicalTrials.gov 和 FDA API,提供医学文献检索、临床试验查找和药物信息查询功能,扩展 LLM 在医学研究领域的应用。
  • 工具注册与调用: 注册了一系列预定义的工具,允许 LLM 客户端通过 MCP 协议调用这些工具,执行数据查询和信息检索操作。
  • Prompt 模板: 预置了多种临床场景下的 Prompt 模板,支持根据患者数据和医疗信息生成定制化的 Prompt,优化 LLM 的交互体验。
  • 身份验证与安全: 使用 Firebase Auth 进行身份验证,确保对 Google Cloud Healthcare API 的安全访问。
  • 本地部署与 Smithery 安装: 支持本地 Docker 部署和通过 Smithery 平台一键安装,方便用户快速搭建和使用。

安装步骤

  1. 克隆仓库

    git clone https://github.com/Kartha-AI/google-cloud-healthcare-api-mcp.git
    cd google-cloud-healthcare-api-mcp
  2. 安装依赖

    npm install
  3. 构建项目

    npm run build
  4. 安装 MCP Inspector (可选,用于本地测试)

    npm install -g @modelcontextprotocol/inspector

服务器配置

为了让 MCP 客户端(例如 Claude)连接到此 MCP 服务器,您需要配置客户端的 'mcpServers' 设置。以下是 Claude Desktop 客户端的配置示例,您需要根据实际情况修改 'command' 和 'env' 中的路径和环境变量:

{
  "mcpServers": {
    "google-cloud-healthcare-api-mcp": {
      "command": "node",
      "args": [
        "/Users/your-username/google-cloud-healthcare-api-mcp/build/index.js"  //  请替换为您的项目 build/index.js 文件的实际路径
      ],
      "env": {
          "FIREBASE_API_KEY":"XXXXXXXXX",           // 您的 Firebase API Key
          "FIREBASE_AUTH_DOMAIN":"XXXXXXXX",        // 您的 Firebase Auth Domain
          "FIREBASE_PROJECT_ID":"XXXXXXX",         // 您的 Firebase Project ID
          "FIREBASE_STORAGE_BUCKET":"XXXXXXXXX",    // 您的 Firebase Storage Bucket
          "FIREBASE_MESSAGING_SENDER_ID":"XXXXXXX", // 您的 Firebase Messaging Sender ID
          "FIREBASE_APP_ID":"XXXXXXXXX",            // 您的 Firebase App ID
          "FIREBASE_MEASUREMENT_ID":"XXXXXXXX",     // 您的 Firebase Measurement ID
          "FIREBASE_AUTH_CALLBACK_PORT":"3456",     //  Firebase Auth 回调端口,默认 3456
          "FHIR_BASE_URL":"{gchapi-fhir-gateway-host}/fhir", // 您的 Google Cloud Healthcare API FHIR Gateway Base URL,请替换为实际地址
          "PUBMED_API_KEY":"your_pubmed_api_key",     // 您的 PubMed API Key (如需使用 PubMed 工具)
          "CLINICAL_TRIALS_API_KEY":"your_trials_api_key", // 您的 Clinical Trials API Key (如需使用 Clinical Trials 工具)
          "FDA_API_KEY":"your_fda_api_key"            // 您的 FDA API Key (如需使用 FDA 工具)
      }
    }
  }
}

注意:

  • 请将 'command' 和 'args' 中的路径替换为 'build/index.js' 文件在您本地文件系统中的实际路径。
  • 'env' 部分列出了服务器运行所需的必需环境变量,您需要根据您的 Firebase 项目和 API 密钥信息进行配置。
  • 'FHIR_BASE_URL' 需要指向您的 Google Cloud Healthcare API FHIR Gateway 的地址。
  • 'PUBMED_API_KEY'、'CLINICAL_TRIALS_API_KEY' 和 'FDA_API_KEY' 是可选的,仅当您需要使用相应的医学研究工具时才需要配置。

基本使用方法

  1. 启动 MCP 服务器

    如果您使用 MCP Inspector 进行本地测试,可以运行:

    mcp-inspector  build/index.js

    然后访问 'http://localhost:5173',并在 Inspector 界面中设置所需的环境变量。

    对于 Claude 等 MCP 客户端,服务器会在客户端启动并尝试连接时自动运行 (如果配置正确)。

  2. 在 MCP 客户端中使用工具和 Prompt

    在客户端中,您应该能够看到此 MCP 服务器提供的工具列表 (例如 'find_patient', 'get_patient_observations', 'search-pubmed' 等) 和 Prompt 模板 (例如 'summarize_patient', 'medication_review' 等)。

    您可以根据工具和 Prompt 的描述,结合 LLM 的对话能力,利用这些工具和 Prompt 获取医疗健康信息,例如:

    • 使用 'find_patient' 工具查找特定患者的信息。
    • 使用 'get_patient_observations' 工具获取患者的 vital signs 或 lab results。
    • 使用 'search-pubmed' 工具检索医学文献。
    • 使用 'summarize_patient' Prompt 模板生成患者健康状况总结。

    具体的工具和 Prompt 使用方法,请参考仓库 README.md 文件和工具/Prompt 的描述信息。

信息

分类

网页与API