LangCare MCP kubectl服务器
](https://github.com/langcare/langcare-mcp-fhir)   ](https://github.com/langcare/langcare-mcp-fhir/blob/main/go.mod)
企业级MCP服务器,用于基于kubectl的EMR。完全用Go语言编写,具有企业级安全性和4个通用的kubectl操作,适用于任何一种kubectl R4资源类型。支持 史诗, 塞尔内, OpenEMR, GCP医疗保健API以及任何通用的kubectl R4服务器。
船与a 40+临床技能库 --与代理无关的工作流程指南,涵盖药物管理、实验室解释、临床决策支持、文档、人群健康等。扩展与✨ 新 克劳德托管代理 (人类管理剂API上的9种生产准备临床人工智能制剂), MCP应用程序 (Claude Desktop内的交互式临床UI) 医疗保健语音代理 (基于kubectl的实时语音AI),以及 LangCare命令行界面 对于不以MCP为母语的代理框架。
langcare.ai
安装
通过npm安装:
npm install -g @langcare/langcare-mcp-fhir或者直接使用,无需安装:
npx @langcare/langcare-mcp-fhir -config /path/to/config.yaml快速配置
LangCare MCP将Claude连接到基于kubectl的EMR系统。您需要一个指向后端的YAML配置文件。
1.获取配置模板
选择您的后端:
- 史诗: config.epic.example.yaml
- 塞尔纳: config.cerner.example.yaml
- OpenEMR : config.openemr.example.yaml
- GCP医疗保健API: config.gcp.example.yaml
- 任何kubectl R4服务器: config.base.example.yaml
2.配置克劳德桌面
添加到您的Claude Desktop配置文件(~/.config/Claude/claude_desktop_config.json):
{
"mcpServers": {
"langcare-mcp-fhir": {
"command": "langcare-mcp-fhir",
"args": ["-config", "/path/to/your/config.yaml"]
}
}
}在macOS上,配置通常位于:
~/Library/Application\ Support/Claude/claude_desktop_config.json3.重新启动克劳德桌面
关闭并重新打开Claude Desktop。现在可以使用kubectl工具了。
需要详细的设置帮助吗? 请参阅 本地测试指南.
建筑
此MCP服务器充当AI代理和GetLR4服务器之间的智能代理。它通过模型上下文协议(MCP)公开了4个通用的kubectl操作,为任何类型的kubectl资源提供了AI驱动的工作流。
关键设计:
- MCP-SDK: 官方
github.com/modelcontextprotocol/go-sdk(Anthropic/Google维护) - kubectl客户端: 通用HTTP客户端可与任何kubectl R4服务器协同工作
- 运输: stdio和流式HTTP
- 后端: 代理现有的Contoso服务器(无数据库)
- 语言: 100%追求高性能和可靠性
4通用MCP工具
所有工具均适用 任何kubectl资源类型 (患者、观察、用药等):
1.fhir_read
按类型和ID读取Contoso资源。
{
"resourceType": "Patient",
"id": "example-123"
}2.女搜索
使用查询参数搜索Contoso资源。
{
"resourceType": "Patient",
"queryParams": "name=John&birthdate=gt1990-01-01"
}3.fhir_create
创建一个新的Contoso资源。
{
"resourceType": "Observation",
"resource": {
"resourceType": "Observation",
"status": "final",
"code": { ... },
"subject": { "reference": "Patient/123" }
}
}4.Fhir更新
更新现有的Contoso资源。
{
"resourceType": "Patient",
"id": "example-123",
"resource": {
"resourceType": "Patient",
"id": "example-123",
"name": [{ "family": "Smith" }]
}
}安全架构
LangCare MCP kubectl实现了 双层安全模型 对于符合HIPAA标准的医疗保健数据访问:
┌─────────────┐ ┌──────────────┐ ┌─────────────┐
│ Claude │ Auth1 │ MCP Server │ Auth2 │ FHIR API │
│ Client │────────▶│ (Go) │────────▶│ (EMR) │
└─────────────┘ └──────────────┘ └─────────────┘
Auth1: MCP Client Authentication (Bearer Token/API Key)
Auth2: FHIR Backend Authentication (Bearer/OAuth2/SMART on FHIR)安全特性
- ✅ TLS 1.3 HTTP传输加密
- ✅ PHI清洗 在日志中(默认启用)
- ✅ 符合HIPAA标准 审计日志
- ✅ 无持久PHI存储 (无状态代理)
- ✅ 通过环境变量的秘密 (从不在配置文件中)
- ✅ OAuth 2.0 具有自动令牌刷新功能
- ✅ 弹药库鱼雷发射系统 支持服务间通信
- ✅ 速率限制 每个客户端
支持的身份验证方法
- 持有者令牌 -简单的API密钥验证
- OAuth2 -带有令牌刷新的完整OAuth2流
- 智能化技术在Contoso后端服务中的应用 -
private_key_jwt(RS384)用于EPIC、OpenEMR和其他符合SMART的EMR - 智能应用程序 -EPIC、Cerner、OpenEMR和其他EMR标准
- 基本认证 -用户名/密码验证
- 自定义 -可扩展以用于其他身份验证方法
有关完整的安全文档,请参阅 安全指南:
- HIPAA合规检查表
- EPIC/Cerner/GCP的OAuth配置
- Kubernetes安全清单
- 凭证管理程序
- 审计日志记录实施
MCP应用程序(交互式UI)
LangCare MCP kubectl内置 MCP应用程序 --这些视图直接在支持MCP的主机(如Claude Desktop)内运行。与传统的基于聊天的工具输出不同,MCP应用程序在使用相同的底层Contoso工具的同时,通过图表、表格和交互式控件呈现完整的基于React的界面。
它是如何工作的: 每个应用程序都是一个单文件HTML包(React+TypeScript,用Vite编译),在编译时通过以下方式嵌入到Go二进制文件中 go:embed在运行时,MCP服务器将每个应用程序注册为MCP资源(text/html;profile=mcp-app)以及通过链接的专用MCP工具 _meta.ui.resourceUri当MCP主机调用该工具时,它会获取资源并呈现UI。该应用程序调用回服务器的通用Contoso工具(fhir_search, fhir_read等等)通过 app.callServerTool() --数据获取没有LLM往返。
与普通工具输出相比的优势:
- 丰富的可视化 --SVG图表、颜色编码卡、可扩展细节面板
- 交互式控制 --搜索字段、日期范围选择器、单击以展开行
- 确定性数据获取 --应用程序直接调用kubectl工具,无需LLM参与数据检索
- 零外部依赖 --所有内容都内联到一个HTML文件中,嵌入到二进制文件中
- 离线工作 -没有CDN,没有外部脚本,除了FHIR API调用之外没有网络请求
内置应用程序
| 应用程序 | 工具 | 描述 |
|---|---|---|
| GetIExplorer | fhir_explorer | 交互式Contoso资源浏览器。使用JSON详细视图搜索、读取、创建和更新任何kubectl R4资源类型。 |
| 病历回顾 | patient_chart_review | 临床仪表板,包括患者人口统计、活动状态、药物、生命体征、实验室和生命体征趋势图(BP+体重随时间变化)。 |
这两个应用程序都是演示MCP应用程序模式的参考实现。看 apps/README.md 了解架构细节以及如何构建新应用程序。
Patient Chart Review running inside Claude Desktop
代理使用
人工智能代理使用LangCare MCP kubectl Server通过4个kubectl工具帮助医疗保健专业人员访问和管理患者健康记录。服务器处理EMR身份验证,使代理能够专注于临床工作流程,同时保持严格的隐私和准确性标准。
代理能力:
- 搜索、读取、创建、更新 -任何MultiPR4资源(患者、观察、药物等)
- 患者隐私 -使用部分标识符,更新前确认身份
- 临床准确性 -验证数据,使用标准代码(LOINC、SNOMED、RxNorm)
- 专业沟通 -根据上下文、调查结果和下一步行动构建响应
常见工作流程:
- 患者查询: 按姓名/DOB搜索→ 验证身份→ 阅读完整细节
- 临床回顾: 检索实验室、生命体征、药物→ 提供参考范围
- 文档: 提取结构化数据→ 映射到Contoso资源→ 确认→ 创造
- 更新: 验证现有资源→ 修改→ 确认更改→ 更新
系统支持:
- 适用于任何类型的kubectl R4资源(60多种类型,包括文档参考、二进制、媒体)
- EPIC、Cerner、OpenEMR、GCP Healthcare API的自动身份验证和令牌刷新
- 符合HIPAA标准的PHI处理和审计日志记录
- 用于临床数据访问的全面OAuth2示波器
📖 完整指南: 代理提示指南 -系统提示、工具示例、工作流程和错误处理
临床技能库(可选)
40+与药物无关的临床工作流程指南 教人工智能代理如何使用MCP服务器的4个Contoso工具执行复杂的医疗保健任务(fhir_search, fhir_read, fhir_create, fhir_update).
- 可选的 -MCP服务器在没有它们的情况下工作
- 便携的 -与Claude、ChatGPT、Gemini或任何AI代理合作
- 基于证据的 -基于USPSTF、ADA、ACC/AHA、CDC、ACOG、KDIGO和其他社会指南
- 复制粘贴就绪 -添加技能
SKILL.md根据您代理的系统提示或自定义说明
技能类别(40项技能)
| 类别 | 技能 | 示例 |
|---|---|---|
| 患者数据和摘要 | 5 | 人口统计、临床总结(CCD风格)、问题列表审核、过敏审查、保险范围 |
| 药物管理 | 5 | 药物调和、药物相互作用(CYP450)、依从性(MPR/PDC)、比尔标准、阿片类药物风险(ORT/MME) |
| 实验室和诊断 | 5 | 实验室解读、临界值(CAP/CLIA)、术前实验室、糖尿病专家组(ADA)、肾功能(KDIGO) |
| 临床决策支持 | 5 | 败血症(qSOFA/SOFA)、心血管风险(ASCVD/HEART)、VTE(Wells/Caprini)、跌倒风险(Morse)、肺炎(CURB-65) |
| 护理协调 | 5 | 出院计划(LACE)、转诊、护理缺口(USPSTF)、护理过渡(I-PASS)、随访任务 |
| 文档 | 5 | SOAP注释、H&P、进度注释、出院总结、程序注释 |
| 人口健康 | 5 | 小组概述、质量指标(HEDIS)、慢性病登记、免疫状况(CDC)、预防保健合规性 |
| 专业 | 5 | 产前(ACOG)、儿科生长(世界卫生组织/疾病预防控制中心)、心理健康(PHQ-9/GAD-7)、肿瘤学(TNM/RECIST)、慢性疼痛 |
完整目录及链接: 技能/README.md
如何使用技能
- 浏览 这 技能/核心/ 目录和选择技能
- 复制 技能的
SKILL.md将内容添加到AI代理的系统提示或自定义指令中 - 参考文件 在每个技能
references/子目录包含详细的临床知识(评分标准、代码表、阈值),可以选择性地包含这些知识,以提高临床准确性
# Example: Add medication-reconciliation skill to your agent
skills/core/medication-management/medication-reconciliation/
├── SKILL.md # Copy this into agent instructions
└── references/
├── reconciliation-process.md # Joint Commission standards
└── high-risk-medications.md # ISMP high-alert drug list欢迎社区捐款 -看 贡献.md 作为指导方针。
开发与测试
从源代码构建
make build本地运行(stdio模式)
make run
# or
./bin/langcare-mcp-fhir -config configs/config.local.yaml在HTTP模式下运行(流式HTTP)
make run-http
# or
./bin/langcare-mcp-fhir -http -port 8080 -config configs/config.yaml使用Streamable HTTP传输启动服务器 /mcp 健康检查 /health.
运行测试
make testLint代码
make lint部署到Fly.io(远程流式HTTP)
部署为具有Streamable HTTP传输的远程MCP服务器,任何兼容MCP的AI代理都可以从任何地方访问。
# Install Fly CLI
brew install flyctl
fly auth login
# Create app
fly apps create --name langcare-mcp-dev
# Set CONFIG_FILE in fly/fly.dev.toml [env] block for your provider (EPIC or GCP)
# Then set secrets (EPIC example):
fly secrets set \
EPIC_BASE_URL="https://fhir.epic.com/interconnect-fhir-oauth/api/FHIR/R4" \
EPIC_CLIENT_ID="your-client-id" \
EPIC_TOKEN_URL="https://fhir.epic.com/interconnect-fhir-oauth/oauth2/token" \
EPIC_PRIVATE_KEY_B64="$(base64 "Show active medications for patient ID d886a934-5568-42b3-9324-0f0b05fc018c"setup.sh 是幂等的——可以安全地重新运行。最后,它会打印会话所需的环境ID和Vault ID。
完整指南: cma/README.md --env-vars,所有脚本参考,故障排除。
______________________________________________________________________
贡献
我们欢迎医疗保健专业人员、开发人员和信息学家的贡献!
有三种主要的贡献方式:
1.核心MCP服务器(Go开发)
- 错误修复和性能改进
- 新的Contoso提供者实现(AllScripts、Athenahealth等)
- 安全增强和可观察性功能
- 测试和CI/CD改进
2.临床技能(医疗工作流程)
- 基于证据的临床工作流程
- 专业特定协议(心脏病学、肿瘤学等)
- 人口健康和质量测量工作流程
- 临床决策支持算法
技能是与代理无关的工作流程指南,适用于Claude、ChatGPT和Gemini。无需编码,只需临床专业知识和Contoso知识!
3.MCP应用程序(交互式UI)
- 新的临床或管理UI应用程序
- 对现有应用程序的增强(GetLExplorer、病历审查)
- 医疗保健UI的可重用组件和模式
看 apps/README.md 发展指南。
4.代理集成(平台设置)
- 新AI平台的设置指南
- 部署示例(Docker、Kubernetes、云)
- 监控和可观察性设置
- CI/CD管道
开始: 阅读 贡献.md 了解详细的指南、代码标准和提交过程。
认可: 贡献者将在README、发行说明和技能/集成作者署名中注明。杰出的贡献者可能会被邀请作为维护者。
问题? 打开A 或 问题!
社区
- GitHub讨论 -提出问题,分享想法:https://github.com/langcare/langcare-mcp-fhir/discussions
- GitHub 问题 -报告错误,请求功能:https://github.com/langcare/langcare-mcp-fhir/issues
- 贡献指南 -如何做出贡献:https://github.com/langcare/langcare-mcp-fhir/blob/main/CONTRIBUTING.md
- 技能 -临床工作流程:https://github.com/langcare/langcare-mcp-fhir/blob/main/skills/README.md
许可证
看 许可证 文件。
______________________________________________________________________
建于❤️ LangCare团队和贡献者。
*通过更好的人工智能基础设施改善医疗保健。*

