这是一个模型上下文协议(MCP)服务器,提供与Cerner和Epic等电子病历系统中的FHIR数据和医疗资源交互的医疗工具和提示,通过Claude Desktop和Goose Desktop实现。
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 - 检查药物相互作用每个工具都需要特定参数:
patientIdlab_trend_analysis:需要labTypesearch-pubmed:需要query,可选maxResultssearch-trials:需要condition,可选locationdrug-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,Clinical Trials和FDA,你需要从各自的网站获取API密钥。
对于本地测试,在根目录创建一个.env文件或在claude desktop启动配置中使用这些环境变量。
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_key
git clone {agentcare-mcp-github路径}
cd agentcare-mcp
npm install
npm run build
对于claude desktop:
macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
(使用上面显示的环境变量)
{
"mcpServers": {
"filesystem": {
"command": "npx",
"args": [
"-y",
"@modelcontextprotocol/server-filesystem",
"/Users/你的用户名/Desktop"
]
},
"agent-care": {
"command": "node",
"args": [
"/Users/你的用户名/{agentcare下载路径}/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":
}
}
}
}
(使用Inspector的MCP服务器。确保更新.env文件以包含正确的值。)
npm install -g @modelcontextprotocol/inspector
mcp-inspector build/index.js
http://localhost:5173
(通常用于沙盒/开发)
如果Claude desktop正在运行,它会使用端口3456进行身份验证。您需要使用以下命令终止该进程:
kill -9 $(lsof -t -i:3456)
Goose是一个来自Block(Stripe)的开源AI代理框架,可以与MCP服务器一起工作。Goose Desktop类似于Claude Desktop,可以与MCP服务器一起工作。但是Goose还可以配置为使用其他模型,而不仅仅是Anthropic。更多信息:https://block.xyz/inside/block-open-source-introduces-codename-goose
下面是如何使用Goose Desktop与Agent Care: (Goose扩展将被配置为命令: /Users/你的用户名/{agentcare下载路径}/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笔记">