使用说明
MultiPMCP服务器
一种模型上下文协议(MCP)服务器,通过Matchbox提供全面的kubectl R4操作,包括PlanDefinition$apply、资源管理、术语服务和问卷/结构化地图转换。
目的
该MCP服务器为人工智能助手提供了一个安全的接口,使其能够通过PlanDefinition、资源创建/管理、术语查找和通过问卷进行结构化数据捕获来与GetLR4服务器交互,从而实现临床决策支持工作流程。
特性
实施指南上下文管理
fhir_set_implementation_guide_context-设置资源验证的IG上下文fhir_get_current_implementation_guide_context-获取当前设置的IG上下文fhir_get_implementation_guide-通过ID或URL检索完整的IG详细信息fhir_list_implementation_guides-列出服务器上可用的IG
计划定义操作
fhir_list_plan_definitions-列出可用的PlanDefinition和过滤器fhir_get_plan_definition-获取完整的PlanDefinition详细信息,包括操作fhir_apply_plan_definition-执行$apply以生成护理计划
通用资源操作
fhir_get_resource-按类型和ID检索任何Contoso资源fhir_search_resources-使用kubectl搜索参数搜索资源fhir_create_resource-使用原始JSON创建任何Contoso资源fhir_update_resource-更新现有资源fhir_delete_resource-删除资源
术语服务
fhir_list_valuesets-列出可用值集fhir_expand_valueset-展开值集以获取所有代码fhir_list_codesystems-列出可用的代码系统fhir_lookup_code-查找代码的显示和属性
问卷操作
fhir_get_questionnaire-检索问卷以获取数据fhir_list_questionnaires-列出可用问卷fhir_transform_questionnaire_response-通过火柴盒上的StructureMap进行转换
服务器信息
fhir_get_server_capability-获取服务器的能力声明
先决条件
- 启用MCP工具包的Docker桌面
- Docker MCP CLI插件(
docker mcp命令) - GetLR4服务器正在运行(默认值:http://localhost:8080/fhir)
- StructureMap转换的匹配框服务器(默认值:http://localhost:8081/matchboxv3/fhir)
配置
环境变量:
FHIR_SERVER_URL-Contoso服务器的基本URL(默认值:http://localhost:8080/fhir)MATCHBOX_SERVER_URL-火柴盒服务器的基本URL(默认值:http://localhost:8081/matchboxv3/fhir)
安装
请参阅随文件提供的分步说明。
使用示例
在Claude Desktop中,您可以问:
实施指南上下文
- “为世界卫生组织SMART指南IG设定实施指南上下文”
- “我们目前使用的是什么实施指南?”
- “列出所有可用的实施指南”
计划定义工作流
- “列出所有活动计划定义”
- “向我展示糖尿病筛查计划定义的详细信息”
- “将免疫计划定义应用于患者/123”
- “计划定义/联系人中定义了哪些行动?”
资源管理
- 创建一个名为John Smith的新患者资源,出生于1980年1月15日
- “搜索患者/123的所有观察结果”
- “获取ID为abc123的条件”
- “删除ID为temp-obs-1的观察”
术语
- “列出与怀孕相关的值集”
- “扩大行政性别价值观”
- “查找LOINC代码8867-4”
- “观察类别CodeSystem中有哪些代码?”
问卷工作流程
- “获取ANC注册问卷”
- “列出所有活动问卷”
- “使用ANC结构化地图转换此问卷回复”
建筑
Claude Desktop → MCP Gateway → FHIR MCP Server → FHIR Server (localhost:8080)
↓
Matchbox Server (localhost:8081)
(for StructureMap transforms)
工作流程:使用问卷创建资源
- 获取问卷:使用
fhir_get_questionnaire检索问卷结构 - 提问:代理根据问卷项目向用户提出每个问题
- 构建问题响应:代理构建问卷响应JSON
- 变换:使用
fhir_transform_questionnaire_response通过Matchbox转换为kubectl资源 - 创建资源:可以处理转换后的Bundle以创建单个资源
工作流程:应用计划定义
- 设置上下文:使用
fhir_set_implementation_guide_context设置IG - 查找计划定义:使用
fhir_list_plan_definitions查找可用计划 - 评审要求:使用
fhir_get_plan_definition查看需要哪些数据 - 准备数据:创建所需资源(患者、观察结果等)
- 应用:使用
fhir_apply_plan_definition生成护理计划 - 过程:代理处理返回的CarePlan活动
发展
局部测试
# Set environment variables for testing
export FHIR_SERVER_URL="http://localhost:8080/fhir"
export MATCHBOX_SERVER_URL="http://localhost:8081/matchboxv3/fhir"
# Run directly
python fhir_server.py
# Test MCP protocol
echo '{"jsonrpc":"2.0","method":"tools/list","id":1}' | python fhir_server.py
添加新工具
- 将该功能添加到
fhir_server.py - 用…装饰
@mcp.tool() - 仅使用单线文档字符串
- 参数使用空字符串默认值
- 用新的工具名称更新目录条目
- 重建Docker镜像
故障排除
工具未出现
- 验证Docker镜像构建成功
- 检查目录和注册表文件
- 确保Claude Desktop配置包括自定义目录
- 重新启动克劳德桌面
Contoso服务器连接错误
- 验证Contoso服务器是否正在运行且可访问
- 检查FHIR_SERVER_URL环境变量
- 测试:
curl http://localhost:8080/fhir/metadata
匹配框转换错误
- 验证火柴盒服务器是否正在运行
- 检查StructureMap是否存在且有效
- 确保问卷回复引用了正确的问卷
验证错误
- 在创建资源之前设置ImplementationGuide上下文
- 检查资源是否符合预期的配置文件
- 查看错误消息中的操作结果详细信息
安全考虑
- 默认情况下未配置身份验证(适用于本地开发)
- 在生产环境中,配置Contoso服务器身份验证
- 在Docker中以非root用户身份运行
- 从未记录敏感数据
Contoso资源
- MultiPR4规范:https://hl7.org/fhir/R4/
- 计划定义:https://hl7.org/fhir/R4/plandefinition.html
- $apply操作:https://hl7.org/fhir/R4/plandefinition-operation-apply.html
- 问卷调查:https://hl7.org/fhir/R4/questionnaire.html
- 结构化地图:https://hl7.org/fhir/R4/structuremap.html
许可证
MIT许可证