SuperAPI AI 工具集

fhir-mcp-server

FHIR MCP Server 是一个基于 Model Context Protocol (MCP) 的服务器,用于连接 FHIR(Fast Healthcare Interoperability Resources)医疗数据标准后端。它提供标准化接口,使 LLM 智能体(如 Claude Desktop)能够通过自然语言提示对 FHIR 资源执行完整的 CRUD 操作,并支持文档处理、语义搜索、LOINC 术语查询等功能。

访问官网

工具介绍

FHIR MCP Server 是一个实现完整 Model Context Protocol (MCP) 的服务器,旨在促进基于 LLM 的智能体与符合 FHIR 标准的后端之间的无缝交互。它提供标准化接口,通过一套全面的工具支持对 FHIR 资源的完整 CRUD 操作,可从 MCP 兼容客户端(如 Claude Desktop)访问,允许用户使用自然语言提示查询和操作临床数据。

主要能力:

  • 基于 FastMCP 框架构建,提供高性能 MCP 服务器能力。
  • 对主要 FHIR 资源提供完整 CRUD 操作。
  • 智能文档处理:支持 TXT、CSV、JSON 和 PDF 等多种格式的 AI 驱动文档摄取和分块。
  • 语义搜索:通过向量嵌入(经由 Pinecone)进行高级文档搜索。
  • RAG 就绪:具备上下文感知文档查询的检索增强生成管道。
  • 安全认证:OAuth2 令牌管理,用于 FHIR API 集成。
  • LOINC 集成:标准化医学术语查询和验证。
  • 容器就绪:支持 Docker,便于部署和扩展。
  • 可配置:提供基于 .env 的丰富配置选项。

架构: 服务器采用模块化架构,包括:

  • MCP 工具:针对选定 FHIR 资源类型的专用工具,其他资源由通用工具处理。
  • FHIR 服务器客户端:处理 FHIR API 通信和认证(OAuth2 及计划中的其他方式)。
  • RAG 服务:基于嵌入的文档处理和语义检索。
  • 向量存储:Pinecone 集成,用于基于相似度的搜索。
  • LOINC 客户端:与 LOINC API 集成,用于术语解析和验证。

使用方式:

  1. 环境准备:需要 Docker(推荐)或 uv 进行依赖管理;FHIR 服务器账户(如 Medplum);Pinecone API 密钥(文档搜索必需);LOINC 账户(可选)。
  2. 安装与设置:
    • 克隆仓库:git clone https://github.com/the-momentum/fhir-mcp-server && cd fhir-mcp-server
    • 设置环境变量:cp config/.env.example config/.env,并编辑 config/.env 填入凭据和配置。
    • 安装依赖:Docker 方式运行 make build;uv 方式运行 make uv。
    • 更新 MCP 客户端配置(如 Claude Desktop 的 claude_desktop_config.json)。
    • 重启 MCP 客户端以应用更改。

Docker 配置示例: { "mcpServers": { "docker-mcp-server": { "command": "docker", "args": [ "run", "-i", "--rm", "--init", "--name", "fhir-mcp-server", "--mount", "type=bind,source=<your-project-path>/app,target=/root_project/app", "--mount", "type=bind,source=<your-project-path>/config/.env,target=/root_project/config/.env", "-e", "TRANSPORT_MODE=stdio", "mcp-server:latest" ] } } }

uv 配置示例: { "mcpServers": { "uv-mcp-server": { "command": "uv", "args": ["run", "--frozen", "--directory", "<your-project-path>", "start"], "env": { "PATH": "<uv-bin-folder-path>" } } } }

安全与加密: 内置加密基础设施保护敏感配置值。敏感字段如 API 密钥和密码在运行时自动加密和解密。可使用自动化设置脚本,或手动生成主密钥并加密敏感值。自动加密的字段包括:FHIR_SERVER_CLIENT_SECRET、LOINC_PASSWORD、PINECONE_API_KEY。

工具集:

  • FHIR 资源工具:支持所有 FHIR 资源的创建、读取、更新、删除操作,并强制执行 FHIR 资源验证,防止数据损坏,提供全面的错误响应。
  • 文档管理工具:支持 TXT、PDF、CSV、JSON 格式的文档摄取,以及基于向量嵌入的语义搜索。
  • LOINC 术语工具:标准化医学术语查询和验证。

适用场景:

  • 通过自然语言查询患者病史、诊断、用药、就诊等信息。
  • 生成和部署测试数据以验证 FHIR 服务器功能。
  • 医疗数据文档的语义搜索和 RAG 应用。

限制:

  • 文档搜索功能需要 Pinecone API 密钥,否则语义检索不可用。
  • LOINC 账户为可选,但缺少时系统依赖静态或语言模型推断的代码,可能过时或不精确。
  • 项目未针对测试数据生成场景设计,演示中显示可能无法完美工作,但 LLM 可通过试错纠正错误选择。
  • 未来计划包括扩展认证选项、更多文件格式支持、表格感知文档分块、扫描文档 OCR 支持。

许可证:MIT License。