About ROADrecon MCP Server
ROADrecon MCP Server gives AI assistants such as Claude access to Azure AD data collected by ROADRecon for security analysis. It is aimed at security practitioners who review the security posture of an Azure AD tenant. It provides resources, analysis tools and prompt templates.
Key features
- 01Resources for users, groups, applications and devices
- 02Analysis tools for privileged users and MFA status
- 03Pre-built prompt templates for security reviews
- 04Configurable ROADRecon GUI URL via environment variable
Use cases
- 01Finding users who hold high-privilege directory roles
- 02Reviewing MFA deployment across an Azure AD tenant
- 03Checking applications and service principals for long-lived credentials
MCP support
This project is an MCP server that exposes Azure AD data as resources, analysis tools and prompts to MCP clients such as Claude Desktop.
Configuration
Local server config is the same for every client. Copy it into your client’s MCP config file.
We haven’t collected a package or remote endpoint for this server. Follow the instructions in the project README.
Tools
Local servers expose tools only once running on your machine, and the maintainer has not provided a tool list.
Details
From the project READMEROADrecon MCP Server
This MCP (Model Context Protocol) server provides AI assistants like Claude with access to your ROADRecon Azure AD data for security analysis.
The amazing ROADtools suite by dirkjanm can be found here: ROADRecon
Features
- Resources: Access Azure AD data from your ROADRecon instance
- Tools: Run security analysis on the data
- Prompts: Pre-built analysis templates for common security tasks
Prerequisites
- Python 3.8+
- A running ROADRecon instance with the web GUI accessible
- MCP-compatible client (Claude Desktop, etc.)
Installation
- Clone this repository
- Install dependencies:
pip install -r requirements.txt
Usage
Running the server
-
Make sure your ROADRecon GUI is running (default: http://localhost:5000)
-
Run the MCP server:
python roadrecon_mcp_server.py -
To specify a different ROADRecon URL:
ROADRECON_URL=http://localhost:8080 python roadrecon_mcp_server.py
Connecting with Claude Desktop
- Open Claude Desktop
- Go to Settings → Servers → Add Server
- Select "Add from running server"
- The server should appear in the list - click "Install"
More details on this step can be found here: https://modelcontextprotocol.io/quickstart/server
Using in Claude
Once connected, Claude can:
- Access Azure AD data via resources (e.g.,
roadrecon://users) - Run security analysis with tools (e.g.,
find_privileged_users) - Use pre-built prompts for common security tasks
Example Queries
- "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"
https://github.com/user-attachments/assets/806e9ccd-d80e-4058-be4f-9d37095f1fd6
Resources Available
roadrecon://stats- Summary statisticsroadrecon://users- All usersroadrecon://users/{id}- User detailsroadrecon://groups- All groupsroadrecon://groups/{id}- Group detailsroadrecon://applications- All applicationsroadrecon://applications/{id}- Application detailsroadrecon://serviceprincipals- All service principalsroadrecon://serviceprincipals/{id}- Service principal detailsroadrecon://devices- All devicesroadrecon://mfa- MFA status for all usersroadrecon://directoryroles- All directory rolesroadrecon://roledefinitions- All role definitionsroadrecon://approles- All app role assignmentsroadrecon://oauth2permissions- All OAuth2 permission grantsroadrecon://tenantdetails- Tenant details
Tools Available
find_privileged_users()- Find users with high-privilege rolesanalyze_mfa_status()- Analyze MFA deployment across usersfind_applications_with_secrets()- Find applications with secrets/certificatesanalyze_groups()- Analyze group types and membershipidentify_stale_accounts()- Find accounts that haven't logged in or changed password within a specified periodanalyze_pim_implementation()- Assess Privileged Identity Management implementationanalyze_service_principal_credentials()- Find over-permissioned service principals with long-lived credentialsanalyze_legacy_authentication()- Identify risks from legacy authentication protocols that bypass MFAanalyze_conditional_access_policies(file_path: str = "")- Analyze conditional access policies from an HTML file. Looks for the file at "C:\Temp\caps.html" by default, or prompts the user to specify a file path if not found.
Prompts Available
analyze_security_posture- Comprehensive security analysisanalyze_privileged_access- Analysis of privileged access modelinvestigate_application_risks- Application security risk assessmentanalyze_identity_security- Identity security configuration analysisanalyze_stale_accounts- Analysis of inactive user accountsanalyze_privileged_access_management- PIM implementation assessmentanalyze_service_principal_security- Service principal credential risk analysisanalyze_legacy_authentication_risks- Legacy authentication protocol risk assessmentanalyze_conditional_access- Analysis of conditional access policies and recommendationscomprehensive_security_review- Complete security review of the entire environment
License
MIT
Comments
New to MCP?
From what the protocol is to installing your first server, these answers cover most first questions.
An open protocol that defines how AI applications connect to external tools and data in a uniform way. Clients talk to the model; MCP servers provide tools, resources and prompt templates. They exchange standard messages, so one server can be reused by many clients.