Try it free in the sandbox · first FHIR call in 5 minutesFree · 30 synthetic patients · no card
面向 AI 代理的 FHIR MCP 服务器
通过 MCP 将 Claude Code、Cursor、VS Code 或 Claude Desktop 连接到 HL7 FHIR R4 API:用于读取记录的 20 个工具、AI 就绪上下文、写入、实验室导入和沙盒重置,在 30 名合成患者上免费。
Anpheros FHIR 是一个远程 MCP 服务器,可让 AI 代理(Claude、Claude Code、Cursor、VS Code、Claude Desktop)使用 HL7 FHIR R4 健康数据 API。 它通过两种方式连接:
- 使用免费沙盒密钥,面向开发者:您的代理可以列出患者,以 FHIR 或带有来源的 AI 就绪上下文格式读取其记录,写入观察结果,导入实验室报告,并重置其测试数据,所有这些都在 30 名具有真实病史的合成患者上进行。
- 使用 OAuth,面向个人及其自己的记录:助手注册自身,个人在 Anpheros 同意屏幕上登录并批准它,然后助手就可以在选定的时间内读取该一条记录,除非个人允许更多,否则为只读。
服务器地址:https://platform.anpheros.com/mcp (可流式传输的 HTTP,无状态)。
使用 OAuth 连接 (Claude 及其他助手)
将 https://platform.anpheros.com/mcp 添加为自定义连接器 (在 Claude 中:Settings → Connectors → Add custom connector)。无需其他配置:助手会自动发现授权服务器,进行注册,并打开 Anpheros 同意屏幕。在此屏幕上,用户将看到这是一个 AI 助手,其读取的内容将发送给运行该助手的公司,以及助手可以读取的内容、读取时长以及用户在做出选择后将返回何处。除非请求了更多权限并获得允许,否则访问权限为只读,并且用户可以随时撤销。
在私有测试版期间,OAuth 连接使用沙盒记录。在隐私政策更新后,将可以连接到真实记录。
使用沙盒密钥进行连接 (开发者)
- 在 platform.anpheros.com/dashboard 使用 Google 登录,然后选择 Get a sandbox key。您将获得一个
sk_test_…密钥和一个包含 30 名合成患者的项目。 - 将密钥放入环境变量中,例如
ANPHEROS_KEY,并将服务器添加到您的工具中。
Claude Code
claude mcp add --transport http anpheros-fhir https://platform.anpheros.com/mcp --header "Authorization: Bearer $ANPHEROS_KEY"
Cursor (项目中的 ~/.cursor/mcp.json 或 .cursor/mcp.json)
{
"mcpServers": {
"anpheros-fhir": {
"url": "https://platform.anpheros.com/mcp",
"headers": { "Authorization": "Bearer ${env:ANPHEROS_KEY}" }
}
}
}
VS Code (.vscode/mcp.json)
{
"servers": {
"anpheros-fhir": {
"type": "http",
"url": "https://platform.anpheros.com/mcp",
"headers": { "Authorization": "Bearer ${env:ANPHEROS_KEY}" }
}
}
}
Claude Desktop (claude_desktop_config.json,通过 mcp-remote 桥接)
{
"mcpServers": {
"anpheros-fhir": {
"command": "npx",
"args": ["-y", "mcp-remote", "https://platform.anpheros.com/mcp", "--header", "Authorization: Bearer ${ANPHEROS_KEY}"],
"env": { "ANPHEROS_KEY": "sk_test_…" }
}
}
}
然后,您可以向您的代理提问,例如:“列出沙盒中的患者,选择患有糖尿病的患者,并总结她过去六个月的 HbA1c。”
工具
| 工具 | 功能 |
|---|---|
list_patients |
项目中的患者:30 个合成的虚拟患者以及您创建的任何患者 |
get_patient_context |
单个患者的 AI 就绪上下文,在令牌预算内,每个项目都标有其来源 |
get_patient_summary |
国际患者摘要 (FHIR $summary),以您要求的语言 |
get_timeline |
按日期顺序排列的资源记录 |
get_health_patterns |
beta 版:变化和重复项,每个发现都带有其周期、证据和局限性;非诊断项 (指南) |
get_pattern_evidence |
beta 版:一个发现背后的所有资源 |
get_series |
beta 版:每天一个测量值,包含数据质量 |
compare_periods |
beta 版:在您选择的两个周期内的一个测量值 |
search_fhir |
标准 FHIR R4 搜索,返回一个 Bundle |
read_fhir_resource |
单个资源或其早期版本 |
get_provenance |
谁创建了资源、创建时间和来源系统 |
lookup_code |
按文本或代码查找 LOINC 代码(药品请使用 search_health_terms) |
search_health_terms |
以 20 种语言按名称、同义词、品牌或代码搜索症状、病症和治疗的公共目录 (指南) |
get_health_term |
单个目录条目及其代码、名称、MedlinePlus 摘要、来源链接和引用的 EMA / FDA 适应症 |
validate_fhir_resource |
在不保存的情况下检查资源 |
create_fhir_resource |
验证后写入资源 |
create_patient |
项目中的一个新创建的虚拟患者 |
import_lab_report |
将 CSV、HL7 v2 ORU^R01 或 JSON 格式的实验室报告转换为实验室 Observation |
sandbox_status |
写入今日使用情况、患者、存储、重置 |
reset_sandbox |
恢复 30 个合成患者(会请求确认) |
可读工具被标记为只读,重置操作被标记为破坏性操作,因此可以提前询问客户端是否进行风险操作。服务器还提供合成患者列表作为资源,以及三个提示:临床医生摘要、实验室 CSV 导入和基于 API 构建您的集成。
工作原理
- 与API的规则相同。 每个工具都使用您的密钥调用公共API:具有相同的范围、速率限制、验证和审计。只读密钥无法写入。
- 溯源。 代理写入的所有内容都会记录其来源
urn:anpheros:mcp,因此您始终可以知道哪些内容来自代理。 - 患者数据即数据。 工具结果会附带一条说明,记录内容绝不能作为指令遵循,这是防止通过病历进行提示注入的基本措施。
- 一条记录,经同意。 生产API密钥(
sk_live_…)被拒绝,因为它们会访问项目中的所有患者。真实的记录只有通过OAuth才能到达助手,并且在用户批准后,每次读取都会记录在其访问历史中。 - 标准发现。 没有凭证时,服务器会以401响应,并带有指向其OAuth保护的资源元数据(RFC 9728)的
WWW-Authenticate标头;助手通过动态客户端注册(RFC 7591)进行注册,并使用PKCE。注册只接受回环地址、已知编辑器的应用方案以及已知AI助手的回调域。
常见问题解答
什么是 MCP 服务器?
MCP (Model Context Protocol) 是一种开放协议,AI 代理和编码助手通过该协议调用外部工具。FHIR 的 MCP 服务器允许代理直接读写健康记录,而无需您将数据粘贴到聊天中。
免费吗?
是的。MCP 服务器在免费沙箱上运行:每个项目 30 个合成患者,每天最多 10,000 次写入,无需信用卡。
助手可以读取真实患者的记录吗?
仅通过 OAuth,在该人批准了同意屏幕上的助手后,在他们选择的时间段内,并且仅限于他们自己的记录(或他们关心的人的记录)。在私有测试版期间,OAuth 连接使用沙箱记录。
它使用哪个 FHIR 版本?
HL7 FHIR R4 (4.0.1),与 https://platform.anpheros.com/fhir/R4, 国际患者摘要以及同一数据的 REST 视图使用相同的 API。
它与 ChatGPT 一起使用吗?
ChatGPT 连接器使用 OAuth 和动态客户端注册,服务器支持该功能,并且其回调域已被接受。我们已使用官方 MCP SDK 客户端测试了该流程;如果 ChatGPT 连接失败,请写信至 [email protected]。Claude Code、Cursor 和 VS Code 也可使用沙箱密钥。
相关资源
Try it free in the sandbox · first FHIR call in 5 minutesFree · 30 synthetic patients · no card