临床试验mcp
ClinicalTrials.gov的模型上下文协议(MCP)服务器,使LLM、研究人员、临床医生和开发人员能够访问实时临床试验数据并进行推理。
🛠 设置和开发
此项目使用 uv 工作区,用于在根级别管理虚拟环境,将源代码保存在 app/ 子目录。
先决条件
- 紫外线 安装。
- Python 3.11。
同步环境
创建虚拟环境并同步依赖关系(在 app/):
uv venv --python 3.11
uv sync在本地运行应用程序
要运行服务器进行开发,请执行以下操作:
uv run python app/main.py在AI IDE或Cline中设置MCP服务器
"ClinicalTrials-MCP": {
"autoApprove": [
"search_by_location"
],
"disabled": false,
"timeout": 60,
"type": "stdio",
"command": "uv",
"args": [
"run",
"main.py"
],
"cwd": "/Users/{username}/clinicaltrials-mcp/app"
}在远程服务器上部署
🐳 Docker部署
虚拟环境(.venv)通过以下方式从Docker构建中排除 .dockerignore 保持图像清晰。
塑造形象
docker build -f Dockerfile -t clinicaltrials-mcp .
docker-compose up -d
Agnet技能
at/技能目录
临床试验数据库:通过API v2查询ClinicalTrials.gov。按条件、药物、地点、状态或阶段搜索试验。通过NCT ID检索试验详细信息,导出数据,用于临床研究和患者匹配。
📂 项目结构
app/:源代码目录。pyproject.toml:根工作区配置。.venv/:根虚拟环境(本地管理)。Dockerfile:容器配置。docker-compose.yml:多容器编排。skills/:技能目录。
响应示例
{
"studies": [
{
"nctId": "NCT00000100",
"title": "A Phase I Trial of a New Drug",
"status": "Recruiting",
"phase": ["Phase 1"],
"studyType": "Interventional",
"sponsor": "Acme Pharmaceuticals",
"conditions": ["Cancer", "Asthma"],
"startDate": "2023-01-01"
}
],
"totalCount": 1
}