Prerequisites
- Mosyle Business admin access
- Organization API key from Runlayer with MCP Watch Scan role (see below)
- Devices enrolled via User-Approved MDM or Automated Device Enrollment (for Full Disk Access)
Creating an Organization API Key
Creating an Organization API Key
Organization API keys authenticate MDM-deployed scripts without per-device enrollment.
Configure the Key
- Name (required): Enter a descriptive name (e.g., “MDM MCP Watch”)
- Role: Select MCP Watch Scan
Deployment Steps
Deploy PPPC Profile
MCP Watch needs to read MCP config files in TCC-protected directories (Desktop, Documents, Application Support). Without a PPPC profile, macOS shows a permission dialog on every scan.
The profile targets a dedicated
runlayer-scan wrapper binary so that Full Disk Access is scoped to the scan process only — not to general-purpose tools like uvx.- Switch to the Management tab in Mosyle Business
- Look for Certificates / Custom Profiles. If it is not available, click Activate New Profile Type and then click Activate under “Certificates / Custom Profiles”
- Click Add New Profile
- Provide a Name (e.g., “Runlayer MCP Watch - Full Disk Access”) and click Select the file to upload the downloaded
.mobileconfig - Click Add Assignment to assign to target machines. It is recommended to assign to all devices, but must include all devices that will have MCP Watch deployed
- Click Save
Generate the Script
Fill in your organization’s settings below to generate a customized deployment script.Mosyle-specific configuration tips:
DEVICE_NAME: Use the Mosyle variable%DeviceName%to identify the device.
Create a Custom Command
- Under the Management tab, select Custom Commands
- Click Add new profile
- Provide a Name (e.g., “Runlayer MCP Watch”), check Enable variables for this profile, and paste the generated script into the code box
- Switch to the Execution Settings tab and configure the execution frequency (at least daily recommended)
Assign to Devices
Click Add assignment to assign the profile to all devices that should run MCP Watch
Verification
After deployment, verify on target devices and in the Runlayer dashboard:Log Locations
| Platform | Log Location |
|---|---|
| macOS | /var/log/mcp-watch.log |
Exit Codes
| Code | Meaning |
|---|---|
| 0 | Success |
| 1 | General failure (missing config) |
| 2 | Network failure |
| 3 | Installation failure |