MCP Language Server
by isaacphi
- cisa-powerplatform
# CISA Power Platform MCP Server
This Model Context Protocol (MCP) server implements security controls for Microsoft Power Platform according to CISA Binding Operational Directive 25-01.
## Overview
The CISA Power Platform MCP server provides tools for configuring and managing Power Platform security settings in accordance with BOD 25-01 requirements. It helps organizations:
- Restrict environment creation capabilities to administrators only
- Implement Data Loss Prevention (DLP) policies in the default environment
- Enable tenant isolation for enhanced security
- Monitor and report on security control compliance
## Security Controls Implementation
### MS.POWERPLATFORM.1.1v1 & MS.POWERPLATFORM.1.2v1
**Due Date: 06/20/2025**
- Restricts the ability to create production and sandbox environments to admins
- Restricts the ability to create trial environments to admins
- Prevents non-admin users from creating any type of environment
- Ensures centralized control over environment provisioning
### MS.POWERPLATFORM.2.1v1
**Due Date: 06/20/2025**
- Creates and enforces DLP policy in the default Power Platform environment
- Restricts connector access based on data sensitivity
- Prevents unauthorized data sharing and exfiltration
- Enables granular control over which connectors can be used
### MS.POWERPLATFORM.3.1v1
**Due Date: 06/20/2025**
- Enables Power Platform tenant isolation
- Prevents cross-tenant data sharing and access
- Enhances security boundaries between tenants
- Reduces risk of unauthorized data access
## Available Tools
### restrict_environment_creation
Restricts environment creation capabilities to specified admin groups.
```json
{
"adminGroupId": "group-id"
}
```
### configure_dlp_policy
Creates and configures DLP policies to restrict connector access.
```json
{
"allowedConnectors": ["connector-id-1", "connector-id-2"]
}
```
### enable_tenant_isolation
Enables Power Platform tenant isolation settings.
```json
{}
```
### get_policy_status
Retrieves current status of all CISA Power Platform security policies.
```json
{}
```
## Installation
1. Clone this repository
2. Install dependencies:
```bash
npm install
```
3. Build the server:
```bash
npm run build
```
4. Configure environment variables by copying `.env.example` to `.env` and setting required values:
```
TENANT_ID=your-tenant-id
CLIENT_ID=your-client-id
CLIENT_SECRET=your-client-secret
```
## Usage
Configure the server in your MCP client settings (e.g., Claude desktop app):
```json
{
"mcpServers": {
"cisa-powerplatform": {
"command": "node",
"args": ["path/to/cisa-powerplatform/build/index.js"],
"env": {
"TENANT_ID": "your-tenant-id",
"CLIENT_ID": "your-client-id",
"CLIENT_SECRET": "your-client-secret"
}
}
}
}
```
## Compliance Reporting
The server provides comprehensive reporting capabilities to help track compliance with BOD 25-01 requirements:
- Current status of all security controls
- Detailed policy configurations
- Non-compliant settings detection
- Recommendations for remediation
## Security Considerations
- All credentials and tokens are handled securely through environment variables
- API calls use Microsoft Graph API with appropriate authentication
- Changes are logged for audit purposes
- Tenant isolation is enforced when enabled
- DLP policies are strictly enforced
## Contributing
Contributions are welcome! Please ensure any pull requests or changes:
1. Include clear documentation
2. Follow existing code style
3. Include tests where appropriate
4. Update security control implementations as BOD requirements evolve
## License
MIT