A comprehensive MCP (Model Context Protocol) server that enables AI assistants to interact with Jamf Pro for complete Apple device management, including computers, mobile devices, policies, scripts…
jamf-mcp-server is an MCP project maintained in the dbanks-gh/jamf-mcp-server repository. The maintainer describes its purpose as “A comprehensive MCP (Model Context Protocol) server that enables AI assistants to interact with Jamf Pro for complete Apple device management, including computers, mobile devices…”. Read the project documentation for the complete scope.
The project provides a local client configuration using node. Follow the repository’s build and installation steps before copying it, and replace example paths with the paths on your own computer.
The example declares JAMF_URL, JAMF_CLIENT_ID, JAMF_CLIENT_SECRET, JAMF_READ_ONLY, JAMF_USE_ENHANCED_MODE, JAMF_DEBUG_MODE. Secret-looking values have been replaced with placeholders. Required and optional labels are shown only when the documentation states them.
Project documentation · Repository · Discovery listing. This profile records the public documentation checked on 2026-10-08.
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 |
|---|---|
| searchDevices | Find devices by name, serial number, IP address, or username (supports partial matching) |
| getDeviceDetails | Retrieve comprehensive device information by ID or name |
| checkDeviceCompliance | Find devices that haven't reported in X days (optimized for large fleets) |
| getDevicesBatch | Get details for multiple devices efficiently |
| updateInventory | Force inventory update on devices |
| listPolicies | List all policies in Jamf Pro |
| getPolicyDetails | Get detailed information about a specific policy by ID or name (includes scope, scripts with full content, and packages - you can see exactly what scripts… |
| searchPolicies | Search for policies by name or ID (supports partial matching) |
| executePolicy | Run policies on specific devices (policy and device can be specified by ID or name, requires confirmation) |
| deployScript | Execute scripts for troubleshooting (with confirmation) |
| getScriptDetails | Get full script content and metadata including parameters, notes, and OS requirements |
| listConfigurationProfiles | List all configuration profiles (computer or mobile device) |
| getConfigurationProfileDetails | Get detailed information about a specific configuration profile |
| searchConfigurationProfiles | Search for configuration profiles by name |
| deployConfigurationProfile | Deploy a configuration profile to one or more devices (with confirmation) |
| removeConfigurationProfile | Remove a configuration profile from one or more devices (with confirmation) |
| listPackages | List all packages with name, version, category, and size |
| getPackageDetails | Get detailed package information including metadata, requirements, and notes |
| searchPackages | Search packages by name, filename, or category |
| getPackageDeploymentHistory | Get deployment history and statistics for a package |
| getPoliciesUsingPackage | Find all policies that use a specific package |
| listComputerGroups | List computer groups (smart groups, static groups, or all) |
| getComputerGroupDetails | Get detailed information about a specific group including membership and smart group criteria |
| searchComputerGroups | Search for computer groups by name |
| getComputerGroupMembers | Get all members of a specific computer group |
| createStaticComputerGroup | Create a new static computer group with specified members (with confirmation) |
| updateStaticComputerGroup | Update the membership of a static computer group (with confirmation) |
| deleteComputerGroup | Delete a computer group (with confirmation) |
| searchMobileDevices | Search for mobile devices by name, serial number, UDID, or other criteria |
| getMobileDeviceDetails | Get detailed information about a specific mobile device including hardware, OS, battery, and management status |
| listMobileDevices | List all mobile devices in Jamf Pro with basic information |
| updateMobileDeviceInventory | Force an inventory update on a specific mobile device |
| sendMDMCommand | Send MDM commands to mobile devices (lock, wipe, clear passcode, etc.) with confirmation for destructive actions |
| listMobileDeviceGroups | List mobile device groups (smart groups, static groups, or all) |
| getMobileDeviceGroupDetails | Get detailed information about a specific mobile device group including membership and criteria |
{
"mcpServers": {
"jamf-pro": {
"command": "node",
"args": [
"/absolute/path/to/jamf-mcp-server/dist/index.js"
],
"env": {
"JAMF_URL": "https://your-instance.jamfcloud.com",
"JAMF_CLIENT_ID": "your-api-client-id",
"JAMF_CLIENT_SECRET": "YOUR_JAMF_CLIENT_SECRET",
"JAMF_READ_ONLY": "false",
"JAMF_USE_ENHANCED_MODE": "true",
"JAMF_DEBUG_MODE": "false"
}
}
}
}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 |
| JAMF_READ_ONLY | Declared in the maintainer’s client configuration. | Check documentation |
| JAMF_USE_ENHANCED_MODE | Declared in the maintainer’s client configuration. | Check documentation |
| JAMF_DEBUG_MODE | Declared in the maintainer’s client configuration. | Check documentation |
메모짱 메모·할 일을 AI로 검색·정리·체크해요. / Search, write and check off notes and to-dos in Memozzang.
채팅으로 후잉 가계부를 관리하세요. 거래 입력·조회, 계정·예산 관리, 손익·재무 보고서를 지원합니다.
나라장터 낙찰정보서비스 Open API를 위한 로컬 MCP 서버
나라장터 사전규격정보서비스 Open API를 위한 로컬 MCP 서버
나라장터 입찰공고정보서비스(공공데이터포털 data.go.kr) Open API를 감싼 로컬 MCP 서버
나라장터 사용자정보서비스(공공데이터포털 data.go.kr) Open API를 감싼 로컬 MCP 서버