用途
ROADrecon MCP Server 是一个基于 MCP(Model Context Protocol)的服务器,旨在让 Claude 等 AI 助手能够访问 ROADRecon 采集的 Azure AD 数据,并对其执行安全分析。它借助 ROADtools 套件中的 ROADRecon 数据,为 AI 提供结构化的 Azure AD 环境视图。
主要能力
该服务器通过三种方式提供能力:
资源(Resources)
可读取的 Azure AD 数据类型包括:
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- 租户详情
工具(Tools)
可执行的安全分析操作包括:
find_privileged_users()- 查找拥有高权限角色的用户analyze_mfa_status()- 分析用户 MFA 部署情况find_applications_with_secrets()- 查找带有密钥或证书的应用analyze_groups()- 分析组类型和成员关系identify_stale_accounts()- 查找在指定周期内未登录或未修改密码的账户analyze_pim_implementation()- 评估 Privileged Identity Management 实施情况analyze_service_principal_credentials()- 查找具有长期凭证且权限过高的服务主体analyze_legacy_authentication()- 识别可绕过 MFA 的旧式身份验证协议风险analyze_conditional_access_policies(file_path: str = "")- 从 HTML 文件分析条件访问策略;默认查找C:\Temp\caps.html,若未找到则提示用户指定文件路径
提示词(Prompts)
预置的安全分析模板包括:
analyze_security_posture- 综合安全分析analyze_privileged_access- 特权访问模型分析investigate_application_risks- 应用安全风险评估analyze_identity_security- 身份安全配置分析analyze_stale_accounts- 非活跃用户账户分析analyze_privileged_access_management- PIM 实施评估analyze_service_principal_security- 服务主体凭证风险分析analyze_legacy_authentication_risks- 旧式身份验证协议风险评估analyze_conditional_access- 条件访问策略分析与建议comprehensive_security_review- 对整个环境进行完整安全审查
使用方式
前置条件:
- 正在运行的 ROADRecon 实例,且其 Web GUI 可访问
- 兼容 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 可以:
- 通过资源访问 Azure AD 数据(如
roadrecon://users) - 通过工具执行安全分析(如
find_privileged_users) - 使用预置提示词处理常见安全任务
示例查询:
- "Analyze the MFA status of users in this Azure AD tenant"
- "Find all users with privileged roles"
- "Check for applications with secrets or certificates"
- "Analyze the overall security posture of this Azure AD environment"
适用场景
- 对 Azure AD 租户进行安全审计与态势评估
- 识别高权限用户、MFA 部署缺口、带密钥的应用
- 评估 PIM、服务主体凭证、旧式身份验证、条件访问策略等风险
- 通过 AI 助手以自然语言查询和汇总 ROADRecon 数据
限制
- 必须依赖正在运行的 ROADRecon 实例及其 Web GUI
- 需要兼容 MCP 的客户端(如 Claude Desktop)才能使用
- 条件访问策略分析需要提供 HTML 文件,默认路径为
C:\Temp\caps.html - 未提供关于收费、价格、平台支持范围等更多信息