An MCP (Model Context Protocol) server that provides AI assistants with secure access to Microsoft Graph API. Access user data, manage Azure AD resources, and perform administrative tasks through your AI assistant.
- No client secret required
- Opens browser for user authentication
- Limited to user-delegated permissions
- Perfect for exploring data and read-only operations
- Requires Azure AD app registration with client secret
- Full administrative capabilities
- Application permissions for automated operations
- Can be scoped to specific permissions you need
Add to your claude_desktop_config.json:
{
"mcpServers": {
"graph-mcp": {
"command": "docker",
"args": [
"run",
"--rm",
"-i",
"--init",
"-e",
"LOG_LEVEL=INFO",
"-v",
"graph-mcp-server:/tmp",
"ghcr.io/jackinsightsv2/microsoft-graph-mcp:latest"
]
}
}
}Add to your MCP configuration:
{
"graph-mcp": {
"command": "docker",
"args": [
"run",
"--rm",
"-i",
"--init",
"-e",
"LOG_LEVEL=INFO",
"-v",
"graph-mcp-server:/tmp",
"ghcr.io/jackinsightsv2/microsoft-graph-mcp:latest"
],
"env": {},
"working_directory": null,
"start_on_launch": true
}
}Set these in your MCP configuration or Docker environment:
AZURE_CLIENT_ID: Your Azure AD application client IDAZURE_TENANT_ID: Your Azure AD tenant IDAZURE_CLIENT_SECRET: Your client secret (optional, for app permissions)
{
"mcpServers": {
"graph-mcp": {
"command": "docker",
"args": [
"run",
"--rm",
"-i",
"--init",
"-e",
"AZURE_CLIENT_ID=your-client-id",
"-e",
"AZURE_TENANT_ID=your-tenant-id",
"-e",
"AZURE_CLIENT_SECRET=your-client-secret",
"-v",
"graph-mcp-server:/tmp",
"ghcr.io/jackinsightsv2/microsoft-graph-mcp:latest"
]
}
}
}{
"mcpServers": {
"graph-mcp": {
"command": "docker",
"args": [
"run",
"--rm",
"-i",
"--init",
"-e",
"AZURE_CLIENT_ID=your-client-id",
"-e",
"AZURE_TENANT_ID=your-tenant-id",
"-v",
"graph-mcp-server:/tmp",
"ghcr.io/jackinsightsv2/microsoft-graph-mcp:latest"
]
}
}
}For full write access, configure these application permissions in your Azure AD app registration:
User.ReadWrite.All- Read and write all users' full profilesUser.ManageIdentities.All- Manage user identitiesUserAuthenticationMethod.ReadWrite.All- Read and write authentication methods
Group.ReadWrite.All- Read and write all groupsGroupMember.ReadWrite.All- Read and write group memberships
Device.ReadWrite.All- Read and write devicesDeviceManagementConfiguration.ReadWrite.All- Read and write device configurationDeviceManagementManagedDevices.ReadWrite.All- Read and write managed devices
Application.ReadWrite.All- Read and write applicationsAppRoleAssignment.ReadWrite.All- Read and write app role assignments
Directory.ReadWrite.All- Read and write directory dataRoleManagement.ReadWrite.Directory- Read and write directory roles
SecurityEvents.ReadWrite.All- Read and write security eventsIdentityRiskEvent.ReadWrite.All- Read and write identity risk events
Mail.ReadWrite- Read and write mailCalendars.ReadWrite- Read and write calendars
Files.ReadWrite.All- Read and write filesSites.ReadWrite.All- Read and write sites
You can scope your app registration to only the permissions you need. For example, for user management only:
User.ReadWrite.AllGroup.ReadWrite.AllDirectory.Read.All
- User Management - Create, update, delete, and manage Azure AD users
- Group Management - Manage groups and group memberships
- Device Management - Monitor and manage devices
- Application Management - Manage Azure AD applications and service principals
- Security Operations - Access security events and risk data
- Directory Operations - Read and write directory information
- Mail & Calendar - Access user mail and calendar data (with permissions)
MIT License - see LICENSE file for details.