Agent Care: CernerやEpicなどのEMR向けMCPサーバー
Claude Desktop および Goose Desktop を使用して Cerner や Epic などの EMR 上の FHIR データおよび医療リソースと対話するための医療ツールとプロンプトを提供する Model Context Protocol (MCP) サーバー。
デモ

Related MCP server: Azure AHDS FHIR MCP Server
特徴
SMART on FHIR APIを使用したEMR統合
OAuth2を使用してEMRで認証する
アントロピック・クロード・デスクトップ統合
医学研究の統合(PubMed、臨床試験、FDA)
レスポンスのキャッシュ
エラー処理
Null安全なデータフォーマット
包括的な臨床分析
スクリーンショット
ツール
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配列が必要です
開発構成
Cerener で使用するには、 https://code-console.cerner.comにアクセスしてサンドボックス アカウントを作成し、新しいプロバイダー アプリを作成してクライアント ID/シークレットを取得します。(注: 以下の ec2458f2-1e24-41c8-b71b-0e701af7583d は、Cerener 開発者サンドボックスのテナント ID です)
Epic で使用するには: https://fhir.epic.com/Developer/Appsにアクセスし、開発者としてサインアップして新しいアプリを作成し、clientId/secret を取得します。
PubMed、Clinical Trials、FDA の場合は、それぞれの Web サイトから API キーを取得する必要があります。
ローカル テストの場合、ルート ディレクトリに.envファイルを作成するか、claude デスクトップの起動構成でこれらの環境変数を使用します。
セルナー
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すごい
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_keyMCP サーバーをローカルで起動する
git clone {agentcare-mcp-github path}
cd agentcare-mcp
npm install
npm run buildクロードデスクトップを使用する
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 Inspectoprを使用する
(MCP サーバーはインスペクターを使用しています。.env ファイルを正しい値で更新してください。)
npm install -g @modelcontextprotocol/inspector
mcp-inspector build/index.js
http://localhost:5173
ユーザーログインのテスト
(サンドボックス/開発でよく使用されます)
検索: ポータル | ポータル
エピック: FHIRTWO | EpicFhir11!
トラブルシューティング:
Claudeデスクトップが実行中の場合、認証にポート3456を使用します。以下のコマンドを使用して、そのプロセスを終了してください。
kill -9 $(lsof -t -i:3456)グースを使う
Gooseは、Block(Stripe)が開発したオープンソースのAIエージェントフレームワークで、MCPサーバーで動作します。Goose Desktopは、MCPサーバーで動作するClaude Desktopに似ています。ただし、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 で構成されます)