关于 fhirfly
fhirfly 是连接 Claude Desktop 与 FHIRfly 医疗参考数据 API 的 MCP 服务,面向医疗工作流,支持查询药品、提供者、临床编码、理赔和互联数据。
主要功能
- 01搜索和查询药品及医疗提供者信息
- 02查询诊断、检验和疫苗编码
- 03获取 FDA 标签及药物相互作用信息
- 04检查理赔编辑、承保和支付数据
- 05查找 FHIR 端点及 Medicaid 目录
适用场景
- 01核查药品标签或相互作用
- 02根据 NPI 查询医疗提供者信息
- 03审核理赔使用的诊断和操作编码
- 04查找各州 Medicaid FHIR 端点
MCP 相关
本地 MCP 服务通过 HTTPS 将 Claude Desktop 接入 FHIRfly API,并提供医疗参考数据查询工具。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
工具
本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。
详细介绍
@fhirfly-io/mcp-server
用于将 Claude Desktop 连接到 FHIRfly 医疗参考数据 API 的 MCP(模型上下文协议)服务。
这是什么?
此软件包可让 Claude Desktop 查询真实的医疗参考数据,包括:
- NDC - 药品和包装(FDA)
- NPI - 医疗服务提供者标识符(CMS)
- RxNorm - 药品术语(NLM)
- LOINC - 实验室代码(Regenstrief Institute)
- ICD-10 - 诊断和手术代码(CMS)
- CVX/MVX - 疫苗代码(CDC)
- FDA Drug Labels - 处方信息
- SNOMED CT - 临床概念(IPS 免费集)
- HCC - CMS 层级疾病类别风险调整映射
- OPCS-4 - 英国 NHS 手术分类代码
- dm+d - 英国药品和医疗器械词典(NHS)
- UCUM - 统一计量单位代码(NLM)
- RxClass - 药品分类层级(NLM)
- HCPCS - II 级手术和耗材代码(CMS)
- MS-DRG - 用于住院支付的诊断相关组(CMS)
- POS - 用于理赔提交的服务地点代码(CMS)
- J-Code/NDC Crosswalk - HCPCS J 代码与 NDC 的双向映射(CMS)
- DDI Reference — 来自 FDA 标签的药物相互作用文本 + RxNorm 补充信息
- Connectivity - 医疗服务提供者 FHIR 端点和 Direct 地址
- SMA - 州医疗补助机构 FHIR 端点目录(CMS)
- Claims Intelligence - NCCI 编辑、MUE 限额、PFS/RVU 数据、覆盖范围裁定
当你向 Claude 询问药物、医疗服务提供者或临床代码时,它可以查询准确、最新的信息,而不是依赖训练数据。
前提条件
- Claude Desktop - 从 claude.ai/download 下载
- Node.js 18+ - 从 nodejs.org 下载
- FHIRfly API Key - 在 fhirfly.io 获取(提供免费套餐)
快速设置
步骤 1:获取 FHIRfly API Key
- 前往 fhirfly.io 并注册
- 前往 Dashboard > Credentials
- 点击 Create Credential 并选择 MCP (Claude Desktop)
- 复制你的 API 密钥(以
ffly_开头)
步骤 2:配置 Claude Desktop
找到你的 Claude Desktop 配置文件:
- macOS:
~/Library/Application Support/Claude/claude_desktop_config.json - Windows:
%APPDATA%\Claude\claude_desktop_config.json
添加 FHIRfly 服务配置:
{
"mcpServers": {
"fhirfly": {
"command": "npx",
"args": ["-y", "@fhirfly-io/mcp-server"],
"env": {
"FHIRFLY_API_KEY": "ffly_live_your_key_here"
}
}
}
}
将 ffly_live_your_key_here 替换为你的实际 API 密钥。
步骤 3:重启 Claude Desktop
完全退出 Claude Desktop,然后重新打开。现在应该可以使用 FHIRfly 工具了。
验证是否正常运行
尝试询问 Claude:
- “NDC 0069-0151-01 是什么?”
- “查询 NPI 1234567893”
- “在 CVX 数据库中搜索 COVID 疫苗”
- “Lipitor 有哪些药物相互作用?”
- “哪些州已启用 Medicaid FHIR 端点?”
- “显示加利福尼亚州 Medicaid 项目的 FHIR 端点详情”
- “毫克每分升的 UCUM 代码是什么?”
- “将 100 mg 转换为克”
- “HMG-CoA 还原酶抑制剂类中有哪些药物?”
- “检查阿司匹林和华法林之间的相互作用”
Claude 应该会使用 FHIRfly 工具查询真实数据。
可用工具
| 工具 | 描述 |
|---|---|
ndc_get | 根据 NDC 代码查询药品 |
ndc_search | 按名称、成分等搜索药品 |
npi_get | 根据 NPI 号码查询医疗服务提供者 |
npi_search | 按名称、专科、地点搜索医疗服务提供者 |
rxnorm_get | 根据 RxCUI 查询药品 |
rxnorm_search | 搜索药品术语 |
loinc_get | 根据 LOINC 代码查询实验室检测项目 |
loinc_search | 搜索实验室代码 |
icd10_get | 查询诊断/操作代码 |
icd10_search | 搜索 ICD-10 代码 |
cvx_get | 根据 CVX 代码查询疫苗 |
cvx_search | 搜索疫苗代码 |
mvx_get | 查询疫苗制造商 |
mvx_search | 搜索制造商 |
fda_label_lookup | 查询 FDA 药品标签 |
fda_label_search | 搜索药品标签 |
fda_label_safety | 获取安全信息(黑框警告、禁忌症) |
fda_label_interactions | 获取药物相互作用信息 |
fda_label_dosing | 获取剂量信息 |
fda_label_sections | 获取指定的标签章节 |
snomed_get | 根据 SNOMED CT ID 查询临床概念 |
snomed_search | 搜索 SNOMED CT IPS 概念 |
snomed_mappings | 查找 SNOMED 概念的跨术语映射 |
npi_connectivity | 查询医疗服务提供者的连接信息(FHIR 端点) |
sma_list_states | 列出具有 Medicaid FHIR 端点状态的州 |
sma_get_state | 获取某州的 SMA FHIR 端点详情 |
sma_stats | 获取 SMA 实施情况的汇总统计数据 |
ncci_validate | 检查两个代码是否可以同时计费(NCCI) |
mue_lookup | 查询服务的最高单位数(MUE 限额) |
pfs_lookup | 查询 Medicare 费用表/RVU 数据 |
coverage_check | 检查 LCD/NCD 保险覆盖判定 |
| HCPCS / MS-DRG / POS / J-Code 工具 | |
hcpcs_get | 查询 HCPCS Level II 操作/用品代码 |
hcpcs_modifier_get | 查询 HCPCS 修饰符代码 |
hcpcs_search | 搜索 HCPCS Level II 代码 |
msdrg_get | 查询 MS-DRG 代码 |
msdrg_search | 搜索 MS-DRG 代码 |
pos_get | 查询服务地点代码 |
jcode_by_hcpcs | 查找映射到 J-code/HCPCS 代码的 NDC |
jcode_by_ndc | 查找映射到 NDC 的 HCPCS 代码 |
| HCC / OPCS-4 工具 | |
hcc_get | 查询 ICD-10 代码对应的 HCC 风险调整映射 |
hcc_reverse | 查找映射到指定 HCC 类别的所有 ICD-10 代码 |
hcc_search | 按代码、模型或类别搜索 HCC 对照表 |
opcs4_get | 查询英国 NHS OPCS-4 操作代码 |
opcs4_search | 搜索 OPCS-4 操作代码 |
| dm+d 工具 | |
dmd_get | 根据 SNOMED 代码查询英国 dm+d 药品/医疗器械 |
dmd_search | 搜索英国 dm+d 药品和医疗器械 |
| UCUM 工具 | |
ucum_get | 查询 UCUM 单位代码(例如 mg、mL、kg/m2) |
ucum_search | 按名称或描述搜索计量单位 |
ucum_validate | 验证 UCUM 表达式是否正确 |
ucum_convert | 在兼容的 UCUM 单位之间转换数值 |
| RxClass 工具 | |
rxclass_get | 根据类别 ID 查询药物类别 |
rxclass_search | 按名称或类型搜索药物分类 |
rxclass_members | 列出属于某个药物类别的药品 |
| DDI 工具 | |
check_drug_interactions | 检查多种药品之间的药物相互作用(FDA 标签文本 + RxNorm) |
| 批处理工具 | |
ndc_batch | 查询多个 NDC 代码(最多 500 个) |
npi_batch | 查询多个 NPI 号码(最多 100 个) |
icd10_batch | 查询多个 ICD-10 代码(最多 100 个) |
rxnorm_batch | 查询多个 RxCUI(最多 100 个) |
loinc_batch | 查询多个 LOINC 代码(最多 100 个) |
cvx_batch | 查询多个 CVX 代码(最多 100 个) |
mvx_batch | 查询多个 MVX 代码(最多 100 个) |
fda_label_batch | 查询多个 FDA 标签(最多 50 个) |
配置选项
| 环境变量 | 说明 | 默认值 |
|---|---|---|
FHIRFLY_API_KEY | 你的 FHIRfly API 密钥(必填) | - |
FHIRFLY_API_URL | API 基础 URL | https://api.fhirfly.io |
FHIRFLY_DEBUG | 启用调试日志(1 或 true) | false |
FHIRFLY_TIMEOUT | 获取超时时间(毫秒) | 30000 |
故障排除
“FHIRFLY_API_KEY environment variable is required”
尚未配置 API 密钥。请确认:
- 你拥有来自 fhirfly.io 的有效 API 密钥
- 已将密钥设置在 Claude Desktop 配置中的
env部分 - 密钥以
ffly_开头
“Invalid API key format”
FHIRfly API 密钥以 ffly_ 开头。请检查是否复制了完整密钥。
“Authentication failed”
你的 API 密钥可能无效或已过期。请前往 fhirfly.io/dashboard/credentials 生成新密钥。
Claude 未显示 FHIRfly 工具
- 请确保完全退出并重新启动 Claude Desktop
- 检查配置文件语法(必须是有效的 JSON)
- 启用调试模式以查看具体情况:
{
"mcpServers": {
"fhirfly": {
"command": "npx",
"args": ["-y", "@fhirfly-io/mcp-server"],
"env": {
"FHIRFLY_API_KEY": "your_key",
"FHIRFLY_DEBUG": "1"
}
}
}
}
“Rate limit exceeded”
你已达到套餐的速率限制。请稍等片刻后重试,或前往 fhirfly.io 升级套餐。
工作原理
┌─────────────────┐ ┌─────────────────┐ ┌─────────────────┐
│ Claude Desktop │────▶│ This Package │────▶│ FHIRfly API │
│ │ │ (runs locally) │ │ (cloud) │
│ "What is │◀────│ │◀────│ │
│ NDC 123..." │ │ Translates MCP │ │ Returns drug │
│ │ │ ↔ HTTPS │ │ data │
└─────────────────┘ └─────────────────┘ └─────────────────┘
此软件包在你的计算机上运行,作为 Claude Desktop 与 FHIRfly API 之间的桥梁。它会:
- 通过 stdin 接收来自 Claude Desktop 的请求
- 将请求转换为发往 FHIRfly 的 HTTPS 请求
- 通过 stdout 将结果返回给 Claude
你的 API 密钥会通过 HTTPS 发送至 FHIRfly。医疗保健数据不会存储在本地。
链接
数据来源与许可
| 数据来源 | 提供方 | 许可证 |
|---|---|---|
| NDC Directory | FDA | 公有领域 |
| NPPES (NPI) | CMS | 公有领域 |
| RxNorm | NLM (NIH) | UMLS 许可证(免费) |
| LOINC | Regenstrief Institute | 免费,需注明出处 |
| ICD-10-CM/PCS | CMS | 公有领域 |
| CVX/MVX | CDC | 公有领域 |
| FDA 药品标签 | FDA/openFDA | 公有领域 |
| SNOMED CT IPS | SNOMED International | CC BY 4.0 |
| HCC 对照表 | CMS | 公有领域 |
| OPCS-4 | NHS England | OGL v3.0(王室版权) |
| dm+d | NHS England / NHSBSA | OGL v3.0(王室版权) |
| UCUM | NLM (NIH) / Regenstrief Institute | 免费,需注明出处 |
| RxClass | NLM (NIH) | UMLS 许可证(免费) |
| SMA 端点目录 | CMS | 公有领域 |
| HCPCS Level II | CMS | 公有领域 |
| MS-DRG | CMS | 公有领域 |
| 服务地点 | CMS | 公有领域 |
| J-Code/NDC 对照表 | CMS | 公有领域 |
| NCCI/MUE/PFS | CMS | 公有领域 |
| DDI 参考资料 | FDA + NLM | 公有领域 |
FHIRfly 汇总并编制了这些数据来源的索引。详情请参阅 fhirfly.io/docs。
更新日志
请参阅 CHANGELOG.md 查看发布历史。
许可证
MIT,详见 LICENSE
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。