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. 02ClinicalTrials.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. https://platform.valyu.ai で取得できる Valyu API キー(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 プロジェクトを構築しており、Clinical Trials Search をアプリケーションに直接統合したい場合は、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)}...`);
});

統合例と SDK のリファレンスについては、Valyu のドキュメントをご覧ください。

コメント