项目简介
这是一个使用 Node.js 和 MCP SDK 构建的示例 MCP 服务器实现。其主要目的是展示如何将 Model Context Protocol (MCP) 与 FHIR (Fast Healthcare Interoperability Resources) 服务器集成,允许 LLM 客户端通过标准化的 MCP 工具调用方式来创建和读取 FHIR 资源。
主要功能点
该服务器实现了两个核心工具:
- 创建 FHIR 资源 (create-fhir-resource): 允许创建 Patient, Appointment 等类型的 FHIR 资源。需要提供资源类型(如 'Patient')和资源的 JSON 数据体。
- 读取 FHIR 资源 (read-fhir-resource): 允许从 FHIR 服务器读取现有资源。需要提供资源类型(如 'Patient')和该资源的 ID。
服务器通过 Server-Sent Events (SSE) 传输协议与 MCP 客户端进行通信。
安装步骤
这是一个标准的 Node.js 项目。请确保您已安装 Node.js 和 npm。
- 克隆仓库到您的本地机器。
- 进入项目目录。
- 安装项目依赖:
npm install - 配置环境变量:该服务器需要连接到一个 FHIR 服务器,并且可能需要认证。请设置以下环境变量:
- 'FHIR_SERVER_URL': 您的 FHIR 服务器的基础 URL (例如: 'http://your-fhir-server.com/R4/')。
- 'FHIR_AUTH_TOKEN': 连接 FHIR 服务器所需的认证令牌(例如 Bearer Token)。
- 'PORT': MCP 服务器监听的端口号(例如 '3001')。
您可以创建一个 '.env' 文件在项目根目录来管理这些环境变量。
- 启动服务器:
npm start
服务器将启动并监听指定的端口。
服务器配置 (供 MCP 客户端使用)
MCP 客户端需要知道如何启动并连接到此服务器进程。通常,这在客户端的配置文件中进行设置。您需要为客户端提供以下信息:
- 服务器名称和版本: 服务器在启动时声明的名称是 '"mcp-fhir-server"',版本是 '"1.0.0"'。
- 启动命令: 启动服务器的命令是 'npm start'。这个命令需要在正确的项目目录下执行。
- 环境变量: 启动命令需要依赖 'FHIR_SERVER_URL' 和 'FHIR_AUTH_TOKEN' 这两个环境变量来知道连接哪个 FHIR 服务器以及如何认证。如果指定了 'PORT' 环境变量,服务器会监听该端口。
- 连接地址: 服务器启动后会监听本地主机 ('localhost') 的某个端口 ('process.env.PORT' 或默认 '3001')。MCP 客户端需要连接到 'http://localhost:PORT'。
- 传输协议: 服务器使用 SSE 传输协议。
在客户端的配置文件中,您通常会指定服务器的类型、启动命令 ('command')、启动时需要的环境变量 ('env') 以及服务器监听的地址 ('address') 和使用的传输协议 ('transport' 类型为 'sse')。
基本使用方法
一旦 MCP 客户端成功连接到服务器,LLM 可以通过调用服务器提供的工具来与 FHIR 服务器交互:
- 调用 'create-fhir-resource' 工具: 向工具提供 'resourceType' (字符串,如 "Patient") 和 'resourceBody' (字符串,包含资源的 JSON 数据)。
- 调用 'read-fhir-resource' 工具: 向工具提供 'resourceType' (字符串,如 "Patient") 和 'resourceID' (字符串,资源的唯一标识符)。
服务器会执行相应的 FHIR API 调用,并将结果或错误信息通过 MCP 响应返回给客户端。
信息
分类
网页与API