临床试验数据协议服务器

一个为ClinicalTrials.gov提供模型上下文协议(MCP)的服务器,使LLM、研究人员、临床医生和开发者能够访问并实时推理临床试验数据。

  • by CellCS
  • Python
  • 本地部署
  • 1 星标
  • 更新于
在 GitHub 查看 CellCS/clinicaltrials-mcp

使用说明

临床试验mcp

ClinicalTrials.gov的模型上下文协议(MCP)服务器,使LLM、研究人员、临床医生和开发人员能够访问实时临床试验数据并进行推理。

🛠 设置和开发

此项目使用 uv 工作区,用于在根级别管理虚拟环境,将源代码保存在 app/ 子目录。

先决条件

同步环境

创建虚拟环境并同步依赖关系(在 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
}

参考文献