MCP Language Server

  • docs
# Multi-Tenant Setup for MSPs This guide explains how to configure CISA MCP servers for managing multiple Microsoft 365 tenants, ideal for Managed Service Providers (MSPs). ## Overview The multi-tenant configuration allows MSPs to: - Manage multiple client tenants from a single deployment - Apply consistent security policies across all tenants - Generate consolidated reports and alerts - Customize settings per tenant while maintaining global standards ## Configuration Structure The multi-tenant setup uses an extended configuration format that supports multiple tenant credentials and settings: ```json { "mcpServer": { "command": "node", "args": ["./build/index.js"], "tenants": [ { "name": "Tenant1", "env": { "MS_TENANT_ID": "tenant1-id", "MS_CLIENT_ID": "tenant1-client-id", "MS_CLIENT_SECRET": "tenant1-client-secret" }, "policies": { "securityDefaults": true, "conditionalAccess": true, "mfaEnforcement": true } } ], "globalSettings": { "parallelExecution": true, "reportingInterval": "daily", "alertThresholds": { "securityScore": 70, "complianceScore": 80 }, "notifications": { "email": "admin@msp.com", "teams": "webhook-url", "slack": "webhook-url" } } } } ``` ## Setup Instructions 1. Create App Registrations - Create an app registration in each tenant's Azure AD - Grant necessary permissions for Microsoft Graph API - Generate client secrets 2. Configure Tenant Settings - Copy the example configuration - Add each tenant's credentials and settings - Customize policies per tenant if needed 3. Global Settings - Configure reporting and notification preferences - Set alert thresholds - Enable parallel execution if desired ## Features ### Per-Tenant Configuration - Individual credentials - Custom security policies - Tenant-specific thresholds ### Global Management - Centralized reporting - Consolidated alerts - Unified policy enforcement ### Automation - Parallel execution across tenants - Scheduled compliance checks - Automated remediation ## Best Practices 1. Security - Use separate service principals per tenant - Implement least-privilege access - Rotate secrets regularly 2. Performance - Enable parallel execution for faster processing - Set appropriate reporting intervals - Monitor resource usage 3. Compliance - Maintain tenant isolation - Track per-tenant compliance scores - Document policy exceptions ## Example Use Cases 1. Security Baseline Deployment ```json { "policies": { "securityDefaults": true, "conditionalAccess": { "mfaPolicy": true, "locationPolicy": true } } } ``` 2. Compliance Monitoring ```json { "monitoring": { "complianceChecks": ["NIST", "HIPAA", "PCI"], "reportingFrequency": "daily" } } ``` ## Troubleshooting Common issues and solutions: 1. Authentication Failures - Verify tenant credentials - Check permission grants - Confirm secret expiration 2. Performance Issues - Adjust parallel execution settings - Optimize reporting intervals - Monitor resource utilization ## Additional Resources - [Microsoft Graph API Documentation](https://docs.microsoft.com/graph) - [Azure AD Best Practices](https://docs.microsoft.com/azure/active-directory/fundamentals/security-operations-introduction) - [CISA Security Guidelines](https://www.cisa.gov/cybersecurity)