DefectDojo MCP サーバー
このプロジェクトは、人気のオープンソース脆弱性管理ツールであるDefectDojo用のModel Context Protocol (MCP)サーバー実装を提供します。これにより、AIエージェントやその他のMCPクライアントがプログラム的に DefectDojo API とやり取りできるようになります。
特徴
この MCP サーバーは、主要な DefectDojo エンティティを管理するためのツールを公開します。
**結果:**取得、検索、作成、ステータスの更新、メモの追加。
**製品:**入手可能な製品を一覧表示します。
エンゲージメント: エンゲージメントの一覧表示、詳細の取得、作成、更新、およびクローズを行います。
Related MCP server: DeepSource MCP Server
インストールと実行
このサーバーを実行するにはいくつかの方法があります。
uvxの使用(推奨)
uvx一時的な仮想環境で Python アプリケーションを実行し、依存関係を自動的にインストールします。
pipの使用
pipを使用して、パッケージを Python 環境にインストールできます。
pip でインストールしたら、次のコマンドを使用してサーバーを実行します。
構成
DefectDojo インスタンスに接続するには、サーバーに次の環境変数が必要です。
DEFECTDOJO_API_TOKEN(必須): 認証用の DefectDojo API トークン。DEFECTDOJO_API_BASE(必須): DefectDojo インスタンスのベース URL (例:https://your-defectdojo-instance.com)。
これらはMCPクライアントの設定ファイルで設定できます。以下はuvxコマンドを使った例です。
pipを使用してパッケージをインストールした場合、構成は次のようになります。
利用可能なツール
MCP インターフェース経由では次のツールが利用できます。
get_findings: フィルタリング (product_name、status、severity) とページ区切り (limit、offset) を使用して検出結果を取得します。search_findings: フィルタリングとページ区切りを使用して、テキストクエリを使用して結果を検索します。update_finding_status: 特定の検出結果のステータスを変更します (例: アクティブ、検証済み、誤検知)。add_finding_note: 検出結果にテキストメモを追加します。create_finding: テストに関連付けられた新しい検出結果を作成します。list_products: フィルタリング (名前、製品タイプ) とページ区切りを使用して製品を一覧表示します。list_engagements: フィルタリング (product_id、ステータス、名前) とページ区切りを使用してエンゲージメントを一覧表示します。get_engagement: ID で特定のエンゲージメントの詳細を取得します。create_engagement: 製品の新しいエンゲージメントを作成します。update_engagement: 既存のエンゲージメントの詳細を変更します。close_engagement: エンゲージメントを完了としてマークします。
(各ツールの詳細な使用例については、以下の元のREADMEコンテンツを参照してください)
使用例
(注: これらの例では、
調査結果を取得する
検索結果
調査結果ステータスの更新
発見事項にメモを追加
発見を作成
製品一覧
リストエンゲージメント
エンゲージメントを獲得する
エンゲージメントを生み出す
エンゲージメントの更新
緊密な交戦
発達
設定
リポジトリをクローンします。
仮想環境を使用することをお勧めします。
python -m venv .venv source .venv/bin/activate # On Windows use `.venv\Scripts\activate`開発依存関係を含む依存関係をインストールします。
pip install -e ".[dev]"
ライセンス
このプロジェクトは MIT ライセンスに基づいてライセンスされています - 詳細についてはLICENSEファイルを参照してください。
貢献
貢献を歓迎します!バグ、機能リクエスト、ご質問などございましたら、お気軽にIssueを開いてください。コードの貢献をご希望の場合は、まずIssueを開いて、提案された変更について議論してください。