clinical-trial-design について
ClinicalTrialDesign R パッケージを通じて、Phase 2・Phase 3 の検証的試験デザインを計算する TypeScript 製 MCP サーバーです。エンドポイント、多重仮説、メタデザインの計算に対応します。
主な機能
- 019 種類の試験デザインツール
- 02Phase 2・Phase 3 のデザイン
- 03エンドポイントデザインの計算
- 04多重仮説デザイン
- 05メタデザインの計算
活用シーン
- 01検証的臨床試験の設計
- 02エンドポイント設計パラメーターの計算
- 03多重仮説デザインの評価
MCP 対応
stdio 経由で MCP クライアントに臨床試験デザイン用の 9 ツールを提供します。各ツールの呼び出しで Rscript を実行し、基盤の R パッケージを利用します。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
npx -y clinical-trial-designDESIGNR_RSCRIPTOptional override for the Rscript binary path. Defaults to whatever 'Rscript' resolves to on the system PATH. Set this if R isn't on PATH or you need a specific R version.DESIGNR_LAUNCHEROptional override for the R launcher path (the inst/launcher.R that sources the R sources and dispatches the JSON). Defaults to the bundled launcher. Set this only if you need to use a non-bundled R source tree.ローカルサーバーにはマシン上の実行環境(Node.js 18 以上など)が必要です。設定ファイルの場所はクライアントごとに異なります。
ツール
9掲載時のツール一覧 · 2 週間前に更新
| パラメーター | 型 | 必須 | 説明 |
|---|---|---|---|
| k | integer | いいえ | 最終解析を含む計画解析回数。範囲 [2, 10] の整数。 |
| sfl | any | いいえ | アルファ消費関数。OF = O'Brien-Fleming、Pocock = Pocock、HSD = Hwang-Shih-DeCani(sfupar が必要)、Power = power family(sfupar が必要)、LDOF / LDPocock = Lan-DeMets 近似(標準)。'none' は無効化します。 |
| sfu | enum | いいえ | アルファ消費関数。OF = O'Brien-Fleming、Pocock = Pocock、HSD = Hwang-Shih-DeCani(sfupar が必要)、Power = power family(sfupar が必要)、LDOF / LDPocock = Lan-DeMets 近似(標準)。'none' は無効化します。OF | Pocock | HSD | Power | LDOF | LDPocock | none |
| alpha | number | いいえ | 第 I 種過誤率。標準的な両側 0.05 検定では、sided = 2 として 0.025 を使用します。 |
| power | number | いいえ | 1 - beta。検定の目標検出力(デフォルトは 0.9)。 |
| sided | enum | いいえ | 1 = 片側検定(デフォルト)、2 = 両側検定。多くの最新のデザインでは、両側 0.05 の慣例に合わせて sided = 1、alpha = 0.025 を使用します。1 | 2 |
| sflpar | number | いいえ | HSD / Power の下側 sf の数値パラメーター。 |
| sfupar | number | いいえ | HSD / Power の上側 sf の数値パラメーター。 |
| timing | array | いいえ | 各解析時の情報割合。長さは k で、(0,1] の範囲で厳密に増加し、最後の値は 1 です。デフォルトは等間隔の 1/k、2/k、...、1 です。 |
| ni_margin | number | いいえ | リスク差尺度の非劣性マージン。comparison='non-inferiority' の場合は必須です。 |
| p_control | number | はい | 対照群のイベント率 (0,1)。 |
| test_type | integer | いいえ | gsDesign の test.type。1 = 有効性のみ、2 = 対称な有効性+無効性、3 = 非拘束の無効性、4 = 拘束の無効性、5/6 = 同じ設定で、より低いベータ消費を使用。 |
| comparison | enum | いいえ | 仮説の種類。'superiority'(デフォルト)は差を検定します。'non-inferiority' には ni_margin が必要です。'equivalence' には equiv_margin が必要です。superiority | non-inferiority | equivalence |
| operational | object | いいえ | 任意の運用カーネル入力。{accrual_rate, accrual_duration, follow_up_duration, total_trial_duration} のうち 0~4 項目を指定します。ソルバーは rate*duration = N および A + F = T(生存時間解析では target_events も含む)から不足値を補完します。結果は監査フィールド(given、derived)とともに result.operational として付加されます。 |
| operational.accrual_rate | number | いいえ | |
| operational.accrual_duration | number | いいえ | |
| operational.follow_up_duration | number | いいえ | |
| operational.total_trial_duration | number | いいえ | |
| p_treatment | number | はい | 治療群のイベント率 (0,1)。 |
| design_class | enum | いいえ | デザインの種類。'fixed' = 最終解析のみ、'group-sequential' = alpha-spending を用いる中間解析。design_class = 'fixed' の場合、group-sequential パラメーター(k、timing、sfu/sfl、test_type)は無視されます。fixed | group-sequential |
| equiv_margin | number | いいえ | 両側の同等性マージン(TOST)。comparison='equivalence' の場合は必須です。固定サンプルのみ。 |
| allocation_ratio | number | いいえ | 治療群 / 対照群の割り付け比。1 = 1:1 の均等割り付け。 |
詳細
clinical-trial-design MCP サーバー
stdio 経由で ClinicalTrialDesign R パッケージを9 つの試験デザインツール(エンドポイント 3 つ+複数仮説 3 つ+メタ 3 つ)として公開する TypeScript MCP サーバーです。ツール呼び出しごとに Rscript サブプロセスを 1 つ実行し、JSON でラウンドトリップします。1 回の呼び出しに約 300 ms かかり、これに加えて R の計算時間がかかります。第 2 相および第 3 相の検証的デザインに対応しています。
npm では clinical-trial-design として、公式 MCP レジストリでは io.github.wei-ai-lab/clinical-trial-design として公開されています。
ツール
ツール全体についてはトップレベルの README、18 プロンプトのスモークテスト一覧については SMOKE.md、npm とレジストリへの公開手順については PUBLISH.md を参照してください。
ビルド
npm install # pulls dev dependencies (esbuild, typescript)
npm run build # esbuild bundle → dist/index.js (the publish artifact)
npm run build:dev # tsc → build/*.js per-file (used by the smoke script)
サーバーはトップレベルの .claude-plugin/plugin.json から接続されます。
"mcpServers": { "clinical-trial-design": { "command": "node", "args": ["mcp-server/dist/index.js"] } }
スモークテスト
npm run build:dev # required: smoke imports from build/r-bridge.js
node scripts/smoke.mjs
期待値:18 pass / 0 fail / 18 total。R のソースは r/inst/launcher.R(開発環境では ../r-package/ClinicalTrialDesign/inst/launcher.R)から直接読み込まれます。remotes::install_local の手順は必要ありません。
環境
DESIGNR_RSCRIPT—PATHにRscriptがない場合に指定する、Rscriptのフルパスです。DESIGNR_LAUNCHER— デフォルトを上書きする場合に指定する、launcher.Rのフルパスです。ワイヤ形式の識別子は、安定性への取り組みとして維持されています(API_STABILITY.md を参照)。
構成
src/
index.ts # McpServer + stdio transport; registers 9 tools
r-bridge.ts # spawns Rscript, JSON roundtrip, 60s timeout
tools/
common-schemas.ts # shared zod fragments + ReasoningChainSchema
design-binary.ts # endpoint design (3 tools)
design-continuous.ts
design-survival.ts
design-co-primary.ts # multi-hypothesis (3 tools)
design-multi-population.ts
design-graphical-multiplicity.ts
validate-benchmark.ts # meta (3 tools)
verify-design.ts
design-report.ts
scripts/
smoke.mjs # programmatic 18-prompt smoke pass
r/ # R sources staged for the npm tarball
R/*.R
inst/launcher.R
DESCRIPTION
NAMESPACE
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。