mcpField
C
clinical-trials-search

clinical-trials-search

github.com/yorkeccak生产力64171 次安装3 周前更新
代码仓库

关于 clinical-trials-search

Clinical Trials Search 是一项技能,通过 Valyu 语义搜索 API 以自然语言查询 ClinicalTrials.gov 研究。它以 JSON 返回试验详情,支持研究资格条件、招募、干预措施和结局。

主要功能

  1. 01自然语言语义搜索
  2. 02搜索 ClinicalTrials.gov 数据
  3. 03返回试验详情与全文
  4. 04提供可用的数据可视化
  5. 05以 JSON 输出便于处理

适用场景

  1. 01按疾病或治疗查找试验
  2. 02查看资格条件与招募状态
  3. 03比较干预措施和结局

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/yorkeccak/scientific-skills --skill clinical-trials-search

安装后在 Claude Code 中输入/clinical-trials-search确认已加载。

附带文件scripts/searchscripts/search.mjs

详细介绍

临床试验搜索

使用 Valyu 语义搜索 API,通过自然语言查询搜索 ClinicalTrials.gov 的完整临床研究数据库。

此技能的强大之处

  • 无需解析 API 参数:直接传入自然语言查询即可,无需构造复杂的搜索参数
  • 语义搜索:理解查询的含义,而不仅仅是匹配关键词
  • 全文访问:返回完整的试验信息,包括阶段、病症、干预措施和结局
  • 图片链接:如有可用数据可视化内容,也会一并提供
  • 全面覆盖:可访问 ClinicalTrials.gov 的所有数据

要求

  1. Node.js 18+(使用内置的 fetch)
  2. Valyu API 密钥,请从 https://platform.valyu.ai 获取(含 $10 免费额度)

重要:脚本路径解析

本文档中的 scripts/search 命令是相对于此技能的安装目录而言的。

运行任何命令前,请先定位脚本:

CLINICAL_TRIALS_SCRIPT=$(find ~/.claude/plugins/cache -name "search" -path "*/clinical-trials-search/*/scripts/*" -type f 2>/dev/null | head -1)

然后,所有命令都使用完整路径:

$CLINICAL_TRIALS_SCRIPT "CAR-T cell therapy trials" 15

API 密钥设置流程

运行搜索并收到 "setup_required": true 时,请按以下流程操作:

  1. 向用户索取 API 密钥: “要搜索 ClinicalTrials.gov,我需要您的 Valyu API 密钥。请前往 https://platform.valyu.ai 免费获取(含 $10 额度)。”

  2. 用户提供密钥后,运行:

    scripts/search setup <api-key>
    
  3. 重试原始搜索。

何时使用此技能

  • 查找进行中和已完成的临床试验
  • 确定试验的入选标准
  • 查询招募状态和入组信息
  • 比较试验中的治疗方法
  • 患者招募和入组研究
  • 获取试验的结局和安全性数据

输出格式

{
  "success": true,
  "type": "clinical_trials_search",
  "query": "CAR-T cell therapy trials",
  "result_count": 10,
  "results": [
    {
      "title": "Trial Title",
      "url": "https://clinicaltrials.gov/...",
      "content": "Trial details, phase, conditions, outcomes...",
      "source": "clinical-trials",
      "relevance_score": 0.95,
      "images": []
    }
  ],
  "cost": 0.025
}

处理结果

使用 jq
# Get trial titles
scripts/search "query" 10 | jq -r '.results[].title'

# Get URLs
scripts/search "query" 10 | jq -r '.results[].url'

# Extract full content
scripts/search "query" 10 | jq -r '.results[].content'

常见用例

药物开发
# Find drug trials
scripts/search "phase 2 trials for Alzheimer's disease" 50
治疗研究
# Search for treatment studies
scripts/search "checkpoint inhibitor combinations in lung cancer" 20
医疗器械研究
# Find device trials
scripts/search "continuous glucose monitoring device studies" 15
干预措施分析
# Search for intervention studies
scripts/search "behavioral interventions for obesity" 25

错误处理

所有命令都会返回包含 success 字段的 JSON:

{
  "success": false,
  "error": "Error message"
}

退出代码:

  • 0 - 成功
  • 1 - 出错(请查看 JSON 了解详情)

API 端点

  • 基础 URL:https://api.valyu.ai/v1
  • 端点:/search
  • 身份验证:X-API-Key 标头

架构

scripts/
├── search          # Bash wrapper
└── search.mjs      # Node.js CLI

使用 Node.js 内置的 fetch() 直接调用 API,不依赖任何外部依赖项。

添加到项目

如果您正在构建 AI 项目,并希望将临床试验搜索直接集成到应用程序中,请使用 Valyu SDK:

Python 集成
from valyu import Valyu

client = Valyu(api_key="your-api-key")

response = client.search(
    query="your search query here",
    included_sources=["valyu/valyu-clinical-trials"],
    max_results=20
)

for result in response["results"]:
    print(f"Title: {result['title']}")
    print(f"URL: {result['url']}")
    print(f"Content: {result['content'][:500]}...")
TypeScript 集成
import { Valyu } from "valyu-js";

const client = new Valyu("your-api-key");

const response = await client.search({
  query: "your search query here",
  includedSources: ["valyu/valyu-clinical-trials"],
  maxResults: 20
});

response.results.forEach((result) => {
  console.log(`Title: ${result.title}`);
  console.log(`URL: ${result.url}`);
  console.log(`Content: ${result.content.substring(0, 500)}...`);
});

请参阅 Valyu 文档,了解完整的集成示例和 SDK 参考。

评论

支持 Markdown