Skip to main content
Glama
cyanheads

clinicaltrialsgov-mcp-server

npm Docker Version Framework

MCP SDK License TypeScript

公開ホストサーバー: https://clinicaltrials.caseyjhand.com/mcp


概要

治験の検索、発見、分析、マッチングを行うための7つのツール:

ツール名

説明

clinicaltrials_search_studies

全文検索、フィルター、ページネーション、ソート、フィールド選択を使用して研究を検索します。

clinicaltrials_get_study_record

NCT IDで単一の研究を取得します。プロトコル、適格性、結果、アーム、介入、連絡先、場所を含む完全なレコードを返します。

clinicaltrials_get_study_count

データを取得せずにクエリの合計研究数を取得します。高速な統計と内訳を提供します。

clinicaltrials_get_field_values

APIフィールド(ステータス、フェーズ、研究タイプなど)の有効な値と、値ごとのカウントを確認します。

clinicaltrials_get_field_definitions

研究データモデルのフィールドツリー(項目名、型、ネスト)を閲覧します。サブツリーのナビゲーションとキーワード検索をサポートしています。

clinicaltrials_get_study_results

完了した研究から結果、有害事象、参加者の流れ、ベースラインを抽出します。オプションのサマリーモードにより、約200KBのペイロードを約5KBに削減可能です。

clinicaltrials_find_eligible

患者の人口統計と疾患を、適格な募集中の治験とマッチングします。年齢、性別、疾患、場所を提供することで、適格基準、連絡先、募集場所が一致する研究を見つけます。

リソース

説明

clinicaltrials://{nctId}

NCT IDで単一の臨床研究を取得します。完全なJSON形式。

プロンプト

説明

analyze_trial_landscape

カウントツールと検索ツールを使用した、データ駆動型の治験ランドスケープ分析のための適応型ワークフロー。

Related MCP server: Healthcare MCP Server

ツール

clinicaltrials_search_studies

ClinicalTrials.govのクエリ機能を備えた主要な検索ツール。

  • 全文検索およびフィールド指定クエリ(疾患、介入、スポンサー、場所、タイトル、結果)

  • 型指定された列挙値によるステータスおよびフェーズフィルター

  • 座標と距離による地理的近接フィルタリング

  • 複雑なクエリのための高度なAREA[] Essie式サポート

  • ペイロードサイズを削減するためのフィールド選択(完全なレコードは各約70KB)

  • カーソルトークンによるページネーション、任意のフィールドによるソート


clinicaltrials_get_study_results

完了した研究の公開結果データを取得します。

  • 統計、有害事象、参加者の流れ、ベースライン特性を含む結果指標

  • セクションレベルのフィルタリング(必要なデータのみをリクエスト)

  • オプションのサマリーモードにより、完全な結果(約200KB)を重要なメタデータ(研究あたり約5KB)に圧縮

  • 部分的な成功報告を伴う、呼び出しごとの複数NCT IDのバッチ処理

  • 結果のない研究と取得エラーの個別追跡


clinicaltrials_find_eligible

患者プロファイルを適格な募集中の治験とマッチングします。

  • 患者の人口統計として年齢、性別、疾患、場所を受け取ります

  • 人口統計フィルター(年齢範囲、性別、健康なボランティア)を備えた最適化されたAPIクエリを構築します

  • 呼び出し元が評価できるように、適格性と場所のフィールドを含む研究を返します

  • 一致する研究がない場合に、実行可能なヒント(疾患の拡大、フィルターの調整など)を提供します

特徴

@cyanheads/mcp-ts-core をベースに構築:

  • Zodスキーマとフォーマット関数を使用した宣言的なツール/リソース/プロンプト定義

  • 統一されたエラーハンドリング — ハンドラーがスローし、フレームワークがキャッチして分類

  • デュアルトランスポート:同一コードベースからstdioとStreamable HTTPの両方に対応

  • HTTPトランスポート用のプラグイン可能な認証(none, jwt, oauth

  • オプションのOpenTelemetryトレースを備えた構造化ロギング

ClinicalTrials.gov固有:

  • ClinicalTrials.gov REST API v2 用の型安全なクライアント

  • 公開API — 認証やAPIキーは不要

  • 指数バックオフ(3回試行)とレート制限(約1リクエスト/秒)による再試行

  • HTMLエラー検出と構造化エラーファクトリー

はじめに

公開ホストインスタンス

公開インスタンスが https://clinicaltrials.caseyjhand.com/mcp で利用可能です。インストールは不要です。Streamable HTTP経由で任意のMCPクライアントから接続してください:

{
  "mcpServers": {
    "clinicaltrialsgov-mcp-server": {
      "type": "streamable-http",
      "url": "https://clinicaltrials.caseyjhand.com/mcp"
    }
  }
}

セルフホスト / ローカル

MCPクライアントの設定(例:claude_desktop_config.json)に追加してください:

{
  "mcpServers": {
    "clinicaltrialsgov-mcp-server": {
      "type": "stdio",
      "command": "bunx",
      "args": ["clinicaltrialsgov-mcp-server@latest"],
      "env": {
        "MCP_TRANSPORT_TYPE": "stdio"
      }
    }
  }
}

またはStreamable HTTPの場合:

MCP_TRANSPORT_TYPE=http
MCP_HTTP_PORT=3010

前提条件

インストール

  1. リポジトリをクローン:

    git clone https://github.com/cyanheads/clinicaltrialsgov-mcp-server.git
  2. ディレクトリに移動:

    cd clinicaltrialsgov-mcp-server
  3. 依存関係をインストール:

    bun install

設定

すべての設定はオプションです。サーバーはデフォルト設定で動作し、APIキーは不要です。

変数

説明

デフォルト

CT_API_BASE_URL

ClinicalTrials.gov APIベースURL。

https://clinicaltrials.gov/api/v2

CT_REQUEST_TIMEOUT_MS

リクエストごとのタイムアウト(ミリ秒)。

30000

CT_MAX_PAGE_SIZE

最大ページサイズの上限。

200

MCP_TRANSPORT_TYPE

トランスポート:stdio または http

stdio

MCP_HTTP_PORT

HTTPサーバーのポート。

3010

MCP_AUTH_MODE

認証モード:none, jwt, または oauth

none

MCP_LOG_LEVEL

ログレベル(RFC 5424)。

info

LOGS_DIR

ログファイルのディレクトリ(Node.jsのみ)。

<project-root>/logs

OTEL_ENABLED

OpenTelemetryトレースを有効化。

false

サーバーの実行

ローカル開発

  • 本番バージョンのビルドと実行:

    bun run build
    bun run start:http   # or start:stdio
  • 開発モードで実行(ウォッチ付き):

    bun run dev:http     # or dev:stdio
  • チェックとテストの実行:

    bun run devcheck     # Lints, formats, type-checks
    bun run test         # Runs test suite

Docker

docker build -t clinicaltrialsgov-mcp-server .
docker run -p 3010:3010 clinicaltrialsgov-mcp-server

プロジェクト構造

ディレクトリ

目的

src/mcp-server/tools/

ツール定義 (*.tool.ts)。

src/mcp-server/resources/

リソース定義 (*.resource.ts)。

src/mcp-server/prompts/

プロンプト定義 (*.prompt.ts)。

src/services/clinical-trials/

ClinicalTrials.gov APIクライアントおよび型。

src/config/

Zodを使用した環境変数の解析と検証。

tests/

ユニットテストおよび統合テスト。

開発ガイド

開発ガイドラインとアーキテクチャルールについては CLAUDE.md を参照してください。要約:

  • ハンドラーがスローし、フレームワークがキャッチする — ツールロジック内に try/catch を書かない

  • リクエストスコープのロギングには ctx.log を使用し、console 呼び出しは行わない

  • 新しいツールやリソースは index.ts バレルファイルに登録する

コントリビューション

Issueやプルリクエストを歓迎します。提出前にチェックを実行してください:

bun run devcheck
bun run test

ライセンス

Apache-2.0 — 詳細は LICENSE を参照してください。

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/cyanheads/clinicaltrialsgov-mcp-server'

If you have feedback or need assistance with the MCP directory API, please join our Discord server