What is mdmclient on macOS?
Last updated: 2026-08-05
mdmclient is Apple’s built-in client for Mobile Device Management, not a Jamf or Kandji agent. Keep it enabled: Apple provides no supported switch for turning it off, and blocking it can break device-management commands.
What it is
mdmclient is Apple’s built-in Mobile Device Management client. It is part of macOS Managed Client, also known as MCX, and the executable is located at /usr/libexec/mdmclient. Its code-signing identifier is com.apple.mdmclient.
After a Mac is enrolled in device management, mdmclient handles the Apple side of the management protocol. It exchanges management commands, queries, configuration profiles, and status information with the MDM service configured for that Mac. Those exchanges let an organization apply settings, request information, deliver security restrictions, manage certificates, issue software-update commands, and perform supported remote actions.
This distinction matters when the organization uses a service such as Jamf or Kandji. mdmclient is not software written by either vendor. It is Apple’s protocol client, which third-party MDM services communicate with. A vendor may install a separate local agent for additional functions, but that agent and mdmclient are different processes.
The executable and its launchd definitions are built into macOS. Their presence therefore does not establish that the Mac is currently enrolled or that an administrator is actively sending commands.
Why it talks to the network
Network activity begins when mdmclient has management work to exchange. Initial enrollment can trigger a check-in with the CheckInURL or main ServerURL recorded in the MDM enrollment profile. A change to the device’s push token can cause another check-in.
For routine commands, Apple Push Notification service provides the signal that work is waiting. After receiving that signal, the Mac polls the organization’s MDM service over HTTPS. mdmclient receives the available commands, executes them, returns the results, and checks whether the server has more work.
The workflow depends on APNs, but that does not mean the persistent APNs connection must appear under mdmclient in a per-process traffic view. Another macOS system process, such as apsd, may own that socket. Seeing traffic from apsd alongside MDM activity is therefore compatible with mdmclient being the component that handles the management command itself.
Other management stages can create additional exchanges. Enrollment, Automated Device Enrollment, bootstrap-token exchange, declarative-management synchronization, and declarative status reports may involve the configured MDM service or Apple enrollment services. The exact pattern depends on how the Mac is enrolled and what the administrator requests.
How much traffic is normal
Apple publishes no verified normal byte range and no universal request-frequency baseline for mdmclient. A precise daily or monthly figure would therefore be misleading.
Ordinary MDM communication is generally intermittent, low-volume control traffic. Typical exchanges carry check-ins, profiles, commands, inventory queries, results, and status metadata. This is normally much smaller than continuous activities such as streaming or cloud backup, but there is no supported fixed threshold that separates “normal” from “abnormal” on every managed Mac.
Activity can arrive in bursts when an administrator requests extensive inventory information or diagnostic data. Declarative status reporting and vendor configuration can also add background exchanges, so it is not safe to claim that every deployment follows one request cadence.
A command may also start a much larger operation without making mdmclient the downloader. App packages, other software packages, and operating-system updates can be fetched by other macOS services or Apple CDN-related processes. For that reason, the total network cost of an MDM-initiated action is deployment-dependent and should not automatically be assigned to mdmclient.
Can you turn it off
The practical answer is to keep mdmclient enabled. Apple does not provide a supported System Settings switch for disabling the service itself.
Killing the process is not a permanent control because launchd can start it again when management work arrives. Blocking or otherwise disabling it can prevent the Mac from receiving or acknowledging management profiles, security restrictions, compliance queries, software-update commands, certificate changes, and remote actions such as lock or erase. On an organization-managed Mac, those failures may also leave the device out of sync with its configured management service.
If the enrollment profile is removable, unenrollment is the supported user-facing operation. Open System Settings > General > Device Management, select the enrollment profile, and choose Remove. This is not merely a traffic toggle: it unenrolls the Mac and removes associated managed profiles, settings, and managed apps. Profiles controlled by an organization may not be removable without an administrator.
What people get wrong
“mdmclient is Jamf, Kandji, or malware.” It is an Apple-supplied and Apple-signed macOS executable. Jamf, Kandji, and other MDM services use Apple’s protocol through mdmclient; any optional vendor agent installed locally is separate software.
“Seeing mdmclient proves that my employer is actively monitoring this Mac.” Its presence proves only that the macOS system component exists. To check actual enrollment, look in System Settings > General > Device Management or run profiles status -type enrollment.
“Deleting or permanently disabling it is a safe performance tweak.” mdmclient is a protected, on-demand system component required for supported device management. On an unmanaged Mac it normally has little MDM work to perform, and there is no established optimization benefit from trying to disable it.
“mdmclient performs frequent periodic check-ins by design.” Apple’s command workflow is primarily push-triggered: APNs indicates that commands are waiting, and the device then polls the MDM service. Declarative status reporting and vendor-specific configuration can add background exchanges, but a universal claim of frequent requests is unverified.
“Every byte caused by an MDM command belongs to mdmclient.” A management command can initiate an app, package, or operating-system installation while another macOS service performs the payload download. Per-process ownership must be measured rather than inferred from the command that started the operation.
Seeing what it actually used
If you are investigating unexpected activity, first confirm whether the Mac is enrolled and note when management commands or updates occurred. Then use Bytetally’s per-process statistics to inspect mdmclient separately from apsd, software-update services, and other download processes. Compare the timestamps before deciding which process transferred the data.
Related processes
Common questions
Is mdmclient malware?
No. mdmclient is an Apple-supplied, Apple-signed macOS system executable used for Mobile Device Management.
Does mdmclient mean my employer is monitoring my Mac?
Not by itself. mdmclient is present as a system component; check System Settings > General > Device Management or run profiles status -type enrollment to determine whether the Mac is enrolled.
Can I disable mdmclient?
Apple provides no supported switch for disabling mdmclient. Blocking or killing it can prevent management commands, profiles, compliance checks, certificate changes, and remote actions from working.
How much data should mdmclient use?
Apple publishes no normal byte range or universal request-frequency baseline. Its ordinary control traffic is generally intermittent and low-volume, but actual totals depend on the organization’s management activity.
See exactly how much it used
Bytetally tracks every process on your Mac separately — upload and download, live and historical. All on-device.
Download Free on the Mac App StoremacOS 14 Sonoma or later · 100% on-device · No account