AgentCare

AgentCare

一个 MCP 服务器,提供医疗保健工具,用于与 Cerner 和 Epic 等 EMR 上的 FHIR 数据和医疗资源进行交互。

数据库交互
数据与应用分析
访问服务器

README

Agent Care:适用于 Cerner 和 Epic 等 EMR 的 MCP 服务器

一个模型上下文协议 (MCP) 服务器,它提供医疗保健工具和提示,用于在使用 Claude Desktop 和 Goose Desktop 的 Cerner 和 Epic 等 EMR 上与 FHIR 数据和医疗资源进行交互。

smithery badge

演示

Demo

功能

  • 使用 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

VeyraX

一个单一的 MCP 工具,连接你所有喜爱的工具:Gmail、日历以及其他 40 多个工具。

官方
精选
本地
Neon MCP Server

Neon MCP Server

用于与 Neon 管理 API 和数据库交互的 MCP 服务器

官方
精选
Exa MCP Server

Exa MCP Server

模型上下文协议(MCP)服务器允许像 Claude 这样的 AI 助手使用 Exa AI 搜索 API 进行网络搜索。这种设置允许 AI 模型以安全和受控的方式获取实时的网络信息。

官方
精选
AIO-MCP Server

AIO-MCP Server

🚀 集成了 AI 搜索、RAG 和多服务(GitLab/Jira/Confluence/YouTube)的一体化 MCP 服务器,旨在增强 AI 驱动的开发工作流程。来自 Folk。

精选
本地
Knowledge Graph Memory Server

Knowledge Graph Memory Server

为 Claude 实现持久性记忆,使用本地知识图谱,允许 AI 记住用户的信息,并可在自定义位置存储,跨对话保持记忆。

精选
本地
Hyperbrowser

Hyperbrowser

欢迎来到 Hyperbrowser,人工智能的互联网。Hyperbrowser 是下一代平台,旨在增强人工智能代理的能力,并实现轻松、可扩展的浏览器自动化。它专为人工智能开发者打造,消除了本地基础设施和性能瓶颈带来的麻烦,让您能够:

精选
本地
any-chat-completions-mcp

any-chat-completions-mcp

将 Claude 与任何 OpenAI SDK 兼容的聊天完成 API 集成 - OpenAI、Perplexity、Groq、xAI、PyroPrompts 等。

精选
Exa MCP Server

Exa MCP Server

一个模型上下文协议服务器,它使像 Claude 这样的人工智能助手能够以安全和受控的方式,使用 Exa AI 搜索 API 执行实时网络搜索。

精选
BigQuery MCP Server

BigQuery MCP Server

这是一个服务器,可以让你的大型语言模型(LLM,比如Claude)直接与你的BigQuery数据对话!可以把它想象成一个友好的翻译器,它位于你的AI助手和数据库之间,确保它们可以安全高效地进行交流。

精选
MCP Web Research Server

MCP Web Research Server

一个模型上下文协议服务器,使 Claude 能够通过集成 Google 搜索、提取网页内容和捕获屏幕截图来进行网络研究。

精选