
Langcare Mcp Fhir
io.github.langcare由 GitHub 账号 langcare 发布v2.0.4更新于 Oct 24, 2026
An MCP FHIR server written in Go for EMR systems like Epic and Cerner
概览
一个本地 MCP 服务器,把助手代理到 Epic、Cerner、OpenEMR、GCP Healthcare API 等 FHIR R4 电子病历系统,提供四个通用 FHIR 操作。
- 可以做什么
- 按资源类型、ID 和查询参数读取与搜索任意 FHIR R4 资源(fhir_read、fhir_search)。创建和更新 FHIR 资源,例如 Patient 或 Observation(fhir_create、fhir_update)。在宿主内打开交互式视图:FHIR Explorer 资源浏览器,以及包含人口学信息、病情、用药、生命体征和化验趋势的患者病历审阅面板。可选搭配临床工作流指南库,覆盖用药、化验、文书和人群健康。
- 适用场景
- 当助手需要对接真实的 FHIR R4 临床后端——查询患者、审阅病历,或起草并更新记录——而不是通用数据库时适用。适合电子病历本身支持 FHIR 的临床和医疗 IT 工作流。
- 运行要求
- 以 npm 包(Node.js)通过 stdio 在本地运行,或使用 Go 二进制;需要一份指向 FHIR 后端的 YAML 配置文件,通过 -config 参数传入。后端凭据取决于服务商:bearer token、OAuth2、SMART on FHIR 的 private_key_jwt 或 basic auth,通过环境变量提供。需要能访问 FHIR 服务器的网络。
安装
在 SourceWeft 中
- 打开 控制台中的 Langcare Mcp Fhir,将其添加到工作区。
- 为需要使用其工具的对话启用该服务。
Desktop only,通过 STDIO。 STDIO 服务会启动本地进程,因此需要 SourceWeft 桌面宿主。
其他 MCP 客户端
参照 仓库 中的启动说明。
README
LangCare MCP FHIR Server
[GitHub Stars] [Contributors] [License] [Go Version]
Enterprise-grade MCP Server for FHIR-based EMRs. Fully written in Go with enterprise-grade security and 4 generic FHIR operations that work with any FHIR R4 resource type. Supports EPIC, Cerner, OpenEMR, GCP Healthcare API, and any generic FHIR R4 server.
Ships with a 40+ Clinical Skills Library — agent-agnostic workflow guides covering medication management, lab interpretation, clinical decision support, documentation, population health, and more. Extend with ✨ New: Claude Managed Agents (9 production-ready clinical AI agents on the Anthropic Managed Agents API), MCP Apps (interactive clinical UIs inside Claude Desktop), a Healthcare Voice Agent (real-time voice AI over FHIR), and a LangCare CLI for agent frameworks that don't speak MCP natively.
[LangCare MCP FHIR — Healthcare AI Agents with FHIR MCP Server for EMRs]
langcare.ai
Installation
Install via npm:
Or use directly without installation:
Quick Configuration
LangCare MCP FHIR connects Claude to your FHIR-based EMR system. You need a YAML configuration file pointing to your backend.
1. Get a Config Template
Choose your backend:
- EPIC: config.epic.example.yaml
- Cerner: config.cerner.example.yaml
- OpenEMR: config.openemr.example.yaml
- GCP Healthcare API: config.gcp.example.yaml
- Any FHIR R4 Server: config.base.example.yaml
2. Configure Claude Desktop
Add to your Claude Desktop config file (~/.config/Claude/claude_desktop_config.json):
On macOS, the config is typically at:
3. Restart Claude Desktop
Close and reopen Claude Desktop. The FHIR tools will now be available.
Need detailed setup help? See the Local Testing Guide.
Architecture
This MCP server acts as an intelligent proxy between AI agents and FHIR R4 servers. It exposes 4 generic FHIR operations through the Model Context Protocol (MCP), enabling AI-powered workflows for any FHIR resource type.
Key Design:
- MCP SDK: Official
github.com/modelcontextprotocol/go-sdk(Anthropic/Google maintained) - FHIR Client: Generic HTTP client working with any FHIR R4 server
- Transport: stdio and Streamable HTTP
- Backend: Proxy to existing FHIR server (no database)
- Language: 100% Go for high performance and reliability
4 Generic MCP Tools
All tools work with any FHIR resource type (Patient, Observation, Medication, etc.):
1. fhir_read
Read a FHIR resource by type and ID.
2. fhir_search
Search FHIR resources with query parameters.
3. fhir_create
Create a new FHIR resource.
4. fhir_update
Update an existing FHIR resource.
Security Architecture
LangCare MCP FHIR implements a two-layer security model for HIPAA-compliant healthcare data access:
Security Features
- ✅ TLS 1.3 encryption for HTTP transport
- ✅ PHI Scrubbing in logs (enabled by default)
- ✅ HIPAA-compliant audit logging
- ✅ No persistent PHI storage (stateless proxy)
- ✅ Secrets via environment variables (never in config files)
- ✅ OAuth 2.0 with automatic token refresh
- ✅ mTLS support for service-to-service communication
- ✅ Rate limiting per client
Supported Authentication Methods
- Bearer Token - Simple API key authentication
- OAuth2 - Full OAuth2 flow with token refresh
- SMART on FHIR Backend Services -
private_key_jwt(RS384) for EPIC, OpenEMR, and other SMART-conformant EMRs - SMART on FHIR - EPIC, Cerner, OpenEMR, and other EMR standards
- Basic Auth - Username/password authentication
- Custom - Extensible for additional auth methods
For complete security documentation, see Security Guide:
- HIPAA compliance checklist
- OAuth configuration for EPIC/Cerner/GCP
- Kubernetes security manifests
- Credential management procedures
- Audit logging implementation
MCP Apps (Interactive UIs)
LangCare MCP FHIR ships with built-in MCP Apps — interactive, rich UI views that run directly inside MCP-capable hosts like Claude Desktop. Unlike traditional chat-based tool output, MCP Apps render full React-based interfaces with charts, tables, and interactive controls while using the same underlying FHIR tools.
How it works: Each app is a single-file HTML bundle (React + TypeScript, compiled with Vite) that gets embedded into the Go binary at compile time via go:embed. At runtime the MCP server registers each app as both an MCP Resource (text/html;profile=mcp-app) and a dedicated MCP Tool linked via _meta.ui.resourceUri. When an MCP host calls the tool, it fetches the resource and renders the UI. The app calls back into the server's generic FHIR tools (fhir_search, fhir_read, etc.) through app.callServerTool() — no LLM round-trips for data fetching.
Advantages over plain tool output:
- Rich visualization — SVG charts, color-coded cards, expandable detail panels
- Interactive controls — search fields, date range pickers, click-to-expand rows
- Deterministic data fetching — apps call FHIR tools directly, no LLM involvement in data retrieval
- Zero external dependencies — everything inlines into a single HTML file, embedded in the binary
- Works offline — no CDN, no external scripts, no network requests beyond FHIR API calls
Built-in Apps
Both apps are reference implementations demonstrating the MCP Apps pattern. See apps/README.md for architecture details and how to build new apps.
[Patient Chart Review — clinical dashboard with vitals trends, conditions, medications, and labs]
Patient Chart Review running inside Claude Desktop
Agent Usage
AI agents use LangCare MCP FHIR Server to help healthcare professionals access and manage patient health records through 4 FHIR tools. The server handles EMR authentication, allowing agents to focus on clinical workflows while maintaining strict privacy and accuracy standards.
Agent capabilities:
- Search, Read, Create, Update - Any FHIR R4 resource (Patient, Observation, Medication, etc.)
- Patient privacy - Use partial identifiers, confirm identity before updates
- Clinical accuracy - Verify data, use standard codes (LOINC, SNOMED, RxNorm)
- Professional communication - Structure responses with context, findings, and next steps
Common workflows:
- Patient lookup: Search by name/DOB → verify identity → read full details
- Clinical review: Retrieve labs, vitals, medications → present with reference ranges
- Documentation: Extract structured data → map to FHIR resources → confirm → create
- Updates: Verify existing resource → modify → confirm changes → update
System support:
- Works with any FHIR R4 resource type (60+ types including DocumentReference, Binary, Media)
- Automatic authentication and token refresh to EPIC, Cerner, OpenEMR, GCP Healthcare API
- HIPAA-compliant PHI handling with audit logging
- Comprehensive OAuth2 scopes for clinical data access
📖 Complete guide: Agent Prompt Guide - System prompt, tool examples, workflows, and error handling
Clinical Skills Library (Optional)
40+ agent-agnostic clinical workflow guides that teach AI agents how to perform complex healthcare tasks using the MCP server's 4 FHIR tools (fhir_search, fhir_read, fhir_create, fhir_update).
- Optional - The MCP server works without them
- Portable - Work with Claude, ChatGPT, Gemini, or any AI agent
- Evidence-based - Built on USPSTF, ADA, ACC/AHA, CDC, ACOG, KDIGO, and other society guidelines
- Copy-paste ready - Add a skill's
SKILL.mdto your agent's system prompt or custom instructions
Skill Categories (40 Skills)
Full catalog with links: skills/README.md
How to Use Skills
- Browse the skills/core/ directory and pick a skill
- Copy the skill's
SKILL.mdcontent into your AI agent's system prompt or custom instructions - Reference files in each skill's
references/subdirectory contain detailed clinical knowledge (scoring criteria, code tables, thresholds) that can optionally be included for deeper clinical accuracy
Integration guides: Claude | ChatGPT | Gemini
Community contributions welcome - see CONTRIBUTING.md for guidelines.
Development & Testing
Build from Source
Run Locally (stdio mode)
Run in HTTP Mode (Streamable HTTP)
Starts the server with Streamable HTTP transport on /mcp and health check on /health.
Run Tests
Lint Code
Deploy to Fly.io (Remote Streamable HTTP)
Deploy as a remote MCP server with Streamable HTTP transport, accessible by any MCP-compatible AI agent from anywhere.
Connect any MCP client to:
Claude Desktop (claude_desktop_config.json):
Supports EPIC and GCP Healthcare API providers. See fly/README.md for provider setup, secrets, and full deployment guide.
Local Testing with EPIC
For step-by-step instructions on setting up EPIC credentials and testing locally:
This guide covers:
- Generating RSA keys and JWKS
- Configuring EPIC credentials
- Running the server locally
- Testing with Claude Desktop
- Troubleshooting common issues
Quick credential test:
Project Structure
Note: The following are gitignored and not committed:
keys/- Private keys and credentialsconfig.local.*.yaml- Local configuration filesbin/- Compiled binaries.env- Environment variablesapps/node_modules/,apps/dist/,apps/dist-tmp/- App build artifacts
Healthcare Voice Agent
Real-time voice AI that lets patients ask about their health records and get spoken answers pulled directly from their EMR.
[Healthcare Voice Agent Architecture — PipeCat + LangCare MCP]
The stack: PipeCat (open-source, Daily.co) for the voice pipeline — STT, LLM orchestration, TTS with sub-3-second latency. Claude for clinical reasoning and tool calling. LangCare MCP FHIR Server (open-source, Go) as a stateless proxy to any FHIR R4 EMR — Epic, Cerner, GCP Healthcare API.
MCP is the glue. PipeCat's native MCP client auto-discovers FHIR tools at startup. Patient asks "What medications am I on?" — Claude calls fhir_search — PipeCat routes it to the MCP server — data comes back — Claude responds in natural speech. No manual tool schemas needed.
Three-layer HIPAA auth: Caller identity verified before the session starts, bearer token to MCP, OAuth2/SMART on FHIR to EMR. Zero PHI storage.
Everything is swappable. Replace Claude with Gemini, DeepGram with Google STT, Daily with WebSocket. The MCP FHIR layer and clinical prompts stay the same.
Full documentation and setup guide
LangCare CLI
Command-line interface that wraps the 4 FHIR MCP tools (fhir_search, fhir_read, fhir_create, fhir_update) as CLI subcommands over HTTP. Built for AI agent frameworks that don't speak MCP natively — LangChain, smolagents, CrewAI, AutoGen, and any framework that can call a subprocess. The CLI handles the MCP session handshake internally, so agents get clean JSON on stdout with no protocol knowledge required.
The 40+ clinical skills in the Skills Library work as-is — skills reference abstract tool names, not transport. Register the CLI as subprocess tools in your agent framework and skills run without modification.
Full documentation and setup guide
Documentation
Getting Started
- 📖 Local Development & Testing Guide - Complete guide for local setup and testing
- 🚀 Installation & Configuration - Quick setup guide above
Agent Integration
- 🤖 Agent Prompt Guide - Complete guide for AI agents using LangCare MCP FHIR (tool examples, workflows, best practices)
Security & Authentication
- 🛡️ Security Documentation - Complete security architecture and HIPAA compliance
- 🔐 EPIC Setup Guide - JWT authentication, key generation, and JWKS registration
- 🔐 OpenEMR Setup Guide - SMART on FHIR Backend Services (
private_key_jwt/RS384) setup, JWKS generation, and OpenEMR API client registration - 📋 EPIC Scopes Reference - Complete OAuth2 scopes guide for FHIR resources
- 🔑 Authentication Methods - Supported auth methods
Deployment
- Fly.io Deployment Guide - Remote Streamable HTTP deployment, provider configs, secrets, Docker
Development & Testing
- 🧪 Testing Methods - Claude Desktop, MCP Inspector, manual testing, and automation
- 📦 Project Structure - Directory layout and architecture
- 🔧 Build Commands - Development workflow
Dependencies
github.com/modelcontextprotocol/go-sdk- Official MCP SDKgopkg.in/yaml.v3- Configuration parsinggolang.org/x/oauth2- OAuth2 client librarygithub.com/golang-jwt/jwt/v5- JWT signing and verification- Go 1.25+
HIPAA Compliance
- PHI scrubbing enabled by default
- Never logs patient identifiers
- TLS support for HTTP transport
- Proper error sanitization
- Audit logging ready
- Stateless proxy design (no persistent storage)
Testing
Public Test Server
Default configuration uses HAPI FHIR public test server (https://hapi.fhir.org/baseR4) for immediate testing without setup.
Test Your Setup
- 📖 Local Development & Testing Guide - Complete guide for setup, testing with Claude Desktop, MCP Inspector, and automation
- 🔐 EPIC Security Setup - Detailed EPIC authentication guide
- 🛡️ Security Documentation - Production deployment and security
Claude Managed Agents
9 production-ready clinical AI agents built on the Anthropic Managed Agents API. Each agent connects to a LangCare MCP FHIR Server and uses a curated set of domain-specific clinical skills drawn from the 40+ Clinical Skills Library. Sessions are persistent, visible at platform.claude.com/workspaces/default/sessions, and can be run interactively or driven by a single prompt.
[LangCare — Claude Managed Agents]
Quickstart
setup.sh is idempotent — safe to re-run. At the end it prints the Environment ID and Vault ID needed for sessions.
Full guide: cma/README.md — env vars, all scripts reference, troubleshooting.
Contributing
We welcome contributions from healthcare professionals, developers, and informaticists!
There are three main ways to contribute:
1. Core MCP Server (Go Development)
- Bug fixes and performance improvements
- New FHIR provider implementations (AllScripts, Athenahealth, etc.)
- Security enhancements and observability features
- Testing and CI/CD improvements
2. Clinical Skills (Healthcare Workflows)
- Evidence-based clinical workflows using FHIR
- Specialty-specific protocols (cardiology, oncology, etc.)
- Population health and quality measure workflows
- Clinical decision support algorithms
Skills are agent-agnostic workflow guides that work across Claude, ChatGPT, and Gemini. No coding required - just clinical expertise and FHIR knowledge!
3. MCP Apps (Interactive UIs)
- New clinical or administrative UI apps
- Enhancements to existing apps (FHIR Explorer, Patient Chart Review)
- Reusable components and patterns for healthcare UIs
See apps/README.md for the development guide.
4. Agent Integrations (Platform Setup)
- Setup guides for new AI platforms
- Deployment examples (Docker, Kubernetes, cloud)
- Monitoring and observability setups
- CI/CD pipelines
Get started: Read CONTRIBUTING.md for detailed guidelines, code standards, and submission process.
Recognition: Contributors are credited in README, release notes, and skill/integration author credits. Outstanding contributors may be invited as maintainers.
Questions? Open a GitHub Discussion or issue!
Community
- GitHub Discussions - Ask questions, share ideas: https://github.com/langcare/langcare-mcp-fhir/discussions
- GitHub Issues - Report bugs, request features: https://github.com/langcare/langcare-mcp-fhir/issues
- Contributing Guide - How to contribute: https://github.com/langcare/langcare-mcp-fhir/blob/main/CONTRIBUTING.md
- Skills - Clinical workflows: https://github.com/langcare/langcare-mcp-fhir/blob/main/skills/README.md
License
See LICENSE file.
Built with ❤️ by the LangCare team and contributors.
Improving healthcare through better AI infrastructure.
来源:README.md,提交 430598b
工具
0版本历史
1- v2.0.4最新Sep 16, 2026
评分
已满足适用检查项的 50%
该评分衡量此收录条目的完整程度,依据注册中心条目、端点与公开来源计算得出。它不是对服务器本身的评价,也不表示服务器安全或当前可用:可连通性是带日期的检查结果,评分也不包含安装量或用户评价。
- 近 30 天内可连通25 分
请保持端点能够响应 MCP 握手;SourceWeft 每 30 天探测一次。
- 已声明认证方式10 分
请在注册中心条目中声明凭据请求头,或保持端点能够响应探测,以便判定其认证方式。
- 已列出工具15 分
请让服务器在无凭据时响应 tools/list,或发布可在沙箱中无凭据启动的软件包。
- 描述必需15 分
- 图标10 分
- 文档15 分
- 许可证10 分