Jamf MCP Server

Comprehensive MCP server for Jamf Pro Apple device management with support for computers, mobile devices, policies, scripts, profiles, packages, and

Local serverstdioGo

What is the Jamf MCP server?

Connect Jamf to Claude, Cursor or any other MCP client and it stops being a tab you switch to. Comprehensive MCP server for Jamf Pro Apple device management with support for computers, mobile devices, policies, scripts, profiles, packages, and reporting. The jamf mcp server is what makes that connection.

What the server does

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).

Installation

The server ships on npm as npm, so your MCP client can launch it on demand — there is no separate build step. Add the server block to your client's configuration, restart it, and the tools register themselves.

Available tools

The toolset is worth reading before you wire it up, because it tells you what the integration is really for:

  • 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
  • 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)
  • Webhooks — The Webhooks tool exposed by this server
  • Development — The Development tool exposed by this server

Credentials and setup notes

Configuration is passed through the environment: JAMF_URL, JAMF_CLIENT_ID, JAMF_CLIENT_SECRET, JAMF_USE_ENHANCED_MODE, JAMF_MAX_CONCURRENCY, JAMF_MAX_RETRIES, JAMF_RETRY_DELAY, JAMF_RETRY_MAX_DELAY. Treat anything key-shaped as a real credential — scope it to the minimum the server needs, and rotate it if it ever lands in a shared config.

Worth knowing first

  • It runs with your machine's permissions. That is convenient and also the reason to think about what you point it at before you approve a tool call.
  • With 11 tools registered it takes up a noticeable share of the context window; turn it off in projects that never touch Jamf.
  • Missing credentials fail quietly in some clients — if no tools show up, check the environment block first.
  • Keep per-call confirmation enabled while you learn its behaviour; it is the cheapest safeguard you have.

Where it fits

Plenty of monitoring and observability servers cover similar ground. The differences that matter in practice are scope of access and how much setup stands between you and a working tool call. Jamf's toolset — getFleetOverview, getDeviceFullProfile, getSecurityPosture and 8 more — is a fair guide to whether it matches your workflow. It is maintained by dbankscard; worth a glance at recent repository activity before you build anything load-bearing on it.

We check each listing at SyncDev against the project's documentation before it goes live — if something here drifts out of date, it is a bug worth reporting.

Available tools

ToolWhat it does
getFleetOverviewComprehensive fleet summary — inventory counts, compliance rates, and mobile device status in one call
getDeviceFullProfileComplete device profile by name, serial, or ID — resolves automatically and fetches details, policy logs, and history in parallel
getSecurityPostureFleet security analysis — FileVault encryption rates, compliance status, and OS version currency
getPolicyAnalysisPolicy analysis by ID or name — configuration, scope, compliance, and performance
getComputerHistoryFull computer history — policy logs, MDM commands, audit events, screen sharing, user/location changes
getComputerPolicyLogsPolicy execution logs showing success/failure per device
getComputerMDMCommandHistoryMDM command history with status and timestamps
sendComputerMDMCommandSend MDM commands to macOS — lock, wipe, restart, shutdown, remote desktop (requires confirmation)
flushMDMCommandsClear pending/failed MDM commands to unstick devices (requires confirmation)
WebhooksThe Webhooks tool exposed by this server.
DevelopmentThe Development tool exposed by this server.

How to install the Jamf MCP server

{
  "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-api-client-secret"
      }
    }
  }
}

Configuration as documented by the project. Restart the client after saving.

Configuration

VariableDescriptionRequired
JAMF_URLEndpoint or connection string the server talks to.Yes
JAMF_CLIENT_IDConfiguration value read at startup.Optional
JAMF_CLIENT_SECRETCredential the server authenticates with.Yes
JAMF_USE_ENHANCED_MODEConfiguration value read at startup.Optional
JAMF_MAX_CONCURRENCYConfiguration value read at startup.Optional
JAMF_MAX_RETRIESConfiguration value read at startup.Optional
JAMF_RETRY_DELAYConfiguration value read at startup.Optional
JAMF_RETRY_MAX_DELAYConfiguration value read at startup.Optional

Example prompts to try

  • Use Jamf to getFleetOverview.
  • Use Jamf to getDeviceFullProfile.
  • Use Jamf to getSecurityPosture.

Frequently asked questions

It connects Jamf to MCP-compatible AI assistants such as Claude and Cursor, exposing 11 tools (getFleetOverview, getDeviceFullProfile, getSecurityPosture, and more) that the assistant can call on your behalf. Instead of copying data back and forth by hand, the assistant works with Jamf directly.