Tenable MCP (Management Control Panel) について
Tenable MCP(Management Control Panel)は、Tenable.io のセキュリティデータを設定・可視化する Spring Boot アプリケーションです。脆弱性、アセットリスク、修復状況を確認するチーム向けで、CSV 出力と期間指定に対応します。
主な機能
- 01Tenable.io の認証情報とエンドポイント設定
- 02脆弱性とアセットの傾向を可視化
- 03修復状況とアセットリスクの追跡
- 04セキュリティレポートの CSV 出力
- 05期間によるレポートの絞り込み
活用シーン
- 01脆弱性の深刻度と経過期間の分布を確認
- 02脆弱性数の多いアセットを特定
- 03一定期間の修復状況を追跡
- 04期間を指定したセキュリティレポートを出力
MCP 対応
README では管理・可視化アプリケーションと REST エンドポイントが説明されていますが、MCP プロトコルのツールやリソースについては記載されていません。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
Tenable MCP(Management Control Panel)
Tenable.io のセキュリティデータを管理、可視化するための包括的なインターフェースを提供する Spring Boot アプリケーションです。
機能
-
設定管理
- Tenable.io API 認証情報を簡単に設定できます
- カスタム API エンドポイントに対応しています
- タイムアウトと再試行ポリシーを設定できます
-
セキュリティの可視化
- 深刻度別の脆弱性分布
- アセットの脆弱性トレンド
- 脆弱性の多いアセットの分析
- 脆弱性の経過期間の分布
- 修復の進捗状況の追跡
- アセットのリスクスコア分布
- 脆弱性カテゴリの分析
-
レポート
- 包括的な CSV エクスポート
- 詳細なセキュリティ態勢の概要
- 期間をカスタマイズできるフィルタリング
前提条件
- Java 17 以降
- Gradle 7.x 以降(プロジェクトに含まれています)
- Docker(任意。コンテナ化されたデプロイに使用)
- Tenable.io API 認証情報
クイックスタート
-
リポジトリをクローンします:
git clone https://github.com/yourusername/tenablemcp.git cd tenablemcp -
セットアップスクリプトを実行します:
chmod +x setup.sh ./setup.sh -
設定を更新します:
src/main/resources/application.ymlを編集して Tenable.io の認証情報を設定します:tenable: apiKey: "your-api-key" accessKey: "your-access-key" secretKey: "your-secret-key" baseUrl: "https://cloud.tenable.com" -
アプリケーションを実行します:
./gradlew bootRun
Docker での実行
-
Docker イメージをビルドします:
docker build -t tenable-mcp . -
コンテナを実行します:
docker run -p 8080:8080 tenable-mcp
API エンドポイント
設定
-
GET /api/config- 現在の設定を取得します
- レスポンス:現在の設定
-
POST /api/config- 設定を更新します
- リクエストボディ:設定パラメーターを含む JSON
- 例:
{ "accessKey": "your-access-key", "secretKey": "your-secret-key", "baseUrl": "https://cloud.tenable.com" }
可視化
-
GET /api/v1/visualizations/report- 包括的なセキュリティレポートを取得します
- クエリパラメーター:
startTime(任意):ISO-8601 形式の開始時刻endTime(任意):ISO-8601 形式の終了時刻
- レスポンス:複数の可視化データを含む JSON
-
GET /api/v1/visualizations/export/vulnerabilities- レポートを CSV としてエクスポートします
- クエリパラメーター:
startTime(任意):ISO-8601 形式の開始時刻endTime(任意):ISO-8601 形式の終了時刻
- レスポンス:CSV ファイルのダウンロード
可視化の種類
-
脆弱性分布
- 深刻度別の分布を示す円グラフ
- 見やすいように色分けされています
-
アセットの脆弱性トレンド
- 時間の経過に伴う脆弱性のトレンドを示す折れ線グラフ
- セキュリティ態勢の改善状況を追跡できます
-
脆弱性の多いアセット
- 最も脆弱性の多いアセットを示す棒グラフ
- 修復作業の優先順位付けに役立ちます
-
脆弱性の経過期間の分布
- 脆弱性の経過期間を示す円グラフ
- 長期間未解決の脆弱性を特定できます
-
修復の進捗状況
- 修正済みと未解決の脆弱性を示すドーナツグラフ
- 修復の有効性を追跡します
-
アセットのリスクスコア分布
- アセットのリスクスコアの分布を示す棒グラフ
- リスクの高いアセットを特定できます
開発
プロジェクト構成
src/main/kotlin/com/tenable/mcp/
├── config/ # Configuration classes
├── controller/ # REST controllers
├── service/ # Business logic
├── client/ # Tenable.io API client
└── model/ # Data models
ビルド
./gradlew clean build
テストの実行
./gradlew test
コントリビューション
- リポジトリをフォークします
- 機能ブランチを作成します
- 変更をコミットします
- ブランチにプッシュします
- Pull Request を作成します
ライセンス
このプロジェクトは MIT License の下でライセンスされています。詳細は LICENSE ファイルをご覧ください。
サポート
サポートが必要な場合は、GitHub リポジトリで issue を作成するか、メンテナーにお問い合わせください。
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。