← 返回目录
C

ClinicalTrials.gov MCP Server

社区
通过 MCP 搜索 ClinicalTrials.gov 试验、获取研究详情和结果,并匹配符合条件的患者。
分类
其他 第 71 / 230
Stars
★ 99 热门
传输方式
stdio(本地进程) · Streamable HTTP
运行环境
Bun 1.3.0+ · Node.js 24+ · 远程托管(无需本地环境)
凭据
无需凭据
许可证
Apache-2.0
最近提交
工具数
7
60FMRS · C

该服务器提供了全面的工具来查询 ClinicalTrials.gov,包括高级搜索、患者匹配和研究结果提取。它设计良好,具有清晰的文档,并支持两种传输方式,使其适用于各种 MCP 客户端。

最强项 · 文档质量 15/20 最弱项 · 可靠性 8/20

可靠性
8/20
安全与权限
12/20
维护活跃度
12/20
文档质量
15/20
安装易用性
13/20
查看各项评分依据
可靠性 8/20
清单(server manifest)结构完整:声明 7 个工具、1 个资源、1 个提示词,与 README 的清单一致;stdio 与 streamable-http 双传输分别有包入口和默认环境变量。但本次仅能审阅 README 与清单,未提供源代码、CI 工作流或测试文件,无法验证 MCP 初始化/工具列表握手及真实行为;静态校准规定没有可验证执行证据时可靠性不得超过 12。另见细微不一致:README 的 stdio 示例设置 MCP_TRANSPORT_TYPE,而清单的 stdio 包环境变量中未列出该变量。2 个未关闭 issue 也提示边界情况未知。故给 8 分。
安全与权限 12/20
未触发任何红线:无恶意代码、无凭据窃取、无隐蔽外传、无破坏性默认操作,安装示例不含真实令牌。服务只读取 ClinicalTrials.gov 公共 API,无需 API 密钥,天然遵循最小权限。扣分项:HTTP 传输默认 MCP_AUTH_MODE=none 且无任何风险提示;find_eligible 会把患者的年龄、性别、病情与位置等健康数据发送给第三方公共 API/公共托管实例,但资料中没有任何 PHI/隐私告知或确认机制;数据流披露不完整。故给 12 分。
维护活跃度 12/20
存在 Apache-2.0 许可证、明确的版本号(2.8.5)与 CHANGELOG 链接、npm 与 Docker 多渠道分发,仓库未归档,开放 issue 仅 2 个,说明版本化与发布路径存在。扣分项:本次材料中无提交历史、issue 响应时效或依赖更新证据(这些无法从 README 验证);未提供安全策略或安全响应渠道;评分规则不允许把 star 数当作加分项。故给 12 分。
文档质量 15/20
README 分层清晰:工具/资源/提示词总表、各工具详细说明、配置表含默认值、公共托管与自托管 stdio/HTTP 安装示例、Docker、项目结构、开发指南,均已覆盖。扣分项:没有专门的故障排查/FAQ 章节;没有成文的限制与费用说明(仅提及限速与 5KB 摘要模式);存在轻微不一致(manifest 的 stdio 包未列出 MCP_TRANSPORT_TYPE;README 声称支持 Node.js>=24 但包参数硬编码 bun);缺少隐私/PHI 相关文档。故给 15 分。
安装易用性 13/20
提供多条安装路径:mcpb 一键安装、Cursor/VS Code 深链、公共托管端点示例、自托管 stdio/HTTP、Docker;步骤少且有现成客户端 JSON 配置片段。扣分项:清单把运行时硬编码为 bun(runtimeHint=bun 且参数为 "run start:stdio"),README 声称 Node.js>=24 也可运行,但纯 Node 环境下该参数可能无法执行;MCP_TRANSPORT_TYPE 未列入清单环境变量;且静态校准规定没有 CI+测试证据时 setup 不得超过 15。故给 13 分。

静态评测 · 未实际运行收录于 2026-08-07

查看 FMRS 评分方法 →

选型与风险

能访问什么访问网络

适合谁

  • 临床研究人员
  • 医疗保健专业人员
  • 患者导航员
  • 需要访问临床试验数据的 AI 代理

不适合谁

  • 不是临床试验的官方源,而是 ClinicalTrials.gov 的包装器
  • 不提供医疗建议
  • 不适合与 ClinicalTrials.gov API 兼容性之外的数据源配合使用

所需权限

  • 无需 API 密钥,使用公共 API
  • 可能需要网络访问以访问托管实例或安装包
  • 如果自托管,可能需要在系统上执行和执行权限

风险与副作用

  • 依赖 ClinicalTrials.gov API,可能发生变化或不可用
  • 从 API 获取的数据可能不完整或过时
  • 搜索结果的模糊匹配可能返回不相关的试验
  • 公开的托管实例可能受到速率限制或有隐私问题

安装接入

准备工作

运行环境:Bun 1.3.0+ · Node.js 24+ · 远程托管(无需本地环境)

其他可选配置项(11 个)
CT_API_BASE_URL 可选 ClinicalTrials.gov API 的基础 URL,默认 https://clinicaltrials.gov/api/v2,一般无需修改。
CT_REQUEST_TIMEOUT_MS 可选 每次请求的超时时间(毫秒),默认 30000。
CT_MAX_PAGE_SIZE 可选 分页大小上限,默认 200。
MCP_TRANSPORT_TYPE 可选 传输方式,可选 stdio 或 http,默认 stdio。
MCP_HTTP_HOST 可选 HTTP 服务器监听的主机名,默认 127.0.0.1。
MCP_HTTP_PORT 可选 HTTP 服务器端口,默认 3010。
MCP_HTTP_ENDPOINT_PATH 可选 MCP 服务器端点路径,默认 /mcp。
MCP_AUTH_MODE 可选 HTTP 传输的认证模式:none、jwt 或 oauth,默认 none。
MCP_LOG_LEVEL 可选 日志最低级别(RFC 5424),如 debug、info、warn,默认 info。
LOGS_DIR 可选 日志文件目录(仅 Node.js),默认项目根目录下的 logs。
OTEL_ENABLED 可选 是否启用 OpenTelemetry 追踪,默认 false。
  1. 克隆仓库:git clone https://github.com/cyanheads/clinicaltrialsgov-mcp-server.git。
  2. 进入目录:cd clinicaltrialsgov-mcp-server。
  3. 安装依赖:bun install。然后构建并运行:bun run build && bun run start:stdio(或 start:http)。也可以使用公共托管的实例:https://clinicaltrials.caseyjhand.com/mcp。
claude_desktop_config.json
{
  "mcpServers": {
    "clinicaltrialsgov-mcp-server": {
      "type": "stdio",
      "command": "bunx",
      "args": [
        "clinicaltrialsgov-mcp-server@latest"
      ],
      "env": {
        "MCP_TRANSPORT_TYPE": "stdio"
      }
    }
  }
}

以 Claude Desktop 为例。其他客户端的配置文件位置或字段可能不同(如 VS Code 使用 servers 字段),可用下方配置生成器转换。

.vscode/mcp.json
{
  "servers": {
    "clinicaltrialsgov-mcp-server": {
      "type": "stdio",
      "command": "bunx",
      "args": [
        "clinicaltrialsgov-mcp-server@latest"
      ],
      "env": {
        "MCP_TRANSPORT_TYPE": "stdio"
      }
    }
  }
}

写入项目的 .vscode/mcp.json(VS Code 使用 servers 字段)。

Terminal
claude mcp add clinicaltrialsgov-mcp-server -e MCP_TRANSPORT_TYPE=stdio -- bunx clinicaltrialsgov-mcp-server@latest

在终端运行;先把 <…> 占位符换成你自己的值。

验证是否装好

将客户端连接到服务器后,检查工具列表中是否出现 clinicaltrials_search_studies 等七个工具;然后发送一个如“搜索糖尿病的招募中试验”的请求,若能返回研究列表则说明安装成功。

常见排障

  1. 确保运行最新版本,并使用 bunx 运行
  2. 检查环境变量,如 CT_API_BASE_URL(默认为 https://clinicaltrials.gov/api/v2)
  3. 确认网络连接,因为 API 不应需要身份验证
  4. 如果查询失败,检查 API 速率限制和重试逻辑

试试这样问

连接成功后,可以直接对 AI 助手这样说:

  • 搜索正在招募中的2型糖尿病相关临床试验,列出前10项研究。
  • 帮我获取 NCT ID 为 NCT04356530 的试验的完整记录。
  • 根据这位45岁女性患者的乳腺癌病情和所在城市,找出她可能符合入组条件的招募中试验。
  • 统计一下关于阿尔茨海默病的临床试验总数。

工具能力 7

clinicaltrials_search_studies 只读
使用全文查询、过滤器、分页、排序和字段选择来搜索研究。
clinicaltrials_get_study_record 只读
按 NCT ID 获取单个研究,返回完整的记录,包括方案、资格、结果、分组、干预措施、联系人和地点。
clinicaltrials_get_study_count 只读
在不获取数据的情况下获取查询的研究总数,提供快速的统计和分解。
clinicaltrials_get_field_values 只读
发现 API 字段(如状态、阶段、研究类型等)的有效值,并带每个值的计数。
clinicaltrials_get_field_definitions 只读
浏览研究数据模型字段树——片段名称、类型、嵌套,支持子树导航和关键字搜索。
clinicaltrials_get_study_results 只读
从已完成的研究中提取结果、不良事件、参与者流程和基线。可选的摘要模式将约 200KB 的负载减少到约 5KB。
clinicaltrials_find_eligible 只读
将患者的人口统计信息和病症与符合条件的招募中的试验进行匹配。提供年龄、性别、病症和地点,以找到具有匹配资格标准、联系人和招募地点的研究。

使用场景

搜索具有特定条件或干预措施的临床试验
获取试验的完整记录,包括资格标准和地点
将患者概况匹配到符合条件的招募试验
分析试验景观以获得统计数据
从已完成的研究中提取结果数据

支持客户端

Claude Desktop
Cursor
VS Code

依据项目文档列出,未经本站实测。

详细介绍

clinicaltrialsgov-mcp-server 是一个 MCP 服务器,提供七个工具,用于搜索 ClinicalTrials.gov 的临床试验、获取研究记录和结果、统计查询数量、探索字段值、浏览数据模型,以及根据患者的人口统计信息和病症匹配招募中的试验。支持 stdio 和 Streamable HTTP 传输,无需 API 密钥。该服务器构建在 @cyanheads/mcp-ts-core 之上,提供声明式工具定义、统一错误处理、结构化日志和可选的可观测性。

同类可选方案

BioMCP 75 · B

统一的命令行语法,接入约30个可信生物医学数据源。

★ 659 · 工具数 11 与当前对比 →

源版本 974b6cccacb8 数据同步于 2026-10-19 查看 FMRS 评分方法