快速结论
ClinicalTrials.gov MCP Server 是 cyanheads 维护的开源社区项目,通过 Model Context Protocol 把美国 ClinicalTrials.gov REST API v2 接入支持 MCP 的客户端。截至 2026-07-21,当前发布版为 v2.8.2,提供 7 个只读工具、1 个研究资源和 1 个试验格局分析提示。它不是美国国立医学图书馆、美国国立卫生研究院或 ClinicalTrials.gov 官方发布、审核或担保的 MCP 服务,官方身份只属于上游数据源。
它适合研究人员和医疗信息团队做公开试验发现、结构化提取与人工复核,不适合诊断、治疗建议、自动判定患者资格或替代研究中心确认。find_eligible 只是根据年龄、性别、疾病和地点缩小候选范围;纳入排除标准可能复杂、过期或未被结构化字段完整表达。患者是否可参加必须由试验团队和临床专业人员确认。
核心功能
- 试验搜索:按全文、疾病、干预、申办方、地点、状态和阶段查询,支持分页、排序、字段投影与地理距离过滤。
- 记录与结果读取:按 NCT ID 获取方案、资格、结局、干预、联系地点,以及已发布的结局、不良事件、参与者流程和基线数据。
- 计数与字段发现:快速统计查询结果,并查询状态、阶段等字段值及数据模型定义,便于 Agent 生成可验证过滤条件。
- 候选匹配:返回与基础人口统计和疾病条件相关的招募试验,但结果是候选清单而不是医学判断或招募承诺。
- 部署方式:支持本地
bunx/npxstdio、Streamable HTTP、Docker,以及可配置认证、日志和 OpenTelemetry 的自托管环境。
适合人群
- 需要把 ClinicalTrials.gov 公开数据接入研究助手的临床研究、药物情报和医学信息团队。
- 希望按 NCT ID 批量提取结构化结果,再由专业人员核验的分析人员。
- 能够自托管、限制日志、管理 MCP 客户端权限并建立医学审核流程的工程团队。
- 不适合患者直接提交完整病历,也不适合把输出用于自动分诊、诊断、处方或紧急医疗决策。
使用场景
研究团队可用它统计某疾病在不同阶段和地区的试验分布,读取目标研究的主要结局与不良事件字段,或为公开资料综述生成带 NCT ID 的候选集合。患者支持场景应只收集完成查询所必需的最少信息,优先使用去标识化年龄区间、疾病关键词和粗粒度地点,不应把姓名、电话、病历号、基因信息、影像、完整病史或自由文本病历发送给公共托管端点。
公开注册数据也不等于完整、实时或经独立验证的医学证据。记录由申办方或责任方提交,状态和联系方式可能滞后;结果缺失不代表治疗无效,字段存在也不代表结论可直接比较。任何面向患者的输出都应保留原始 NCT ID、查询日期、筛选条件、缺失字段和人工复核记录。
价格与版本
代码采用 Apache-2.0 许可证,ClinicalTrials.gov API 无需 API Key,公共社区端点和本地运行本身不收软件费。自托管仍会产生计算、网络、监控、安全审查和维护成本。v2.8.2 修复字段定义查询的恢复提示;版本变化应以仓库发布页为准,不要把静态页面当作兼容性承诺。
公共托管适合用非敏感查询验证功能;涉及患者、内部研究策略或受监管流程时,应优先审查源码后自托管,并固定依赖版本。生产环境还需评估 MCP 客户端、模型提供商和观测系统各自的费用与数据条款。
国内访问与使用体验
该项目依赖 GitHub、npm、公共社区域名和美国政府数据接口,中国大陆网络下的可达性、延迟与下载稳定性不能保证,因此标记 needsVPN: true 仅作为访问条件元数据。团队应在真实部署网络测试超时、限流、重试和上游不可用时的降级,不应把公共端点作为医疗关键系统的单一依赖。
隐私边界尤其重要:官方 ClinicalTrials.gov API 返回公开研究记录,但社区托管 MCP、MCP 客户端、所选大模型、代理网关和日志平台都可能看到查询内容。不要因为工具是“只读”就认为输入无风险;只读仅表示它不修改上游数据库。受 HIPAA、个人信息保护法、伦理审批或机构政策约束的数据,必须先完成合法性、最小化、去标识化、跨境、保留周期和供应商协议审查。
优点
- 7 个工具覆盖搜索、计数、字段发现、完整记录、结果提取和候选资格筛选。
- 结果工具支持分段和摘要输出,可减少大记录进入模型上下文的体积。
- 上游数据公开且无需 API Key,本地 stdio 便于把网络与日志边界收回组织内部。
- 工具只读、接口结构清晰,适合建立可追溯的研究检索原型。
- Apache-2.0 代码便于审计和按机构要求部署。
不足
- 非官方社区封装,维护、托管可用性和安全响应不由美国政府机构保证。
- 仅覆盖 ClinicalTrials.gov,不能代表其他国家注册库、论文全文、监管结论或真实世界证据。
- 患者匹配会受到结构化资格字段、同义词、地点更新和上游模糊检索影响。
- 公共托管链路会增加隐私、日志、跨境和第三方处理风险。
- MCP 返回结果仍可能被模型误读、遗漏或生成错误总结,必须核对官方记录。
替代品对比
| 工具 | 更适合 | 关键区别 |
|---|---|---|
| cyanheads PubMed MCP Server | 检索医学论文与摘要 | 侧重文献证据,不提供临床试验注册资格匹配 |
| Elicit | 文献综述与证据表格 | 产品化研究流程更强,但不是 ClinicalTrials.gov 专用 MCP |
| Consensus | 用自然语言查询论文结论 | 上手更快,细粒度注册字段控制较少 |
| Perplexity | 广泛网页研究与来源发现 | 覆盖面更广,但医疗结构化字段和可重复查询较弱 |
| Dify | 自建带权限和审核的研究应用 | 是应用编排平台,需要自行接入官方 API 和治理数据 |
| Claude | 阅读与总结已取得的研究资料 | 通用分析能力强,但不能替代受控数据连接器和医学复核 |
常见问题 FAQ
这是 ClinicalTrials.gov 官方 MCP 服务器吗?
不是。它是 cyanheads 开发的非官方社区封装,上游数据来自官方 ClinicalTrials.gov API,但代码、公共托管端点和支持均不代表政府机构。
它能判断患者一定符合试验资格吗?
不能。工具只能按有限字段生成候选,完整资格需要研究团队结合病历、检查、时间窗口和方案原文确认。
可以把患者病历发给公共托管端点吗?
不建议。公共实例不应接收可识别健康信息;应采用最小化、去标识化输入,并在合规审查后选择受控自托管方案。
只读工具是否意味着没有安全风险?
不是。只读表示不修改 ClinicalTrials.gov,查询、日志、模型上下文和输出仍可能泄露敏感信息或被错误解释。
v2.8.2 需要 ClinicalTrials.gov API Key 吗?
不需要。官方 v2 API 是公开接口,但仍受超时、限流和服务可用性影响。
研究结果可以直接用于治疗决策吗?
不能。注册记录不是个体医疗建议,应结合论文、监管资料、研究局限和持证临床人员判断。
总结
ClinicalTrials.gov MCP Server 把公开试验数据变成了适合 Agent 调用的结构化研究接口,搜索、字段发现和结果压缩都很实用。它的正确定位是非官方、只读、研究辅助连接器,而不是诊疗系统或患者资格裁决器。先用非敏感公开查询验证,再决定是否在经过审计的自托管环境中使用;全程保留来源、日期和筛选条件,并让医学专业人员回到官方记录完成最终核验。