SuperAPI AI 工具集

roadrecon_mcp_server

本项目是一个 MCP(Model Context Protocol)服务器,用于让 Claude 等 AI 助手访问 ROADRecon 采集的 Azure AD 数据,并执行安全分析。它通过资源、工具和提示词三种方式提供能力:资源可读取用户、组、应用、服务主体、设备、MFA 状态、目录角色等原始数据;工具可运行查找特权用户、分析 MFA 部署、发现带密钥的应用、识别闲置账户、评估 PIM 实施、检查服务主体凭证、分析旧式身份验证、分析条件访问策略等安全分析任务;提示词提供常见安全任务的预置分析模板。使用前需有正在运行的 ROADRecon 实例且 Web GUI 可访问,并安装 Python 依赖。该服务器以 Python 脚本方式运行,可配置 ROADRecon URL,并支持与 Claude Desktop 连接。

访问官网

工具介绍

用途

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)

安装与运行:

  1. 克隆仓库
  2. 安装依赖:
pip install -r requirements.txt
  1. 确保 ROADRecon GUI 正在运行(默认地址:http://localhost:5000)
  2. 运行 MCP 服务器:
python roadrecon_mcp_server.py

若要指定不同的 ROADRecon URL:

ROADRECON_URL=http://localhost:8080 python roadrecon_mcp_server.py

连接 Claude Desktop:

  1. 打开 Claude Desktop
  2. 进入 Settings → Servers → Add Server
  3. 选择 "Add from running server"
  4. 服务器应出现在列表中,点击 "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
  • 未提供关于收费、价格、平台支持范围等更多信息