mcpField
C
ClinicalTrials MCP Server

ClinicalTrials MCP Server

本地服务
github.com/JackKuo666健康医疗1881 周前更新

关于 ClinicalTrials MCP Server

面向健康科学研究的 ClinicalTrials.gov MCP 服务,可让 AI 助手搜索临床试验、获取 NCT 编号对应的详细资料,并将研究数据保存为 CSV。

主要功能

  1. 01按表达式或关键词搜索试验
  2. 02按 NCT 编号获取研究详情
  3. 03查询试验统计数据
  4. 04保存、读取和列出 CSV 文件
  5. 05通过资源访问研究数据

适用场景

  1. 01检索特定疾病的临床试验
  2. 02查看某项试验的详细资料
  3. 03保存搜索结果以供后续分析

MCP 相关

向 MCP 客户端提供临床试验搜索、详情与统计工具,以及试验和 CSV 数据资源。

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。

暂未收录安装方式

我们还没有获取到这个服务的安装包或远程地址,请按项目 README 中的说明安装。

代码仓库

工具

还没有获取到工具列表

本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。

详细介绍

临床试验 MCP 服务

smithery badge

🔍 通过简单的 MCP 接口,让 AI 助手能够搜索和访问 ClinicalTrials.gov 数据。

ClinicalTrials MCP 服务通过模型上下文协议(MCP),在 AI 助手与 ClinicalTrials.gov 临床试验库之间搭建桥梁。它允许 AI 模型以编程方式搜索临床试验并访问其内容。

🤝 参与贡献 • 📝 报告 Bug

✨ 核心功能

  • 🔎 试验搜索:使用自定义搜索字符串或高级搜索参数查询临床试验 ✅
  • 🚀 高效检索:快速访问试验元数据 ✅
  • 📊 元数据访问:使用 NCT ID 获取特定试验的详细元数据 ✅
  • 📊 研究支持:助力健康科学研究与分析 ✅
  • 📋 CSV 管理:保存、加载和列出包含试验数据的 CSV 文件 ✅
  • 🗃️ 本地存储:在本地保存试验数据,以便更快访问 ✅
  • 📊 统计信息:获取临床试验统计信息 ✅

🚀 快速开始

通过 Smithery 安装

通过 Smithery 自动为 Claude Desktop 安装 ClinicalTrials Server:

Claude
npx -y @smithery/cli@latest install ClinicalTrials-mcp-server --client claude --config "{}"
Cursor

将以下内容粘贴到 Settings → Cursor Settings → MCP → Add new server:

  • Mac/Linux
npx -y @smithery/cli@latest run ClinicalTrials-mcp-server --client cursor --config "{}" 
Windsurf
npx -y @smithery/cli@latest install ClinicalTrials-mcp-server --client windsurf --config "{}"
CLine
npx -y @smithery/cli@latest install ClinicalTrials-mcp-server --client cline --config "{}"
手动安装

使用 uv 安装:

uv tool install ClinicalTrials-mcp-server

用于开发:

# Clone and set up development environment
git clone https://github.com/JackKuo666/ClinicalTrials-MCP-Server.git
cd ClinicalTrials-MCP-Server

# Create and activate virtual environment
uv venv
source .venv/bin/activate
uv pip install -r requirements.txt

📊 用法

启动 MCP 服务:

python clinical_trials_server.py

服务启动后,你可以在 AI 助手或应用程序中使用提供的 MCP 工具。以下是一些工具用法示例:

示例 1:使用搜索表达式搜索临床试验并保存为 CSV
result = await mcp.use_tool("search_clinical_trials_and_save_studies_to_csv", {
    "search_expr": "COVID-19 vaccine efficacy",
    "max_studies": 5
})
print(result)
示例 2:按关键词获取研究
result = await mcp.use_tool("get_studies_by_keyword", {
    "keyword": "diabetes",
    "max_studies": 10
})
print(result)
示例 3:获取特定试验的完整研究详情
result = await mcp.use_tool("get_full_study_details", {
    "nct_id": "NCT04280705"
})
print(result)
示例 4:使用自定义字段搜索并保存研究
result = await mcp.use_tool("search_clinical_trials_and_save_studies_to_csv", {
    "search_expr": "alzheimer",
    "max_studies": 20,
    "filename": "alzheimer_studies.csv",
    "fields": ["NCT Number", "Study Title", "Brief Summary", "Conditions"]
})
print(result)

这些示例展示了如何使用 ClinicalTrials MCP 服务提供的主要工具。请根据具体用例调整参数。

🛠 MCP 工具

ClinicalTrials MCP 服务提供以下工具:

search_clinical_trials_and_save_studies_to_csv

使用搜索表达式搜索临床试验,并将结果保存到 CSV 文件。

参数:

  • search_expr(str):搜索表达式(例如,“Coronavirus+COVID”)
  • max_studies(int,可选):返回的研究数量上限(默认值:10)
  • save_csv(bool,可选):是否将结果保存为 CSV 文件(默认值:True)
  • filename(str,可选):要保存的 CSV 文件名(默认值:corona_fields.csv)
  • fields(list,可选):要包含的字段列表(默认值:NCT Number、Conditions、Study Title、Brief Summary)

**返回:**搜索结果的字符串表示

get_full_study_details

获取特定临床试验的详细信息。

参数:

  • nct_id(str):临床试验的 NCT ID

**返回:**研究详情的字符串表示

get_studies_by_keyword

获取与特定关键词相关的研究。

参数:

  • keyword(str):要搜索的关键词
  • max_studies(int,可选):返回的研究数量上限(默认值:20)
  • save_csv(bool,可选):是否将结果保存为 CSV 文件(默认值:True)
  • filename(str,可选):要保存的 CSV 文件名(默认值:keyword_results_{keyword}.csv)

**返回:**研究的字符串表示

get_study_statistics

获取临床试验统计信息。

参数:

  • condition(str,可选):用于筛选的可选病症

**返回:**统计信息的字符串表示

get_full_studies_and_save

获取完整研究数据并保存为 CSV。

参数:

  • search_expr(str):搜索表达式(例如,“Coronavirus+COVID”)
  • max_studies(int,可选):返回的研究数量上限(默认值:20)
  • filename(str,可选):要保存的 CSV 文件名(默认值:full_studies.csv)

**返回:**指示结果已保存的消息

load_csv_data

从 CSV 文件加载并显示数据。

参数:

  • filename(str):要加载的 CSV 文件名

**返回:**CSV 数据的字符串表示

list_saved_csv_files

列出当前目录中所有可用的 CSV 文件。

**返回:**可用 CSV 文件的字符串表示

🔍 MCP 资源

ClinicalTrials MCP Server 还提供以下资源:

clinicaltrials://corona_fields

将 corona 字段数据作为资源获取。

clinicaltrials://full_studies

将完整研究数据作为资源获取。

clinicaltrials://csv/{filename}

获取特定 CSV 文件中的数据。

参数:

  • filename(str):CSV 文件名
clinicaltrials://available_files

获取所有可用 CSV 文件的列表。

clinicaltrials://study/{nct_id}

根据 NCT ID 获取特定研究。

参数:

  • nct_id(str):临床试验的 NCT ID
clinicaltrials://condition/{condition}

获取与特定病症相关的研究。

参数:

  • condition(str):要搜索的病症

与 Claude Desktop 搭配使用

将此配置添加到你的 claude_desktop_config.json:

(Mac OS)

{
  "mcpServers": {
    "ClinicalTrials": {
      "command": "python",
      "args": ["-m", "ClinicalTrials-mcp-server"]
      }
  }
}

(Windows 版本):

{
  "mcpServers": {
    "ClinicalTrials": {
      "command": "C:\\Users\\YOUR_USERNAME\\AppData\\Local\\Programs\\Python\\Python311\\python.exe",
      "args": [
        "-m",
        "ClinicalTrials-mcp-server"
      ]
    }
  }
}

与 Cline 搭配使用

{
  "mcpServers": {
    "ClinicalTrials": {
      "command": "bash",
      "args": [
        "-c",
        "source /home/YOUR/PATH/ClinicalTrials-MCP-Server/.venv/bin/activate && python /home/YOUR/PATH/ClinicalTrials-MCP-Server/clinical_trials_server.py"
      ],
      "env": {},
      "disabled": false,
      "autoApprove": []
    }
  }
}

重启 Claude Desktop 后,即可使用以下功能:

搜索临床试验

你可以让 Claude 使用以下查询搜索临床试验:

Can you search for recent clinical trials about diabetes?

搜索结果将返回匹配试验的基本信息,包括:

• 试验标题

• NCT 编号

• 病症

• 简要摘要

获取试验详情

获得 NCT ID 后,你可以请求更多详情:

Can you show me the details for trial NCT04280705?

返回内容包括:

• 完整试验标题

• 病症

• 简要摘要

• 其他可用详情

📁 项目结构

  • clinical_trials_server.py:使用 FastMCP 实现的 MCP 服务主程序
  • clinical_trials.py:包含用于调用 ClinicalTrials.gov API 的辅助函数

🔧 依赖项

  • Python 3.10+
  • FastMCP
  • pytrials
  • pandas

你可以使用以下命令安装所需依赖项:

pip install FastMCP pytrials pandas

🤝 贡献

欢迎贡献!欢迎提交 Pull Request。

📄 许可证

本项目采用 MIT License 许可。

⚠️ 免责声明

此工具仅用于研究目的。请遵守 ClinicalTrials.gov 的服务条款,并负责任地使用此工具。

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。