Skip to main content
Glama
DynamicEndpoints

BOD-25-01-CSA-Microsoft-Policy-MCP

enforce_privileged_mfa

Enforce phishing-resistant multi-factor authentication for privileged Microsoft 365 roles to comply with CSA BOD 25-01 security requirements.

Instructions

Enforce phishing-resistant MFA for privileged roles (MS.AAD.3.6v1)

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault

No arguments

Implementation Reference

  • The handler function `enforcePrivilegedMFA` that implements the tool logic by creating a Conditional Access Policy via Microsoft Graph API. It requires phishing-resistant MFA (FIDO2 or Windows Hello for Business) for privileged roles such as Global Administrator and Privileged Role Administrator.
    private async enforcePrivilegedMFA() { try { // Configure MFA for privileged roles using Microsoft Graph API await this.graphClient .api('/policies/conditionalAccessPolicies') .post({ displayName: 'Require Phishing-resistant MFA for Privileged Roles', state: 'enabled', conditions: { applications: { includeApplications: ['all'], }, users: { includeRoles: ['Global Administrator', 'Privileged Role Administrator'], }, }, grantControls: { operator: 'AND', builtInControls: ['fido2', 'windowsHelloForBusiness'], }, }); return { content: [ { type: 'text', text: 'Phishing-resistant MFA enforced for privileged roles successfully', }, ], }; } catch (error: unknown) { throw new McpError( ErrorCode.InternalError, `Failed to enforce privileged MFA: ${error instanceof Error ? error.message : 'Unknown error'}` ); } }
  • Registration of the 'enforce_privileged_mfa' tool in the MCP server's tool list, specifying name, description, and input schema (empty object, no parameters required).
    { name: 'enforce_privileged_mfa', description: 'Enforce phishing-resistant MFA for privileged roles (MS.AAD.3.6v1)', inputSchema: { type: 'object', properties: {}, }, },
  • Dispatch in the CallToolRequest handler switch statement that routes calls to the 'enforce_privileged_mfa' tool to the `enforcePrivilegedMFA` method.
    case 'enforce_privileged_mfa': return await this.enforcePrivilegedMFA();
  • Input schema for the tool, defining an empty object (no input parameters required).
    inputSchema: { type: 'object', properties: {}, },

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/DynamicEndpoints/Automated-BOD-25-01-CISA-Microsoft-Policies-MCP'

If you have feedback or need assistance with the MCP directory API, please join our Discord server