Comprehensive MCP server for Jamf Pro Apple device management with support for computers, mobile devices, policies, scripts, profiles, packages, and
Comprehensive MCP server for Jamf Pro Apple device management with support for computers, mobile devices, policies, scripts, profiles, packages, and reporting
A comprehensive MCP (Model Context Protocol) server that enables AI assistants to interact with Jamf Pro for complete Apple device management. Works with Claude Desktop and ChatGPT (via MCP Connectors).
Compare MCP servers by category, or browse hosted MCP servers if you prefer an endpoint over a local process.
Check the linked publisher documentation and your connected client's tool list. Names and availability can vary with the server version and account permissions.
| Tool | What it does |
|---|---|
| getFleetOverview | Comprehensive fleet summary — inventory counts, compliance rates, and mobile device status in one call |
| getDeviceFullProfile | Complete device profile by name, serial, or ID — resolves automatically and fetches details, policy logs, and history in parallel |
| getSecurityPosture | Fleet security analysis — FileVault encryption rates, compliance status, and OS version currency |
| getPolicyAnalysis | Policy analysis by ID or name — configuration, scope, compliance, and performance |
| searchDevices | Find devices by name, serial number, IP address, or username |
| getDeviceDetails | Detailed device information by ID |
| checkDeviceCompliance | Find devices that haven't reported in X days |
| getDevicesBatch | Get details for multiple devices in a single request |
| updateInventory | Force inventory update on a device |
| getComputerHistory | Full computer history — policy logs, MDM commands, audit events, screen sharing, user/location changes |
| getComputerPolicyLogs | Policy execution logs showing success/failure per device |
| getComputerMDMCommandHistory | MDM command history with status and timestamps |
| sendComputerMDMCommand | Send MDM commands to macOS — lock, wipe, restart, shutdown, remote desktop (requires confirmation) |
| flushMDMCommands | Clear pending/failed MDM commands to unstick devices (requires confirmation) |
| listPolicies | List all policies with optional category filter |
| getPolicyDetails | Detailed policy info including scope, scripts, and packages |
| searchPolicies | Search policies by name |
| executePolicy | Run a policy on specific devices (requires confirmation) |
| createPolicy | Create a new policy with full configuration (requires confirmation) |
| updatePolicy | Update an existing policy (requires confirmation) |
| clonePolicy | Clone a policy with a new name (requires confirmation) |
| setPolicyEnabled | Enable or disable a policy (requires confirmation) |
| updatePolicyScope | Add/remove computers and groups from policy scope (requires confirmation) |
| deletePolicy | Delete a policy (requires confirmation) |
| listScripts | List all scripts |
| searchScripts | Search scripts by name |
| getScriptDetails | Full script content, parameters, and metadata |
| deployScript | Execute a script on devices (requires confirmation) |
| createScript | Create a new script (requires confirmation) |
| updateScript | Update an existing script (requires confirmation) |
| deleteScript | Delete a script (requires confirmation) |
| listConfigurationProfiles | List profiles (computer or mobile device) |
| getConfigurationProfileDetails | Detailed profile information |
| searchConfigurationProfiles | Search profiles by name |
| deployConfigurationProfile | Deploy a profile to devices (requires confirmation) |
| removeConfigurationProfile | Remove a profile from devices (requires confirmation) |
| deleteConfigurationProfile | Delete a configuration profile (requires confirmation) |
| listPackages | List all packages |
| searchPackages | Search packages by name |
| getPackageDetails | Detailed package information |
| getPackageDeploymentHistory | Deployment history via policy analysis |
| getPoliciesUsingPackage | Find all policies using a specific package |
| getPackageDeploymentStats | Deployment statistics and scope analysis |
| listComputerGroups | List groups (smart, static, or all) |
| getComputerGroupDetails | Group details including membership and smart group criteria |
| searchComputerGroups | Search groups by name |
| getComputerGroupMembers | List all members of a group |
| createStaticComputerGroup | Create a static group (requires confirmation) |
| updateStaticComputerGroup | Update group membership (requires confirmation) |
| deleteComputerGroup | Delete a group (requires confirmation) |
| listAdvancedComputerSearches | List all saved advanced searches |
| getAdvancedComputerSearchDetails | Get search configuration and results |
| createAdvancedComputerSearch | Create a new advanced search (requires confirmation) |
| deleteAdvancedComputerSearch | Delete a saved search (requires confirmation) |
| searchMobileDevices | Search mobile devices by name, serial, or UDID |
| getMobileDeviceDetails | Detailed mobile device information |
| listMobileDevices | List all mobile devices |
| listMobileDeviceApplications | List mobile device applications configured for delivery |
| getMobileDeviceApplicationDetails | Get a delivered mobile application definition and scope details |
| updateMobileDeviceInventory | Force inventory update on a mobile device |
| sendMDMCommand | Send MDM commands — lock, wipe, clear passcode, lost mode, settings (requires confirmation) |
| listMobileDeviceGroups | List mobile device groups |
| getMobileDeviceGroupDetails | Group details including membership |
| getInventorySummary | Fleet inventory summary — device counts, OS distribution, model distribution |
| getDeviceComplianceSummary | Compliance summary — check-in rates, failed policies, missing software |
| getPolicyComplianceReport | Policy compliance — success/failure rates, scope coverage |
| getSoftwareVersionReport | Software version distribution across devices |
| getLocalAdminPassword | Retrieve the current LAPS password for a device (requires confirmation) |
| getLocalAdminPasswordAudit | Audit trail of password views and rotations |
| getLocalAdminPasswordAccounts | List LAPS-managed accounts on a device |
| listPatchSoftwareTitles | List patch software title configurations |
| getPatchSoftwareTitleDetails | Patch title details with versions and definitions |
| listPatchPolicies | List patch policies with deployment status |
| getPatchPolicyDashboard | Patch compliance dashboard — latest version, pending, failed |
| listComputerExtensionAttributes | List all custom extension attributes |
| getComputerExtensionAttributeDetails | Full EA details including script content |
| createComputerExtensionAttribute | Create a new extension attribute (requires confirmation) |
| updateComputerExtensionAttribute | Update an extension attribute (requires confirmation) |
| deleteComputerExtensionAttribute | Delete an extension attribute (requires confirmation) |
| listSoftwareUpdatePlans | List active and completed OS update plans |
| createSoftwareUpdatePlan | Create an OS update plan for specific devices (requires confirmation) |
| getSoftwareUpdatePlanDetails | Update plan status and device progress |
| listNetworkSegments | List network segments for location-based management |
| getNetworkSegmentDetails | Segment details including IP ranges and building assignment |
| listAppInstallers | List Jamf App Catalog titles |
| getAppInstallerDetails | Detailed app installer information |
| listRestrictedSoftware | List restricted software entries |
| getRestrictedSoftwareDetails | Restricted software configuration details |
| createRestrictedSoftware | Create a new restricted software entry (requires confirmation) |
| updateRestrictedSoftware | Update an existing restricted software entry (requires confirmation) |
| deleteRestrictedSoftware | Delete a restricted software entry (requires confirmation) |
| listWebhooks | List configured webhooks |
| getWebhookDetails | Webhook configuration details |
{
"mcpServers": {
"jamf-code": {
"command": "node",
"args": [
"/absolute/path/to/jamf-mcp-server/dist/index-code.js"
],
"env": {
"JAMF_URL": "https://your-instance.jamfcloud.com",
"JAMF_CLIENT_ID": "your-api-client-id",
"JAMF_CLIENT_SECRET": "YOUR_JAMF_CLIENT_SECRET"
}
}
}
}From the project documentation. Replace placeholders and example paths before connecting.
| Variable | Description | Required |
|---|---|---|
| JAMF_URL | Declared in the maintainer’s client configuration. | Check documentation |
| JAMF_CLIENT_ID | Declared in the maintainer’s client configuration. | Check documentation |
| JAMF_CLIENT_SECRET | Declared in the maintainer’s client configuration. | Check documentation |
Give your coding agent the full DevTools toolbox: traces, network, console, heap snapshots and Lighthouse.
Workers, KV, R2 and D1 by conversation — Cloudflare's official remote servers for building and observability.
Daily ops: Morning briefing → Triage → Asset profile → Impact analysis → Config origin → Fix Proactive posture: Compliance gaps → Exposure map → Data exposure → Identity review Incident response…
Persistent memory with contradiction detection, burnout monitoring, and 69 intelligence tools.
Event-driven deterministic browser MCP: HITL gates, audit, console/network/perf observability.
The official Model Context Protocol (MCP) server for zhook, enabling AI agents to interact with your Zhook webhooks, events, and metrics.