AgentCare
一个 MCP 服务器,提供医疗保健工具,用于与 Cerner 和 Epic 等 EMR 上的 FHIR 数据和医疗资源进行交互。
README
Agent Care:适用于 Cerner 和 Epic 等 EMR 的 MCP 服务器
一个模型上下文协议 (MCP) 服务器,它提供医疗保健工具和提示,用于在使用 Claude Desktop 和 Goose Desktop 的 Cerner 和 Epic 等 EMR 上与 FHIR 数据和医疗资源进行交互。
演示
功能
- 使用 SMART on FHIR API 进行 EMR 集成
- 使用 OAuth2 向 EMR 进行身份验证
- Anthropic Claude Desktop 集成
- 医学研究集成(PubMed、临床试验、FDA)
- 响应缓存
- 错误处理
- Null 安全数据格式化
- 全面的临床分析
截图
<img src="screenshots/cerner.png" alt="Cerner" width="700"> <img src="screenshots/epic.png" alt="Epic" width="700"> <img src="screenshots/converse.png" alt="Converse" width="700"> <img src="screenshots/soap.png" alt="Soap Notes" width="700"> <img src="screenshots/timeline.png" alt="Timeline" width="700">
工具
FHIR 工具
find_patient
- 按姓名、出生日期或其他标识符搜索患者get_patient_observations
- 检索患者观察/生命体征get_patient_conditions
- 获取患者的活动状况get_patient_medications
- 获取患者当前的药物get_patient_encounters
- 获取患者的临床就诊记录get_patient_allergies
- 获取患者的过敏和不耐受get_patient_procedures
- 获取患者的手术get_patient_careteam
- 获取患者的护理团队成员get_patient_careplans
- 获取患者的活动护理计划get_vital_signs
- 获取患者的生命体征get_lab_results
- 获取患者的实验室结果get_medications_history
- 获取患者的用药史clinical_query
- 执行自定义 FHIR 查询
医学研究工具
search-pubmed
- 搜索与医疗状况相关的 PubMed 文章search-trials
- 查找相关的临床试验drug-interactions
- 检查药物相互作用
用法
每个工具都需要特定的参数:
必需参数
- 大多数工具都需要
patientId
- 一些工具还有其他参数:
lab_trend_analysis
:需要labType
search-pubmed
:需要query
和可选的maxResults
search-trials
:需要condition
和可选的location
drug-interactions
:需要drugs
数组
开发配置
-
要与 Cerner 一起使用:转到 https://code-console.cerner.com 并创建一个沙盒帐户,创建一个新的提供商应用程序并获取 clientId/secret。 (注意:ec2458f2-1e24-41c8-b71b-0e701af7583d 是 Cerner 开发人员沙盒的租户 ID)
-
要与 Epic 一起使用:转到 https://fhir.epic.com/Developer/Apps,注册成为开发人员并创建一个新的应用程序并获取 clientId/secret。
-
对于 PubMed、临床试验和 FDA,您需要从各自的网站获取 API 密钥。
- https://clinicaltrials.gov/api/v2/studies
- https://eutils.ncbi.nlm.nih.gov/entrez/eutils
- https://api.fda.gov/drug/ndc.json
对于本地测试,在根目录中创建一个 .env
文件,或者在 Claude Desktop 启动配置中使用这些环境变量。
Cerner
OAUTH_CLIENT_ID="XXXXX",
OAUTH_CLIENT_SECRET="XXXXXXX",
OAUTH_TOKEN_HOST="https://authorization.cerner.com",
OAUTH_AUTHORIZE_PATH="/tenants/ec2458f2-1e24-41c8-b71b-0e701af7583d/protocols/oauth2/profiles/smart-v1/personas/provider/authorize",
OAUTH_AUTHORIZATION_METHOD='header',
OAUTH_TOKEN_PATH="/tenants/ec2458f2-1e24-41c8-b71b-0e701af7583d/hosts/api.cernermillennium.com/protocols/oauth2/profiles/smart-v1/token",
OAUTH_AUDIENCE="https://fhir-ehr.cerner.com/r4/ec2458f2-1e24-41c8-b71b-0e701af7583d",
OAUTH_CALLBACK_URL="http://localhost:3456/oauth/callback",
OAUTH_SCOPES="user/Patient.read user/Condition.read user/Observation.read user/MedicationRequest.read user/AllergyIntolerance.read user/Procedure.read user/CarePlan.read user/CareTeam.read user/Encounter.read user/Immunization.read",
OAUTH_CALLBACK_PORT="3456"
FHIR_BASE_URL:any = "https://fhir-ehr.cerner.com/r4/ec2458f2-1e24-41c8-b71b-0e701af7583d"
PUBMED_API_KEY=your_pubmed_api_key
CLINICAL_TRIALS_API_KEY=your_trials_api_key
FDA_API_KEY=your_fda_api_key
Epic
OAUTH_CLIENT_ID="XXXXXXX",
OAUTH_CLIENT_SECRET="",
OAUTH_TOKEN_HOST="https://fhir.epic.com",
OAUTH_AUTHORIZE_PATH="/interconnect-fhir-oauth/oauth2/authorize",
OAUTH_AUTHORIZATION_METHOD='body',
OAUTH_TOKEN_PATH="/interconnect-fhir-oauth/oauth2/token",
OAUTH_AUDIENCE="https://fhir.epic.com/interconnect-fhir-oauth/api/FHIR/R4",
OAUTH_CALLBACK_URL="http://localhost:3456/oauth/callback",
OAUTH_SCOPES="user/Patient.read user/Observation.read user/MedicationRequest.read user/Condition.read user/AllergyIntolerance.read user/Procedure.read user/CarePlan.read user/CareTeam.read user/Encounter.read user/Immunization.read",
OAUTH_CALLBACK_PORT=3456
FHIR_BASE_URL:any = "https://fhir.epic.com/interconnect-fhir-oauth/api/FHIR/R4" //EPIC
PUBMED_API_KEY=your_pubmed_api_key
CLINICAL_TRIALS_API_KEY=your_trials_api_key
FDA_API_KEY=your_fda_api_key
在本地启动 MCP 服务器
git clone {agentcare-mcp-github path}
cd agentcare-mcp
npm install
npm run build
使用 Claude Desktop
for claude desktop:
macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
(use the env variables as shown above)
{
"mcpServers": {
"filesystem": {
"command": "npx",
"args": [
"-y",
"@modelcontextprotocol/server-filesystem",
"/Users/your-username/Desktop"
]
},
"agent-care": {
"command": "node",
"args": [
"/Users/your-username/{agentcare-download-path}/agent-care-mcp/build/index.js"
],
"env": {
"OAUTH_CLIENT_ID": XXXXXX,
"OAUTH_CLIENT_SECRET":XXXXXXX,
"OAUTH_TOKEN_HOST":,
"OAUTH_TOKEN_PATH":,
"OAUTH_AUTHORIZE_PATH",
"OAUTH_AUTHORIZATION_METHOD": ,
"OAUTH_AUDIENCE":,
"OAUTH_CALLBACK_URL":,
"OAUTH_SCOPES":,
"OAUTH_CALLBACK_PORT":,
"FHIR_BASE_URL":,
"PUBMED_API_KEY":,
"CLINICAL_TRIALS_API_KEY":,
"FDA_API_KEY":
}
}
}
}
使用 MCP Inspector
(使用 Inspector 的 MCP 服务器。请确保使用正确的值更新 .env 文件。)
npm install -g @modelcontextprotocol/inspector
mcp-inspector build/index.js
http://localhost:5173
测试用户登录
(通常用于沙盒/开发)
- Cerner:portal | portal
- Epic:FHIRTWO | EpicFhir11!
故障排除:
如果 Claude Desktop 正在运行,它将使用端口 3456 进行身份验证。您需要使用以下命令终止该进程:
kill -9 $(lsof -t -i:3456)
使用 Goose
Goose 是 Block(Stripe) 的一个开源 AI Agent 框架,可与 MCP 服务器配合使用。 Goose Desktop 类似于 Claude Desktop,可以与 MCP 服务器配合使用。 但是,可以将 Goose 配置为使用 Anthropic 以外的模型。 更多信息:https://block.xyz/inside/block-open-source-introduces-codename-goose
请参阅以下 Goose Desktop 如何与 Agent Care 配合使用: (goose 扩展将配置为命令: /Users/your-username/{agentcare-download-path}/agent-care-mcp/build/index.js)
<img src="screenshots/goose-extension.png" alt="Cerner"> <img src="screenshots/goose-env.png" alt="Epic"> <img src="screenshots/goose-model.png" alt="Converse" > <img src="screenshots/goose-in-action.png" alt="Soap Notes">
推荐服务器

VeyraX
一个单一的 MCP 工具,连接你所有喜爱的工具:Gmail、日历以及其他 40 多个工具。
Neon MCP Server
用于与 Neon 管理 API 和数据库交互的 MCP 服务器
Exa MCP Server
模型上下文协议(MCP)服务器允许像 Claude 这样的 AI 助手使用 Exa AI 搜索 API 进行网络搜索。这种设置允许 AI 模型以安全和受控的方式获取实时的网络信息。
AIO-MCP Server
🚀 集成了 AI 搜索、RAG 和多服务(GitLab/Jira/Confluence/YouTube)的一体化 MCP 服务器,旨在增强 AI 驱动的开发工作流程。来自 Folk。
Knowledge Graph Memory Server
为 Claude 实现持久性记忆,使用本地知识图谱,允许 AI 记住用户的信息,并可在自定义位置存储,跨对话保持记忆。
Hyperbrowser
欢迎来到 Hyperbrowser,人工智能的互联网。Hyperbrowser 是下一代平台,旨在增强人工智能代理的能力,并实现轻松、可扩展的浏览器自动化。它专为人工智能开发者打造,消除了本地基础设施和性能瓶颈带来的麻烦,让您能够:

any-chat-completions-mcp
将 Claude 与任何 OpenAI SDK 兼容的聊天完成 API 集成 - OpenAI、Perplexity、Groq、xAI、PyroPrompts 等。
Exa MCP Server
一个模型上下文协议服务器,它使像 Claude 这样的人工智能助手能够以安全和受控的方式,使用 Exa AI 搜索 API 执行实时网络搜索。
BigQuery MCP Server
这是一个服务器,可以让你的大型语言模型(LLM,比如Claude)直接与你的BigQuery数据对话!可以把它想象成一个友好的翻译器,它位于你的AI助手和数据库之间,确保它们可以安全高效地进行交流。
MCP Web Research Server
一个模型上下文协议服务器,使 Claude 能够通过集成 Google 搜索、提取网页内容和捕获屏幕截图来进行网络研究。