使用说明
非官方临床试验MCP服务器
一个全面的模型上下文协议(MCP)服务器,提供对ClinicalTrials.gov API的访问,使研究人员、临床医生和开发人员能够通过编程访问实时临床试验数据。
由开发 增强自然
概述
临床试验MCP服务器通过18个专门的MCP工具公开了完整的ClinicalTrials.gov API v2.0.4功能,允许您直接从启用MCP的环境中搜索、分析和检索有关全球临床试验的详细信息。
特性
核心搜索工具
- 搜索研究 -使用综合过滤器进行一般搜索(条件、干预、位置、阶段、状态、年龄、性别)
- get_study_details -按NCT ID提供详细的研究信息,并附有完整的元数据
- 搜索_条件 -以条件为中心的搜索,符合资格标准
- 搜索_ _位置 -基于地理的距离半径过滤搜索
- 搜索_赞助商 -基于组织和赞助商的搜索,具有赞助商类型过滤功能
- 搜索_干预 -以治疗、药物和干预为重点的搜索
专业搜索工具
- 获取检索研究 -目前正在招募具有活跃联系信息的试验
- 搜索_日期_范围 -按研究开始和完成日期进行时间搜索
- get_studies_with_results -已完成的试验已公布结果
- 搜索_区域_疾病 -专门搜索罕见病和孤儿疾病
- get_mediatric_studies -针对儿童和青少年的儿科特异性试验
- 搜索_国际_研究 -多国国际试验
高级分析工具
- get_similar_studies -按病情、赞助商或分期查找与参考NCT ID相似的研究
- 搜索_主要结果 -按主要结局指标和终点搜索
- 搜索_资格_标准 -使用包含/排除关键字进行高级资格筛选
- get_study_timeline -对当前、已完成和即将进行的研究进行时间线分析
- get_trial_statistics -具有分组功能的汇总统计和分析
数据质量特征
- 实时数据访问(周一至周五每日更新)
- 使用正则表达式模式进行NCT ID验证
- 全面的JSON模式验证
- 研究地点的地理坐标数据
- 招聘研究的联系信息
- 强大的错误处理和超时保护
安装
先决条件
- Node.js 16+(从以下位置安装 nodejs.org)
- 无需API密钥(ClinicalTrials.gov API可公开访问)
设置步骤
-
导航到您的MCP目录:
cd ~/Documents/Claude/MCP # or your preferred MCP directory -
服务器已构建并配置:
ls clinical-trials-server/ # Should show: build/ src/ package.json tsconfig.json README.md -
验证构建:
cd clinical-trials-server ls build/ # Should show: index.js (executable)
配置
将此添加到您的claude_desktop_config.json中:
- macOS:
~/Library/Application Support/Claude/claude_desktop_config.json - 窗户:
%APPDATA%/Claude/claude_desktop_config.json
{
"mcpServers": {
"clinical-trials": {
"command": "node",
"args": ["path/to/clinical-trials-server/build/index.js"],
"autoApprove": [
"search_studies",
"get_study_details",
"search_by_condition",
"search_by_location",
"get_recruiting_studies",
"search_by_sponsor",
"search_by_intervention",
"get_trial_statistics"
]
}
}
}
备注:替换 path/to/clinical-trials-server 使用服务器目录的绝对路径。
使用示例
搜索癌症试验
{
"condition": "cancer",
"phase": "PHASE3",
"status": "RECRUITING",
"pageSize": 10
}
获取详细的研究信息
{
"nctId": "NCT05882279"
}
按地点查找试验
{
"country": "United States",
"city": "Boston",
"distance": 50,
"pageSize": 5
}
儿科研究搜索
{
"condition": "diabetes",
"ageRange": "CHILD",
"recruitmentStatus": "RECRUITING"
}
通过联系人获取招聘试用
{
"condition": "alzheimer",
"location": "California",
"pageSize": 5
}
查找类似研究
{
"nctId": "NCT12345678",
"similarityType": "CONDITION",
"pageSize": 10
}
高级资格搜索
{
"minAge": "18 Years",
"maxAge": "65 Years",
"sex": "ALL",
"healthyVolunteers": false,
"condition": "hypertension",
"inclusionKeywords": "medication",
"exclusionKeywords": "pregnant"
}
获取试用统计数据
{
"groupBy": "phase",
"filters": {
"condition": "diabetes",
"status": "RECRUITING"
}
}
api参考
搜索参数
常用参数:
pageSize-结果数(1-100,默认值:10)condition-医疗状况或疾病phase-研究阶段:阶段1、阶段2、阶段3、阶段4、NAstatus-招聘状态:正在招聘、已通知招聘、已完成等。
位置参数:
country-国家名称state-州或省city-城市名称distance-搜索半径(英里)(1-500)
资格参数:
sex-所有,女性,男性age-儿童、成人、老人_成人minAge/maxAge-年龄范围(例如,“18岁”、“65岁”)healthyVolunteers-布尔值表示健康志愿者接受度
日期参数:
startDateFrom/startDateTo-研究开始日期范围(YYYY-MM-DD)completionDateFrom/completionDateTo-完成日期范围(YYYY-MM-DD)
响应格式
所有工具都返回结构化JSON数据,包括:
- 研究元数据(NCT ID、标题、状态、阶段、赞助商)
- 带有地理坐标的位置信息
- 资格标准和联系信息
- 时间线数据和关键日期
- 全面的搜索条件文档
NCT ID格式
所有NCT ID必须遵循以下模式: NCT######## (NCT后面跟着8位数字)
错误处理
该服务器包括全面的错误处理功能,用于:
- 网络问题:具有重试逻辑的30秒超时保护
- 无效参数:带有描述性错误消息的JSON模式验证
- API错误:正确的HTTP状态码处理和错误报告
- 缺失数据:巧妙处理可选字段和缺失信息
- 速率限制:内置请求限制和错误恢复
常见的错误响应包括:
{
"error": "Clinical Trials API error: Invalid NCT ID format",
"isError": true
}
发展
从源头构建
# Install dependencies
npm install
# Build TypeScript to JavaScript
npm run build
# Development with watch mode
npm run watch
项目结构
clinical-trials-server/
├── src/
│ └── index.ts # Main server implementation (all tools)
├── build/
│ └── index.js # Compiled executable
├── package.json # Dependencies and scripts
├── tsconfig.json # TypeScript configuration
└── README.md # This file
关键依赖关系
@modelcontextprotocol/sdk-MCP服务器框架axios-API请求的HTTP客户端- TypeScript用于类型安全和开发
数据源
API端点: https://clinicaltrials.gov/api/v2 数据更新:周一至周五(不包括联邦假日) 覆盖:来自220多个国家的400000多项研究 数据质量:美国食品药品监督管理局/美国国立卫生研究院官方注册,信息经过验证
故障排除
-
服务器连接问题:
# Test server manually cd clinical-trials-server node build/index.js # Should show: "Clinical Trials MCP server running on stdio" -
NCT ID错误无效:
- 确保NCT ID遵循格式:NCT########
- 示例:NCT05882279✓,nct123✗
-
未返回任何结果:
- 检查搜索条件-尝试更广泛的术语
- 某些筛选器可能限制过多
- 验证条件和干预措施的拼写
-
超时问题:
- 服务器具有30秒超时保护
- 处理大型结果集可能需要时间
- 减小页面大小以获得更快的响应
临床研究用例
- 患者招募:积极寻找针对特定条件的招聘试验
- 竞品分析:赞助商或干预机构进行的类似研究
- 选址:确定新研究的最佳地点
- 监管研究:访问FDA批准的研究方案和结果
- 学术研究:分析临床试验趋势和统计数据
- 病人照顾:帮助患者找到合适的治疗方案
合规与道德
此服务器提供从ClinicalTrials.gov访问公开可用的临床试验数据。用户应:
- 遵循临床研究的机构政策
- 尊重患者隐私和保密
- 将数据用于合法的研究和医疗保健目的
- 引用ClinicalTrials.gov作为出版物的数据来源
许可证
MIT许可证-有关详细信息,请参阅许可证文件
数据源:ClinicalTrials.gov(https://clinicaltrials.gov) API文档: https://clinicaltrials.gov/data-api/api 服务器版本: 0.1.0
