Token导航 LogoToken导航

MCP Server · 运维云端

Fhir MCP

一个全面的FHIR服务器和工具包,用于医疗数据集成、患者护理计划和临床决策支持,提供多服务器连接和AI驱动的临床分析功能。

stdio官方级别未说明来源级核验工具 21
Python云端部署Docker

快速开始

作者 / 组织
Kushagra-Dutta
提供方
Kushagra-Dutta
运行时
Python

工具数量

21

来源目录标注

资源数量

0

来源目录标注

提示词数量

0

来源目录标注

GitHub Star

3

仓库热度

收录来源

4 个

MCP World

选型结论

Fhir MCP 属于运维云端类 MCP Server,公开资料标注 21 个工具,通过stdio 本地进程接入,客户端适配情况以官方文档为准,有可以直接复制的安装命令;接入前要先准备 OAuth 授权。

分类

运维云端

传输方式

stdio

认证方式

OAuth 授权

部署方式

公开资料未说明

安装与配置

安装命令

pip install -r requirements.txt

公开命令不是通用的启动方式,拼不出可靠配置示例;请在客户端 MCP 配置里按官方文档填写 command 和 args。

上手步骤

  1. 1

    准备运行环境

    stdio 服务在本地起进程,需要先装好 Python,再按安装命令拉取依赖。

  2. 2

    安装服务

    复制下面的安装命令执行;命令里带占位符的位置换成自己的密钥或路径。

  3. 3

    写入客户端配置

    在客户端的 MCP 配置里填启动命令和参数,保存后完全退出客户端再打开,让新配置生效。

  4. 4

    验证是否可用

    连接成功后客户端会列出 21 个工具,随便调一个只读工具确认能返回结果。

接入前确认

不要直接授予不必要的文件、网络或账号权限;先核对安装命令和配置内容。

详细介绍

kubectl护理计划-通用的kubectl服务器和工具

一个全面的Contoso(快速医疗保健互操作性资源)服务器和工具包,专为医疗保健数据集成、患者护理计划和临床决策支持而设计。该项目为多个具有先进人工智能临床分析功能的Contoso服务器提供了一个通用接口。

🏥 概述

GetLCareplan项目由两个主要部分组成:

  1. 普适的MultiPMCP服务器 (fhir_server.py)-模型上下文协议(MCP)服务器,提供对多个Contoso服务器的标准化访问
  2. ➤工具库 (fhir_tools.py)-一个全面的Python库,用于Contoso数据操作、分析和人工智能驱动的临床见解

✨ 主要特点

🔗 多服务器Contoso集成

  • 通用Contoso接口:连接到多个Contoso服务器(Epic、Cerner、HAPI、Firely等)
  • 厂商无关:标准化的API,无论底层FHIR服务器实现如何
  • 实时连接测试:自动服务器健康检查和诊断
  • 智能故障切换:在服务器之间自动切换以获得最佳性能

🤖 基于人工智能的临床分析

  • OpenAI集成:从自由文本中提取临床关键字和概念
  • 语义映射:将临床术语映射到标准化的Contoso代码
  • 相似患者匹配:寻找具有相似临床特征的患者
  • 预测分析:根据历史数据生成护理建议

📊 全面的患者数据访问

  • 完整的患者记录:人口统计、病情、药物、程序、遭遇
  • 生命体征和实验室结果:使用时间序列数据对观测结果进行分类
  • 护理计划和团队:治疗计划和医疗保健提供者信息
  • 过敏和程序:完整的病史跟踪

🚀 性能优化

  • 异步操作:用于高性能数据访问的非阻塞I/O
  • 智能高速缓存:条件代码和频繁访问的数据缓存
  • 批处理:高效处理多个患者记录
  • 连接池:优化了多台服务器的HTTP连接

🛠 安装

先决条件

  • Python 3.11或更高版本
  • OpenAI API密钥(用于AI功能)
  • 访问Contoso服务器(本地或远程)

设置MCP服务器

  1. 克隆存储库
   git clone https://github.com/Kushagra-Dutta/Fhir-MCP.git
   cd FHIR-MCP
  1. 再进行
   pip install -r requirements.txt
   # or using uv
   uv sync
  1. 配置环境变量
   # Create .env file
   echo "OPENAI_API_KEY=your_openai_api_key" > .env
  1. 运行kubectl MCP服务器
   python fhir_server.py

在本地设置Firely测试数据库

  1. 获取Firely服务器许可证密钥

- 访问 Firely服务器试用页 - 填写表格,通过电子邮件接收许可证密钥 - 您将收到许可证密钥和下载文件(许可证有效期为7天) - 将许可证文件另存为 firelyserver-license.json

  1. 使用Docker进行设置
   # Pull the Firely server image
   docker pull firely/server

   # Run the container
   # For Windows CMD:
   docker run -d -p 9090:4080 --name firely.server -v %CD%/firelyserver-license.json:/app/firelyserver-license.json firely/server

   # For PowerShell or macOS/Linux:
   docker run -d -p 9090:4080 --name firely.server -v ${PWD}/firelyserver-license.json:/app/firelyserver-license.json firely/server

   # Verify container is running
   docker ps
  1. 负载测试数据

- 使用Postman加载测试数据包 - 在Postman中创建新的PUT请求 - 将请求类型设置为原始JSON - 从测试数据包中复制内容 - 向基本URL发送请求(http://localhost:9090) - 对每个数据包重复此操作

完成这些步骤后,您将可以在以下网址访问一个可用的测试数据库http://localhost:9090.

设置MCP聊天机器人客户端

您可以通过分叉存储库或使用Docker来设置MCP聊天机器人客户端。聊天机器人将作为前端接口,与Contoso服务器进行交互。

  1. 获取聊天机器人设置
   # Clone the repository
   git clone https://github.com/cgoinglove/mcp-client-chatbot.git
   cd mcp-client-chatbot
  1. 安装PNPM(如果未安装)
   npm install -g pnpm
  1. 选择安装方法:

#### Docker编写设置🐳

   # Install dependencies
   pnpm i

   # Configure environment variables
   # Edit .env file with your API keys (created automatically after pnpm i)

   # Start all services including PostgreSQL
   pnpm docker-compose:up

#### 本地设置🚀

   # Install dependencies
   pnpm i

   # Setup environment variables
   pnpm initial:env

   # Start PostgreSQL (skip if already running)
   pnpm docker:pg

   # Run database migrations
   pnpm db:migrate

   # Start development server
   pnpm dev

   # Optional: Build & start for production-like testing
   pnpm build:local && pnpm start
  1. 配置环境变量

创建/编辑 .env 具有所需API密钥的文件:

   # LLM Provider API Keys (add the ones you plan to use)
   OPENAI_API_KEY=****
   GOOGLE_GENERATIVE_AI_API_KEY=****
   ANTHROPIC_API_KEY=****
   XAI_API_KEY=****
   OPENROUTER_API_KEY=****
   OLLAMA_BASE_URL=http://localhost:11434/api

   # Auth Configuration
   BETTER_AUTH_SECRET=**** # Generate with: npx @better-auth/cli@latest secret
   BETTER_AUTH_URL= # Optional: URL you access the app from

   # Database Configuration
   POSTGRES_URL=postgres://your_username:your_password@localhost:5432/your_database_name

   # MCP Configuration
   FILE_BASED_MCP_CONFIG=false

   # Optional OAuth Settings (for Google/GitHub login)
   GOOGLE_CLIENT_ID=
   GOOGLE_CLIENT_SECRET=
   GITHUB_CLIENT_ID=
   GITHUB_CLIENT_SECRET=
  1. 将MCP服务器连接到聊天机器人

- 访问聊天机器人http://localhost:3000 - 创建帐户并登录 - 转到MCP配置 - 点击“添加服务器” - 复制粘贴您的 .chatbot-config.json 配置

  1. 配置系统提示

- 导航至 src/app/prompts.ts 在聊天机器人存储库中 - 将默认系统提示替换为来自的自定义提示 system_prompt.txt - 系统提示结构示例:

     export const defaultSystemPrompt = `You are a powerful agentic AI coding assistant.
     You have access to a set of tools you can use to answer the user's question.

     
     1. Be conversational but professional.
     2. Refer to the USER in the second person and yourself in the first person.
     3. Format your responses in markdown.
     4. NEVER lie or make things up.
     

     
     Follow these rules regarding tool calls:
     1. ALWAYS follow the tool call schema exactly as specified.
     2. NEVER call tools that are not explicitly provided.
     3. Only calls tools when they are necessary.
     4. Before calling each tool, first explain to the USER why you are calling it.
     

     
     When making code changes:
     1. Add all necessary import statements and dependencies
     2. NEVER output code to the USER, unless requested
     3. Use appropriate code edit tools for implementation
     
     `;

- 根据您的需求自定义提示部分: - `:定义人工智能应该如何交互 - :指定使用工具的规则 - `:为代码修改制定指导方针 - 保存更改并重新启动开发服务器

完成这些步骤后,您的聊天机器人将连接到MCP服务器,并准备与Contoso数据库进行交互。

🏗 建筑

核心组件

graph TD
    A[FHIR Server] --> B[Universal FHIR MCP Server]
    B --> C[FHIR Tools Library]
    C --> D[Multiple FHIR Servers]
    C --> E[OpenAI Integration]
    C --> F[Caching Layer]
    
    D --> G[Firely Local]
    D --> H[HAPI R4]
    D --> I[Epic Systems]
    D --> J[Cerner]
    
    E --> K[Clinical Text Analysis]
    E --> L[Code Mapping]
    E --> M[Patient Matching]

服务器注册表

该系统维护着一个全面的Contoso服务器注册表:

  • 火当地 (http://localhost:9090)-本地开发服务器
  • HAPI R4 (http://hapi.fhir.org/baseR4)-公共测试服务器
  • Epic、Cerner、Azure -企业医疗保健系统(可配置)

📖 使用指南

➤基本操作

1.服务器管理
from fhir_tools import UniversalFhirMcpServer

# Initialize the server
fhir_server = UniversalFhirMcpServer()
await fhir_server.initialize()

# Test server connectivity
result = await fhir_server.test_server_connectivity("firely_local")
print(result)

# Switch to different server
await fhir_server.switch_server("hapi_r4")
2.患者搜索
# Search for patients
search_criteria = {
    "family": "Smith",
    "given": "John",
    "birthdate": "1990-01-01"
}
patients = await fhir_server.find_patient(search_criteria)
3.患者数据检索
# Get comprehensive patient information
patient_info = await fhir_server.get_comprehensive_patient_info("patient-123")

# Get specific data types
conditions = await fhir_server.get_patient_conditions("patient-123")
medications = await fhir_server.get_patient_medications("patient-123")
vital_signs = await fhir_server.get_vital_signs("patient-123")
lab_results = await fhir_server.get_lab_results("patient-123")

基于人工智能的临床分析

1.临床文本提取
# Extract clinical keywords from free text
clinical_note = "45-year-old female with HER2+ invasive ductal carcinoma, stage IIIA"
keywords = await fhir_server.extract_clinical_keywords(clinical_note)
2.Contoso代码映射
# Map clinical terms to FHIR codes
clinical_data = {
    "conditions": ["breast cancer", "diabetes"],
    "age": 45,
    "gender": "female"
}
fhir_codes = await fhir_server.map_to_fhir_codes_fast(clinical_data)
3.相似患者匹配
# Find patients with similar clinical profiles
criteria = {
    "age": 45,
    "gender": "female",
    "conditions": ["breast cancer"]
}
similar_patients = await fhir_server.find_similar_patients_simple(criteria)

MCP服务器集成

Contoso服务器可以用作MCP服务器,与AI助手集成:

{
  "mcpServers": {
    "fhir-server": {
      "command": "python",
      "args": ["fhir_server.py"],
      "env": {
        "OPENAI_API_KEY": "your-key-here"
      }
    }
  }
}

🔧 配置

服务器配置

该系统支持在 fhir_tools.py:

servers = {
    "firely_local": {
        "name": "Firely Server Local",
        "base_url": "http://localhost:9090",
        "version": "R4",
        "vendor": "Firely",
        "auth_type": "none"
    },
    "hapi_r4": {
        "name": "HAPI FHIR R4 Public",
        "base_url": "http://hapi.fhir.org/baseR4",
        "version": "R4",
        "vendor": "HAPI",
        "auth_type": "none"
    }
}

环境变量

# Required
OPENAI_API_KEY=your_openai_api_key

# Optional
FHIR_SERVER_URL=http://localhost:9090
FHIR_SERVER_AUTH_TOKEN=your_auth_token

🔍 可用工具

核心Contoso操作

  • switch_server(server_name) -在Contoso服务器之间切换
  • test_server_connectivity(server_name) -测试服务器连接
  • find_patient(search_criteria) -寻找患者
  • get_comprehensive_patient_info(patient_id) -获取完整的患者数据

临床数据访问

  • get_patient_observations(patient_id) -获取患者观察结果
  • get_patient_conditions(patient_id) -了解患者病情
  • get_patient_medications(patient_id) -获取患者药物
  • get_vital_signs(patient_id) -获取生命体征
  • get_lab_results(patient_id) -获取实验室结果
  • get_patient_encounters(patient_id) -获得患者体验
  • get_patient_allergies(patient_id) -引起患者过敏
  • get_patient_procedures(patient_id) -获取患者程序

AI驱动的分析

  • extract_clinical_keywords(text) -从文本中提取临床信息
  • map_to_fhir_codes_fast(clinical_data) -将术语映射到Contoso代码
  • find_similar_patients_simple(criteria) -寻找相似的患者
  • extract_condition_codes_from_fhir() -提取所有条件代码

系统管理

  • list_available_servers() -列出所有已配置的服务器
  • get_server_registry() -获取完整的服务器注册表
  • diagnose_fhir_server(server_name) -诊断服务器功能
  • clear_condition_cache() -清除条件代码缓存
  • get_condition_cache_stats() -获取缓存性能统计信息

🧪 测试工具

MCP检查员

MCP(模型上下文协议)检查器是一个强大的开发和测试工具,有助于调试和验证Contoso服务器交互。它提供了对服务器行为和API响应的实时检查。

使用MCP检查器
# Run MCP Inspector on a specific file
mcp dev fhir_server.py

# This will:
# 1. Start the inspector in development mode
# 2. Monitor all FHIR server interactions
# 3. Log detailed information to logs/mcp_dev_inspector.log
特性
  • 实时监控:在发生过程中观察Contoso服务器交互
  • 请求/响应日志记录:所有API调用和响应的详细日志
  • 错误检测:对API错误或错误配置的即时反馈
  • 性能指标:跟踪响应时间和服务器性能
  • 调试模式:增强日志记录,用于开发故障排除
日志文件位置

检查员将详细日志写入:

logs/mcp_dev_inspector.log
最佳实践
  • 在开发过程中使用MCP检查器验证服务器行为
  • 监控日志文件是否存在意外错误或性能问题
  • 在实现新的Contoso端点时运行检查器
  • 使用它来调试与外部Contoso服务器的连接问题

🏥 商业应用

医院参与平台

该工具包可以为自动化医院参与平台提供动力:

  1. 患者护理协调

- 自动生成护理计划 - 治疗时间表管理 - 多学科团队协调

  1. 临床决策支持

- 循证治疗建议 - 风险评估和预警 - 基于相似病例的预后预测

  1. 资源优化

- 资源分配的预测分析 - 自动化调度和容量管理 - 通过数据驱动的见解进行成本优化

  1. 质量改进

- 自动化质量指标跟踪 - 合规性监测和报告 - 性能分析和基准测试

🔐 安全与合规

  • HIPAA合规性:设计时考虑了医疗数据隐私
  • 安全通信:所有服务器通信的HTTPS/TLS加密
  • 身份验证支持:多种身份验证方法(OAuth、API密钥等)
  • 审计日志:合规性和调试的全面日志记录

📊 性能特点

  • 异步操作:无阻塞I/O,实现高吞吐量
  • 连接池:高效的HTTP连接管理
  • 智能高速缓存:条件代码和元数据缓存
  • 批处理:高效处理多条记录
  • 错误处理:强大的错误处理和重试机制

🧪 测试

运行测试

# Run basic connectivity tests
python -c "
import asyncio
from fhir_tools import UniversalFhirMcpServer

async def test():
    server = UniversalFhirMcpServer()
    await server.initialize()
    result = await server.test_server_connectivity('firely_local')
    print(result)

asyncio.run(test())
"

服务器诊断

# Comprehensive server diagnostics
diagnostics = await fhir_server.diagnose_fhir_server("firely_local")
print(diagnostics)

📝 日志记录

该系统提供全面的日志记录:

import logging

# Configure logging
logging.basicConfig(level=logging.INFO)
logger = logging.getLogger(__name__)

# Logs are automatically written to logs/mcp_dev_inspector.log

🤝 贡献

  1. 复刻仓库
  2. 创建要素分支
  3. 进行更改
  4. 添加新功能的测试
  5. 提交拉取请求

📄 许可证

此项目根据MIT许可证获得许可-有关详细信息,请参阅许可证文件。

🆘 支持

有关支持和问题:

  • 在GitHub存储库中创建问题
  • 检查日志目录以获取详细的错误信息
  • 使用诊断工具进行服务器故障排除

🔄 版本历史记录

  • v0.1.0 -首次发布,具有核心kubectl功能
  • v0.2.0版本 -添加了基于人工智能的临床分析
  • v0.3.0 -增强的多服务器支持和缓存

🎯 路线图

  • \[\]高级分析仪表板
  • \[\]实时数据流
  • \[\]机器学习模型集成
  • \[\]增强的安全功能
  • \[\]移动应用程序支持
  • \[\]云部署模板

🕒 kubectl时间线代理

kubectl时间线代理(fhir_timeline_agent.py)是一种专门的代理,旨在使用真实的Contoso数据从患者查询中生成详细的临床治疗时间表。它经过专门配置,可以与Firely Local Contoso服务器配合使用。

特性

  • 自然语言处理:将自由文本患者查询转换为结构化临床数据
  • 真实患者数据分析:使用实际的Contoso患者记录生成时间线
  • 人工智能驱动的时间线生成:利用OpenAI GPT-4实现准确的临床时间表
  • 交互式CLI界面:用户友好的命令行界面,格式丰富
  • 全面的患者匹配:根据年龄、性别和病情找到相似的患者

用法

# Run in interactive mode with chat interface
python fhir_timeline_agent.py

# Run in demo mode with example queries
python fhir_timeline_agent.py --demo

查询示例

• "45-year-old male with pancreatic adenocarcinoma"
• "62-year-old female with HER2+ breast cancer"
• "58-year-old male with stage IIIA lung adenocarcinoma"

时间线生成过程

  1. 查询处理

- 从自然语言中提取临床关键词 - 识别年龄、性别、病情、分期和生物标志物

  1. Contoso代码映射

- 将临床术语映射到标准化的Contoso代码 - 使用Firely Local服务器的代码系统

  1. 类似患者搜索

- 在Contoso数据库中查找匹配的患者 - 根据年龄、性别和条件进行评分

  1. 数据聚合

- 收集全面的病史 - 包括程序、药物、遭遇

  1. 时间线生成

- 使用AI创建详细的治疗时间表 - 根据临床背景按时间顺序组织事件

输出格式

代理生成丰富的格式化输出,包括:

  • 患者档案:人口统计、诊断、分期、生物标志物
  • 治疗时间表:带日期的逐步临床事件
  • 临床结果:治疗反应、生存状态、毒性
  • 数据源:服务器信息和分析指标

配置

代理被硬编码为使用:

  • Firely本地Contoso服务器(http://localhost:9090)
  • OpenAI GPT-4用于时间线生成
  • 丰富的控制台输出,用于格式化显示

需求

  • OpenAI API密钥(在中设置 .env 文件)
  • 正在运行Firely本地kubectl服务器
  • Python包:
  openai>=1.86.0
  rich>=13.7.0
  python-dotenv>=1.0.0
  aiohttp>=3.8.0

最佳实践

  • 在查询中提供完整的患者信息
  • 包括年龄、性别和初步诊断
  • 在可用时添加阶段和生物标志物信息
  • 使用特定的临床术语进行更好的匹配

错误处理

该代理包括强大的错误处理功能,用于:

  • 缺少患者信息
  • Contoso服务器连接问题
  • AI生成失败
  • 数据分析错误

每个错误都会显示有用的解决建议。

______________________________________________________________________

*内置于❤️ 医疗保健互操作性和患者护理改进*

工具与能力

工具数量

21

资源数量

0

提示词数量

0

能力标签

医疗数据集成Python本地部署FHIR服务器临床决策支持患者护理计划AI医疗分析

数量来自来源目录的标注,具体工具清单以官方文档为准。

典型使用场景

看服务状态

查询容器、日志和监控指标,定位异常。

执行部署变更

在权限范围内触发发布、回滚和环境切换。

核对资源用量

汇总用量,找出闲置和超额的部分。

选择建议

值得选的地方

  • 工具数量 21 个,一次接入能覆盖的操作比单点工具更全。
  • 有现成的安装命令,不用自己找入口,照着跑就能起服务。
  • 4 个目录同时收录,信息可以交叉核对。

先想清楚的地方

  • stdio 方式要求本地装好 Python,换机器要重新装一遍。
  • 需要自备OAuth 授权,没有凭据没法直接试。
  • 第三方目录整理,版本更新和行为细节以官方仓库为准。

更适合

  • 需要在运维云端场景里让模型直接调用外部能力的人。
  • 想先快速试一下、能接受在本地跑服务的人。

不太适合

  • 完全不想在本地装环境的人。
  • 暂时拿不到OAuth 授权的人。
  • 需要厂商级 SLA 和技术支持的生产环境。

同类对比

5 个同类
MCP Server工具数传输方式安装命令收录来源最后核验
Fhir MCP

MCP World · 本页

21stdio有4 个2026-05-17
Ui Tars Desktop 8a825770

MCP World

0stdio有1 个2026-05-17
Elie222 MCP

MCP World

0未说明未标注1 个2026-05-17
Arizeai Phoenix MCP

MCP World

0stdio有3 个2026-05-17
Unity MCP 87ee506e

MCP World

42HTTP有2 个2026-05-17

按同分类和工具数量挑出最接近的几条,字段以各自详情页为准。

常见问题

5 条

Fhir MCP 怎么安装?

公开资料给出的安装命令是 pip install -r requirements.txt,运行环境为 Python。装完后按客户端要求写进 MCP 配置,重启客户端生效。

Fhir MCP 怎么在 Claude Desktop、Cursor 里配置?

它是stdio 本地进程,客户端配置里要写启动命令和参数,运行环境是 Python;保存后完全退出客户端再打开,配置才会生效。

Fhir MCP 收费吗?

本站只整理公开资料,不代收费用,也没有标注具体价格。是否收费取决于服务本身和背后的接口额度,正式使用前按官方说明确认。

Fhir MCP 需要 API Key 吗?

公开资料标注的认证方式是OAuth 授权,也就是要先拿到凭据才能连上;凭据只填在自己本地的配置里,不要写进公开仓库。

Fhir MCP 支持哪些客户端?

公开资料没有标注具体客户端;能配置本地 MCP 命令的客户端都能接,配置方式参照官方文档。

来源信息

继续浏览同类 MCP