Agent Care MCP服务器使用说明

项目简介

Agent Care 是一个 Model Context Protocol (MCP) 服务器,旨在为大型语言模型 (LLM) 应用提供医疗健康领域的上下文信息和功能。它主要用于连接电子病历 (EMR) 系统,如 Cerner 和 Epic,并提供工具来访问患者数据、进行医学研究,从而增强 LLM 在医疗健康场景下的应用能力。

主要功能点

  • EMR系统集成: 通过 SMART on FHIR API 和 OAuth2 认证,安全连接 Cerner 和 Epic 等 EMR 系统。
  • 患者数据访问: 提供多种工具,用于检索患者的 demographics 信息、观测数据 (如生命体征、实验室结果)、病历、用药记录、过敏史等 FHIR 资源。
  • 医学研究工具: 集成了 PubMed、ClinicalTrials.gov 和 FDA API,支持医学文献、临床试验和药品信息的检索。
  • Claude/Goose Desktop 集成: 专门为 Anthropic Claude Desktop 和 Goose Desktop 等 MCP 客户端设计,方便集成和使用。
  • 数据缓存与错误处理: 具备响应缓存机制,优化数据访问效率,并提供错误处理机制,提升系统稳定性。

安装步骤

  1. 克隆仓库 在你的本地计算机上克隆 Agent Care MCP 服务器仓库:
    git clone https://github.com/Kartha-AI/agentcare-mcp
    cd agentcare-mcp
  2. 安装依赖 使用 npm 安装项目依赖:
    npm install
  3. 构建项目 构建 TypeScript 项目:
    npm run build

服务器配置 (MCP 客户端配置)

为了让 MCP 客户端(如 Claude Desktop 或 Goose Desktop)连接到 Agent Care MCP 服务器,您需要在客户端的配置文件中添加服务器配置信息。以下是 Claude Desktop 配置文件 'claude_desktop_config.json' 的配置示例,Goose Desktop 的配置方式类似。

{
  "mcpServers": {
    "agent-care": {
      "command": "node",
      "args": [
        "/path/to/agentcare-mcp/build/index.js"  // 替换为 agentcare-mcp 项目 build/index.js 的实际路径
      ],
      "env": {
        "OAUTH_CLIENT_ID": "YOUR_OAUTH_CLIENT_ID",           // 你的 EMR OAuth Client ID
        "OAUTH_CLIENT_SECRET": "YOUR_OAUTH_CLIENT_SECRET",     // 你的 EMR OAuth Client Secret
        "OAUTH_TOKEN_HOST": "EMR_OAUTH_TOKEN_HOST",          // EMR OAuth Token Host (例如,Cerner: "https://authorization.cerner.com")
        "OAUTH_AUTHORIZE_PATH": "EMR_OAUTH_AUTHORIZE_PATH",   // EMR OAuth Authorize Path (例如,Cerner: "/tenants/.../authorize")
        "OAUTH_TOKEN_PATH": "EMR_OAUTH_TOKEN_PATH",           // EMR OAuth Token Path (例如,Cerner: "/tenants/.../token")
        "OAUTH_AUDIENCE": "EMR_FHIR_API_URL",               // EMR FHIR API URL (例如,Cerner: "https://fhir-ehr.cerner.com/r4/...")
        "OAUTH_CALLBACK_URL": "http://localhost:3456/oauth/callback", // OAuth 回调 URL (默认: http://localhost:3456/oauth/callback)
        "OAUTH_SCOPES": "FHIR_SCOPES",                      // 必需的 FHIR Scopes (例如, "user/Patient.read user/Observation.read ...")
        "OAUTH_CALLBACK_PORT": 3456,                        // OAuth 回调端口 (默认: 3456)
        "FHIR_BASE_URL": "EMR_FHIR_API_URL",                 // EMR FHIR Base URL (同 OAUTH_AUDIENCE)
        "PUBMED_API_KEY": "YOUR_PUBMED_API_KEY",           // 你的 PubMed API Key
        "CLINICAL_TRIALS_API_KEY": "YOUR_CLINICAL_TRIALS_API_KEY", // 你的 Clinical Trials API Key
        "FDA_API_KEY": "YOUR_FDA_API_KEY"                  // 你的 FDA API Key
      }
    }
  }
}

注意:

  • 请将 '/path/to/agentcare-mcp' 替换为 'agentcare-mcp' 项目在您本地文件系统中的实际路径。
  • 'YOUR_OAUTH_CLIENT_ID', 'EMR_OAUTH_TOKEN_HOST', 'FHIR_SCOPES' 等占位符需要替换为您的实际 EMR 系统和 API 密钥信息。
  • 详细的 Cerner 和 Epic EMR 配置信息,请参考仓库 'README.md' 文件中的 "Development Configuration" 部分。

基本使用方法

  1. 启动 MCP 服务器: Agent Care MCP 服务器在配置完成后,会在 MCP 客户端(如 Claude Desktop 或 Goose Desktop)启动时自动运行。
  2. 在 LLM 中调用工具: 在 LLM 对话中,您可以指示 LLM 使用预定义的工具来获取医疗健康信息。例如,您可以指示 LLM 调用 'find_patient' 工具来搜索患者,或调用 'get_patient_observations' 工具来获取患者的生命体征数据。
  3. 工具参数: 每个工具都有其特定的参数,例如 'find_patient' 工具需要 'lastName' 参数,'get_patient_observations' 工具需要 'patientId' 参数。请参考 'README.md' 或 'build/server/constants/tools.js' 文件中 'TOOL_DEFINITIONS' 获取工具的详细参数信息。

示例工具

FHIR 工具:

  • 'find_patient': 通过姓名、出生日期等信息查找患者。
  • 'get_patient_observations': 获取患者的观测数据,如生命体征、实验室结果等。
  • 'get_patient_conditions': 获取患者的诊断和病历信息。
  • 'get_patient_medications': 获取患者的用药医嘱。
  • 'clinical_query': 执行自定义 FHIR 查询。

医学研究工具:

  • 'search-pubmed': 搜索 PubMed 医学文献。
  • 'search-trials': 搜索 ClinicalTrials.gov 临床试验信息。
  • 'drug-interactions': 检查药物相互作用。

测试用户登录 (Sandbox/Dev 环境)

  • Cerner: 用户名 'portal' | 密码 'portal'
  • Epic: 用户名 'FHIRTWO' | 密码 'EpicFhir11!'

信息

分类

商业系统