ClinicalTrials.gov MCP服务器
模型上下文协议(MCP)服务器,提供对ClinicalTrials.gov数据库的访问,使Claude和其他人工智能助手能够搜索和检索有关临床试验的信息。
概述
该MCP服务器实现ClinicalTrials.gov API v2,提供对在美国和国际注册的临床研究信息的全面访问。该数据库包含来自220多个国家的40多万项临床试验。
特性
- 综合搜索:按以下方式搜索临床试验:
- 医疗状况/疾病 - 干预/治疗 - 赞助商和调查人员 - 地理位置 - 学习状态(招募、完成等) - NCT标识符
- 详细研究信息:检索完整的研究记录,包括:
- 协议信息 - 入选标准 - 干预细节 - 成果指标 - 联系方式和地点 - 研究设计和方法 - 结果(可用时)
- 汇总统计:获取临床试验的汇总统计数据和趋势
安装
先决条件
- Python 3.10或更高版本
- 点
从源代码安装
# Clone or download the server files
git clone
cd clinicaltrials-mcp-server
# Install dependencies
pip install -r requirements.txt
# Or install the package
pip install -e .配置
适用于克劳德桌面
将服务器添加到Claude Desktop配置文件中:
macOS: ~/Library/Application Support/Claude/claude_desktop_config.json 视窗: %APPDATA%/Claude/claude_desktop_config.json
{
"mcpServers": {
"clinicaltrials": {
"command": "python",
"args": ["/path/to/clinicaltrials_mcp_server.py"]
}
}
}对于其他MCP客户端
使用stdio传输进行连接:
import asyncio
from mcp.client.stdio import stdio_client
async def main():
async with stdio_client(
server_params={
"command": "python",
"args": ["/path/to/clinicaltrials_mcp_server.py"]
}
) as (read, write):
# Use the client
pass
asyncio.run(main())工具
1.搜索临床试验
使用各种标准搜索临床试验。
参数:
query_cond(字符串):按条件/疾病搜索(例如,“抑郁症”、“癌症”)query_term(string):在所有字段中进行常规关键字搜索query_intr(string):按干预/治疗搜索(例如,“Pembrolizumab”、“CBT”)query_titles(string):在研究标题中搜索query_outc(string):在结果度量中搜索query_spons(string):按赞助商名称搜索query_lead(string):按主要赞助商搜索query_id(string):按NCT ID搜索query_patient(string):使用对患者友好的语言进行搜索query_locn(string):按地点搜索(例如,“纽约”、“梅奥诊所”)filter_overallStatus(array):按招聘状态筛选
- 有效值:招聘、NOT_YET_招聘、ACTIVE_NOT_招聘、已完成、已暂停、已终止、已撤回、已暂停_BY_INVITATION、可用、NO_LONGER_AVAILABLE、批准_FOR_MARKETING、已搁置、临时_NOT_AVAILABLE
filter_geo(字符串):地理过滤器(例如,“距离(40.7,-74,50mi)”)filter_advanced(string):高级筛选表达式page_size(整数):每页结果数(默认值20,最大值1000)page_token(string):分页标记count_total(boolean):包括结果总数sort(数组):排序顺序(例如,\[“@relationship”\])
示例用法:
Search for recruiting clinical trials about depression with cognitive behavioral therapy:
- query_cond: "Depression"
- query_intr: "Cognitive Behavioral Therapy"
- filter_overallStatus: ["RECRUITING"]2.临床试验
通过NCT ID检索特定临床试验的详细信息。
参数:
nct_id(字符串,必填):研究的NCT ID(例如“NCT04267848”)fields(数组,可选):要返回的特定字段(如果未指定,则返回全部)
示例用法:
Get details for study NCT04267848:
- nct_id: "NCT04267848"3.材料统计
获取临床试验的汇总统计数据。
参数:
filter_overallStatus(array):按招聘状态筛选统计数据filter_geo(string):统计数据的地理过滤器agg_filters(字符串):聚合筛选器表达式
示例用法:
Get statistics on recruiting trials:
- filter_overallStatus: ["RECRUITING"]常见用例
1.寻找特定条件的试验
Use search_clinical_trials with:
- query_cond: "Type 2 Diabetes"
- filter_overallStatus: ["RECRUITING"]
- page_size: 502.寻找特定赞助商的试验
Use search_clinical_trials with:
- query_spons: "National Institute of Mental Health"
- filter_overallStatus: ["RECRUITING", "ACTIVE_NOT_RECRUITING"]3.在特定地点寻找试验
Use search_clinical_trials with:
- query_cond: "Alzheimer's Disease"
- query_locn: "Stanford"4.寻找具有特定干预措施的试验
Use search_clinical_trials with:
- query_intr: "Pembrolizumab"
- query_cond: "Melanoma"5.获取有关试验的详细信息
First search to find NCT IDs, then use get_clinical_trial:
- nct_id: "NCT04267848"API详细信息
该服务器使用ClinicalTrials.gov API v2,这是一个具有OpenAPI 3.0规范的REST API。
基本URL: https://clinicaltrials.gov/api/v2
关键终点:
/studies-搜索并列出研究/studies/{nctId}-获取具体的研究细节/stats-获取汇总统计信息
速率限制:API没有公布具体的费率限制,但预计会合理使用。服务器实现超时处理(每个请求30秒)。
数据结构
研究记录包含多个模块:
- 协议剖面:核心研究信息
- identification模块:NCT ID、标题、组织信息 - statusModule:招聘状态、日期 - description模块:简要详细说明 - Conditions模块:正在研究的条件 - 设计模块:研究设计细节 - 武器干预模块:研究武器和干预 - 结局模块:主要和次要结局 - 资格模块:纳入/排除标准 - contactsLocation模块:联系方式和学习地点 - 参考资料模块:相关出版物
- 结果部分:研究结果(如有)
- 衍生部分:计算/衍生信息
- 文件科:支持文件
故障排除
连接问题
如果遇到连接错误:
- 验证互联网连接
- 检查ClinicalTrials.gov API是否可访问
- 如果位于公司防火墙之后,请检查代理设置
未找到结果
如果搜索未返回结果:
- 尝试更广泛的搜索词
- 删除筛选器以查看所有结果
- 检查医学术语的拼写
- 尝试使用替代术语(例如,“MI”与“心肌梗死”)
分页
对于大型结果集:
- 使用
page_size控制每页结果(最多1000个) - 使用
page_token从响应获取下一页 - 集
count_total: true查看全部匹配研究
参考文献
许可证
此MCP服务器按原样提供,用于访问ClinicalTrials.gov的公共数据。用户必须遵守 ClinicalTrials.gov条款和条件.
支持
对于以下问题:
- 此MCP服务器:在存储库中创建问题
- ClinicalTrials.gov API:联系方式register@clinicaltrials.gov
- 研究数据问题:联系研究赞助商或主要研究者
版本历史记录
1.0.0 (2025-12-02)
- 初始版本
- 支持ClinicalTrials.gov API v2
- 搜索、检索和统计工具
- 全面的现场支持
- 分页支持
