ROADrecon MCP Server について
ROADrecon MCP Server は、Claude などの AI アシスタントが ROADRecon で収集した Azure AD データにアクセスし、セキュリティ分析を行えるようにする MCP サーバーです。Azure AD テナントのセキュリティ態勢を確認したいセキュリティ担当者を想定しています。
主な機能
- 01ユーザー、グループ、アプリケーションなどのリソース
- 02特権ユーザーや MFA 状況を分析するツール
- 03セキュリティレビュー用の定型プロンプト
- 04環境変数による ROADRecon GUI の URL 指定
活用シーン
- 01高権限のディレクトリロールを持つユーザーを特定する
- 02Azure AD テナント全体の MFA 導入状況を確認する
- 03アプリケーションとサービスプリンシパルの長期資格情報を点検する
MCP 対応
本プロジェクトは MCP サーバーであり、Azure AD データをリソース、分析ツール、プロンプトとして Claude Desktop などの MCP クライアントに提供します。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
このサーバーのパッケージやリモートエンドポイントはまだ取得できていません。プロジェクトの README の手順に従ってください。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
ROADrecon MCP サーバー
この MCP(Model Context Protocol)サーバーを使うと、Claude などの AI アシスタントが ROADRecon の Azure AD データにアクセスし、セキュリティ分析を行えます。
dirkjanm による素晴らしい ROADtools スイートはこちらです:ROADRecon
機能
- リソース:ROADRecon インスタンスの Azure AD データにアクセスします
- ツール:データに対してセキュリティ分析を実行します
- プロンプト:一般的なセキュリティタスク向けの、事前に作成された分析テンプレートです
前提条件
- Python 3.8+
- Web GUI にアクセスできる、稼働中の ROADRecon インスタンス
- MCP 対応クライアント(Claude Desktop など)
インストール
- このリポジトリをクローンします
- 依存関係をインストールします:
pip install -r requirements.txt
使用方法
サーバーの実行
-
ROADRecon GUI が実行中であることを確認します(デフォルト:http://localhost:5000)
-
MCP サーバーを実行します:
python roadrecon_mcp_server.py -
別の ROADRecon URL を指定するには:
ROADRECON_URL=http://localhost:8080 python roadrecon_mcp_server.py
Claude Desktop への接続
- Claude Desktop を開きます
- Settings → Servers → Add Server に移動します
- 「Add from running server」を選択します
- サーバーが一覧に表示されたら、「Install」をクリックします
この手順の詳細はこちらをご覧ください:https://modelcontextprotocol.io/quickstart/server
Claude での使用
接続すると、Claude は次のことができます:
- リソースを通じて Azure AD データにアクセスする(例:
roadrecon://users) - ツールを使ってセキュリティ分析を実行する(例:
find_privileged_users) - 一般的なセキュリティタスク向けの事前作成済みプロンプトを使う
クエリの例
- 「この Azure AD テナントのユーザーの MFA 状況を分析してください」
- 「特権ロールを持つユーザーをすべて見つけてください」
- 「シークレットまたは証明書を持つアプリケーションを確認してください」
- 「この Azure AD 環境全体のセキュリティ態勢を分析してください」
https://github.com/user-attachments/assets/806e9ccd-d80e-4058-be4f-9d37095f1fd6
利用可能なリソース
roadrecon://stats- 概要統計roadrecon://users- すべてのユーザーroadrecon://users/{id}- ユーザーの詳細roadrecon://groups- すべてのグループroadrecon://groups/{id}- グループの詳細roadrecon://applications- すべてのアプリケーションroadrecon://applications/{id}- アプリケーションの詳細roadrecon://serviceprincipals- すべてのサービスプリンシパルroadrecon://serviceprincipals/{id}- サービスプリンシパルの詳細roadrecon://devices- すべてのデバイスroadrecon://mfa- すべてのユーザーの MFA 状況roadrecon://directoryroles- すべてのディレクトリロールroadrecon://roledefinitions- すべてのロール定義roadrecon://approles- すべてのアプリロールの割り当てroadrecon://oauth2permissions- すべての OAuth2 権限付与roadrecon://tenantdetails- テナントの詳細
利用可能なツール
find_privileged_users()- 高い特権を持つロールのユーザーを検索しますanalyze_mfa_status()- ユーザー全体の MFA 導入状況を分析しますfind_applications_with_secrets()- シークレットまたは証明書を持つアプリケーションを検索しますanalyze_groups()- グループの種類とメンバーシップを分析しますidentify_stale_accounts()- 指定した期間内にログインまたはパスワード変更を行っていないアカウントを検索しますanalyze_pim_implementation()- 特権 ID 管理(PIM)の導入状況を評価しますanalyze_service_principal_credentials()- 有効期間の長い認証情報を持つ、過剰な権限が付与されたサービスプリンシパルを検索しますanalyze_legacy_authentication()- MFA を回避するレガシー認証プロトコルによるリスクを特定しますanalyze_conditional_access_policies(file_path: str = "")- HTML ファイルから条件付きアクセス ポリシーを分析します。デフォルトでは "C:\Temp\caps.html" を探し、見つからない場合はユーザーにファイルパスの指定を求めます。
利用可能なプロンプト
analyze_security_posture- 包括的なセキュリティ分析analyze_privileged_access- 特権アクセスモデルの分析investigate_application_risks- アプリケーションのセキュリティリスク評価analyze_identity_security- ID セキュリティ設定の分析analyze_stale_accounts- 非アクティブなユーザーアカウントの分析analyze_privileged_access_management- PIM 導入状況の評価analyze_service_principal_security- サービスプリンシパルの認証情報リスク分析analyze_legacy_authentication_risks- レガシー認証プロトコルのリスク評価analyze_conditional_access- 条件付きアクセス ポリシーの分析と推奨事項comprehensive_security_review- 環境全体の包括的なセキュリティレビュー
ライセンス
MIT
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。