医用画像システム向け DICOM MCP サーバー 🏥
dicom-mcpサーバーにより、AI アシスタントは DICOM サーバー (PACS、VNA など) 上のデータを照会、読み取り、移動できるようになります。
✨ コア機能
dicom-mcp次のツールを提供します:
🔍 クエリメタデータ: さまざまな基準を使用して、患者、研究、シリーズ、インスタンスを検索します。
📄 DICOM レポート (PDF) の読み取り: カプセル化された PDF (臨床レポートなど) を含む DICOM インスタンスを取得し、テキスト コンテンツを抽出します。
➡️ DICOM 画像の送信: シリーズまたはスタディを他の DICOM の送信先 (画像セグメンテーション、分類などのための AI エンドポイントなど) に送信します。
⚙️ ユーティリティ: 接続を管理し、クエリ オプションを理解します。
Related MCP server: DICOM-MCP
🚀 クイックスタート
📥 インストール
uv または pip を使用してインストールします。
またはリポジトリをクローンすることによって:
⚙️ 構成
dicom-mcpは、DICOM ノードを定義し、AE タイトルを呼び出すための YAML 設定ファイル( config.yamlなど)が必要です。サンプルの ORTHANC サーバーとの互換性を保つために、設定を適宜変更するか、そのまま使用してください。
DICOM-MCPはオープンソースプロジェクトであり、臨床利用を目的としたものではありません。そのため、病院の稼働中のデータベースや患者の機密データを含むデータベースに接続しないでください。接続すると、患者データの損失やインターネットへの漏洩につながる可能性があります。
(オプション) サンプルORTHANCサーバー
DICOM サーバーが利用できない場合は、Docker を使用してローカル ORTHANC サーバーを実行できます。
リポジトリをクローンし、テストの依存関係をインストールしますpip install -e ".[dev]
UI はhttp://localhost:8042にあります
🔌 MCP統合
クライアント構成に追加します (例: claude_desktop_config.json ):
開発の場合:
🛠️ ツールの概要
dicom-mcp DICOM サーバーおよび DICOM データと対話するための 4 つのカテゴリのツールを提供します。
🔍 クエリメタデータ
query_patients: 名前、ID、生年月日などの条件に基づいて患者を検索します。query_studies: 患者 ID、日付、モダリティ、説明、アクセス番号、または研究 UID を使用して研究を検索します。query_series: モダリティ、シリーズ番号/説明、またはシリーズ UID を使用して、特定の研究内のシリーズを検索します。query_instances: インスタンス番号または SOP インスタンス UID を使用して、シリーズ内の個々のインスタンス (画像/オブジェクト) を検索します。
📄 DICOM レポートを読む(PDF)
extract_pdf_text_from_dicom: カプセル化された PDF を含む特定の DICOM インスタンスを取得し、そのテキスト コンテンツを抽出します。
➡️ DICOM画像を送信する
move_series: C-MOVE を使用して、特定の DICOM シリーズを別の構成済み DICOM ノードに送信します。move_study: C-MOVE を使用して、DICOM スタディ全体を別の構成済み DICOM ノードに送信します。
⚙️ ユーティリティ
list_dicom_nodes: 現在アクティブな DICOM ノードを表示し、構成されているすべてのノードを一覧表示します。switch_dicom_node: 後続の操作のアクティブな DICOM ノードを変更します。verify_connection: C-ECHO を使用して、現在アクティブなノードへの DICOM ネットワーク接続をテストします。get_attribute_presets: メタデータ クエリ結果で使用可能な詳細レベル (最小、標準、拡張) を一覧表示します。
やり取りの例
ツールを連結することで、複雑な質問に答えることができます。
📈 貢献する
テストの実行
テストにはOrthanc DICOMサーバーが必要です。Dockerをご利用ください。
pytest を使用してテストを実行します。
Orthanc コンテナを停止します。
デバッグ
サーバー通信をデバッグするには、MCP インスペクターを使用します。
🙏 謝辞
pynetdicomを使用して構築
PDFテキスト抽出にPyPDF2を使用する