Jamf Pro

Connect your AI agents to Jamf Pro.

Authentication: client credentials or username and password. See Magic Link for the runtime auth flow.

Sample use cases

  • Find every computer in the Engineering department that has not checked in for 14 days
  • List the policies scoped to the Finance Laptops computer group
  • Pull the full inventory for a device by serial number C02XK1ZJJGH5

Available Tools

list_advanced_computer_searches

List saved advanced computer searches as id and name. Use get_advanced_computer_search for a search’s criteria and…

get_advanced_computer_search

Get one advanced computer search by ID: its criteria, display fields, and the computers it matches. Use…

list_buildings

List buildings with paging (page/page_size), server-side sort, and an RSQL filter.

get_building

Get one building by ID. Use list_buildings to find building IDs.

create_building

Create a building. Requires a name; optionally set address fields. Returns the new building including its ID.

update_building

Update a building by ID. Only the fields you pass change; pass "" to clear an address field. Use list_buildings to…

delete_building

Delete a building by ID permanently. Use list_buildings to find building IDs.

list_categories

List categories with paging (page/page_size), server-side sort, and an RSQL filter. Categories organize scripts and…

get_category

Get one category by ID. Use list_categories to find category IDs.

create_category

Create a category. Requires a name; optionally set a Self Service priority. Returns the new category including its ID.

update_category

Update a category by ID. Only the fields you pass are changed. Use list_categories to find category IDs.

delete_category

Delete a category by ID permanently. Jamf allows it while scripts still use the category, and they keep pointing at…

list_computer_groups

List computer groups (both smart and static; the is_smart flag distinguishes them). Use get_computer_group for one…

get_computer_group

Get one computer group by ID: is_smart, site, a smart group’s criteria, and the member computers (id, name, serial…

list_computers

List computer inventory with paging (page/page_size), server-side sort, and an RSQL filter, e.g…

get_computer_inventory

Get inventory detail for one computer by ID. Defaults to GENERAL, HARDWARE (serial number), OPERATING_SYSTEM, and…

list_departments

List departments with paging (page/page_size), server-side sort, and an RSQL filter.

get_department

Get one department by ID. Use list_departments to find department IDs.

create_department

Create a department. Requires a name. Returns the new department including its ID.

update_department

Update a department by ID. Only the fields you pass are changed. Use list_departments to find department IDs.

delete_department

Delete a department by ID permanently. Use list_departments to find department IDs.

list_computer_extension_attributes

List computer extension attributes (custom inventory fields) as id, name, and enabled. Use…

get_computer_extension_attribute

Get one computer extension attribute by ID, including its data type and description. Use…

list_mobile_device_groups

List mobile device groups (both smart and static; the is_smart flag distinguishes them). Use get_mobile_device_group…

get_mobile_device_group

Get one mobile device group by ID: is_smart, site, a smart group’s criteria, and the member mobile devices. Use…

list_mobile_devices

List managed mobile devices (iOS/tvOS) with serial numbers and model details. Supports paging (page/page_size) and…

get_mobile_device

Get one mobile device’s inventory detail by ID. osVersion and managed are top-level; model, supervised, and storage…

list_policies

Use get_policy for a policy’s full detail and update_policy to change a policy.

get_policy

Get one policy by ID. Core fields (name, enabled, frequency) are under ‘general’. Which triggers are on is in the…

update_policy

Update a policy by ID: name, enabled, frequency, the trigger flags (check-in, enrollment complete, login, network…

list_scripts

List scripts with paging (page/page_size), server-side sort, and an RSQL filter. Items omit the script body; use…

get_script

Get one script by ID, including its contents. Use list_scripts to find script IDs.

create_script

Create a script. Requires a name; optionally set priority, contents, and a category. Take categoryId from…

update_script

Update a script by ID. Only the fields you pass change; "" clears a text field. To move it, pass categoryId from…

delete_script

Delete a script by ID permanently. Use list_scripts to find script IDs.

list_sites

List all sites in the Jamf Pro instance. Sites partition resources across organizational units. Returns the full…

list_users

List Jamf users as id and name only. Use get_user for a user’s full name, email, phone, and position. Returns the…

get_user

Get one user by ID, including full name, email, phone, and position. Use list_users to find user IDs.