Fleet MCP
An MCP server that provides tools for managing and monitoring your Fleet Device Management instance.
Connector by SimplyMinimal · GitHub account verified by the MCP Registry
Chalk Labs
Need help deploying Fleet MCP?
Chalk Labs sets up agents like this inside real teams: connected to your tools, tested on your data, with a human in the loop where it matters.
Install
Works with Claude Code, Codex, VS Code, Cursor, Windsurf, Claude Desktop. Read the repository before you give any tool access to your data.
npx agentmarket install connector/simplyminimal-fleet-mcp
Asks which of your tools to add it to (Claude Code, Codex, Cursor, VS Code, Windsurf, Gemini CLI, Claude Desktop) and shows the change first. See https://agentmart.dev/cli.
Get the weekly diff
The weekly diff: one email a week with new agent tools, notable updates and grade changes, plus security alerts for tools you follow. Double opt-in, one-click unsubscribe.
About
Reviews
Write a reviewNo reviews yet. Installed it? Reviews come from verified installers only. How reviews work
Permissions
What this server can do and what it asks for, from its tool list and install config. Checked Oct 25, 2026.
- Tools
- 78 read · 36 write · 18 delete · 6 not yet classified
- Secrets
- 1 (API keys, tokens or passwords)
- Install scripts
- Not scanned yet
- Runs as
- Python package
Tools by what they do 138
Read from the source code; the running server may list different tools.
Read 78 · Look things up without changing anything.
fleet_find_software_on_hostfleet_get_batch_scriptfleet_get_bootstrap_metadatafleet_get_bootstrap_summaryfleet_get_carvefleet_get_carve_blockfleet_get_certificatefleet_get_configfleet_get_cvefleet_get_device_infofleet_get_enroll_secretsfleet_get_filevault_summary
Show 66 more tools
fleet_get_hostfleet_get_host_by_identifierfleet_get_host_device_mappingfleet_get_host_encryption_keyfleet_get_host_macadminsfleet_get_host_mdmfleet_get_host_mdm_profilesfleet_get_host_softwarefleet_get_labelfleet_get_mdm_command_resultsfleet_get_mdm_profiles_summaryfleet_get_osquery_table_schemafleet_get_packfleet_get_policy_resultsfleet_get_queryfleet_get_query_reportfleet_get_query_resultsfleet_get_scriptfleet_get_script_resultfleet_get_sessionfleet_get_setup_assistantfleet_get_softwarefleet_get_software_install_resultfleet_get_software_titlefleet_get_teamfleet_get_team_secretsfleet_get_userfleet_get_versionfleet_get_vulnerabilitiesfleet_health_checkfleet_list_activitiesfleet_list_app_store_appsfleet_list_async_queriesfleet_list_batch_script_hostsfleet_list_batch_scriptsfleet_list_carvesfleet_list_custom_variablesfleet_list_host_certificatesfleet_list_host_past_activitiesfleet_list_host_scriptsfleet_list_host_upcoming_activitiesfleet_list_hostsfleet_list_invitesfleet_list_labelsfleet_list_mdm_apple_installersfleet_list_mdm_commandsfleet_list_mdm_devicesfleet_list_mdm_profilesfleet_list_osquery_tablesfleet_list_packsfleet_list_policiesfleet_list_queriesfleet_list_scheduled_queriesfleet_list_scriptsfleet_list_secretsfleet_list_softwarefleet_list_software_titlesfleet_list_team_usersfleet_list_teamsfleet_list_user_sessionsfleet_list_usersfleet_list_vpp_tokensfleet_search_hostsfleet_search_softwarefleet_suggest_tables_for_queryfleet_verify_invite
Write 36 · Create, change, send or run things.
fleet_add_app_store_appfleet_add_labels_to_hostfleet_add_team_usersfleet_batch_set_softwarefleet_cancel_batch_scriptfleet_cancel_host_activityfleet_cancel_queryfleet_create_custom_variablefleet_create_invitefleet_create_labelfleet_create_packfleet_create_policy
Show 24 more tools
fleet_create_queryfleet_create_scriptfleet_create_secretfleet_create_setup_assistantfleet_create_teamfleet_create_userfleet_install_softwarefleet_lock_devicefleet_lock_hostfleet_modify_scriptfleet_run_batch_scriptfleet_transfer_hostsfleet_unlock_hostfleet_update_app_store_appfleet_update_configfleet_update_enroll_secretsfleet_update_invitefleet_update_labelfleet_update_packfleet_update_policyfleet_update_userfleet_upload_bootstrap_packagefleet_upload_mdm_apple_installerfleet_upload_mdm_profile
Delete 18 · Delete, drop, revoke or wipe things.
fleet_delete_bootstrap_packagefleet_delete_custom_variablefleet_delete_hostfleet_delete_invitefleet_delete_labelfleet_delete_mdm_profilefleet_delete_packfleet_delete_policyfleet_delete_queryfleet_delete_scriptfleet_delete_secretfleet_delete_session
Show 6 more tools
fleet_delete_setup_assistantfleet_delete_user_sessionsfleet_delete_vpp_tokenfleet_remove_labels_from_hostfleet_remove_team_userfleet_run_script
Not yet classified 6 · We could not tell from the name and description.
fleet_query_hostfleet_query_host_by_identifierfleet_refetch_hostfleet_run_live_query_with_resultsfleet_run_saved_queryfleet_unenroll_host_mdm
Secrets and settings it asks for
Secrets: values you paste in that let it act as you.
FLEET_API_TOKEN
Other settings (environment variables or headers).
FLEET_ALLOW_SELECT_QUERIESFLEET_READONLYFLEET_SERVER_URLFLEET_VERIFY_SSL
Tools (138)
Read from the source code; the running server may differ. Descriptions are the server’s own words; hidden characters are shown as [U+…].
fleet_add_app_store_appAdd an App Store app for installation. Adds a VPP app from the App Store to Fleet for distribution to Apple devices. Args: app_store_id: The App Store ID (Adam ID) of the app platform: Platform for the app (ios, ipados, darwin) team_id: Optional team ID to assign the app to self_service: Whether users can install the app themselves automatic_install: Whether to automatically install on all devices labels_include_any: Optional list of labels - install if host has any labels_exclude_any: Optional list of labels - don't install if host has any Returns: Dict cont…
fleet_add_labels_to_hostAdd labels to a host. This adds manual labels to a host. Only works with manual labels (not dynamic/query-based labels). Args: host_id: ID of the host to add labels to label_names: List of label names to add to the host Returns: Dict containing the operation result.
fleet_add_team_usersAdd one or more users to a specific team. Args: team_id: ID of the team user_ids: List of user IDs to add to the team Returns: Dict indicating success or failure of the operation. Example: >>> result = await fleet_add_team_users(team_id=1, user_ids=[10, 20]) >>> print(result["message"])
fleet_batch_set_softwareBatch upload/set software installers for a team. This endpoint is asynchronous - it starts the process of downloading and uploading software installers in the background and returns a request UUID to query the status. Args: team_id: ID of the team (None for no team) software: List of software items with url, install_script, etc. dry_run: If True, validate without making changes Returns: Dict containing the request UUID to check status. Example: >>> software = [ ... { ... "url": "https://example.com/app.pkg", ... "install_script": "install…
fleet_cancel_batch_scriptCancel a batch script execution. Args: batch_execution_id: The batch execution ID to cancel Returns: Dict indicating success or failure.
fleet_cancel_host_activityCancel an upcoming activity for a specific host. Args: host_id: ID of the host activity_id: ID of the activity to cancel Returns: Dict indicating success or failure of the cancellation.
fleet_cancel_queryCancel a running asynchronous query. This tool cancels a running async query. Completed, failed, or already cancelled queries cannot be cancelled. Args: campaign_id: The campaign ID of the query to cancel Returns: Dict containing: - success: Whether the cancellation was successful - message: Status message - campaign_id: The campaign ID Examples: # Cancel a running query fleet_cancel_query(campaign_id=12345)
fleet_create_custom_variableCreate a custom variable for use in scripts and configuration profiles. Custom variables can be used in scripts and profiles by prefixing them with $FLEET_SECRET_ (e.g., $FLEET_SECRET_API_TOKEN). The variable values are hidden when viewed in the Fleet UI or API. Args: name: Variable name without the FLEET_SECRET_ prefix (e.g., "API_TOKEN") value: The value for the custom variable Returns: Dict containing the created variable's ID and name (value is not returned). Example: >>> result = await fleet_create_custom_variable( ... name="API_TOKEN", ... value="secre…
fleet_create_inviteCreate a new user invite in Fleet. Sends an invitation email to a user to join Fleet. The user can be assigned a global role or team-specific roles. Global roles: admin, maintainer, observer, observer_plus, gitops Team roles: admin, maintainer, observer, observer_plus, gitops Args: email: Email address of the user to invite (required) name: Full name of the user position: Job position/title of the user global_role: Global role (admin, maintainer, observer, observer_plus, gitops) teams: List of team assignments with roles, e.g. [{"id": 1, "role": "observer"}] sso_enab…
fleet_create_labelCreate a new label in Fleet. Labels can be either dynamic (query-based) or manual (host list-based). - For dynamic labels: provide a query - For manual labels: leave query empty and use fleet_update_label to add hosts Args: name: Name of the label (required) description: Description of the label query: SQL query for dynamic labels (leave empty for manual labels) platform: Target platform (darwin, windows, linux, chrome, or empty for all) Returns: Dict containing the created label information.
fleet_create_packCreate a new query pack in Fleet. Args: name: Name of the pack description: Description of the pack team_id: Optional team ID to assign the pack to Returns: Dict containing the created pack information.
fleet_create_policyCreate a new compliance policy in Fleet. Args: name: Name for the policy query: SQL query that defines the policy check description: Optional description of the policy resolution: Optional resolution steps for policy failures team_id: Team ID to associate the policy with (if None, creates a global policy) critical: Whether this is a critical policy Returns: Dict containing the created policy information.
fleet_create_queryCreate a new saved query in Fleet. Args: name: Name for the query query: SQL query string (osquery syntax) description: Optional description of the query team_id: Team ID to associate the query with observer_can_run: Whether observers can run this query Returns: Dict containing the created query information.
fleet_create_scriptCreate and upload a new script. Args: script_name: Name of the script (e.g., 'my_script.sh' or 'deploy.ps1'). The file extension determines the script type: - .sh files MUST have a shebang line (e.g., #!/bin/bash) - .ps1 files can be uploaded as-is script_contents: The contents of the script team_id: Team ID to associate the script with (Premium feature) Returns: Dict containing the created script ID and status. Raises: ValueError: If .sh script is missing a shebang line
fleet_create_secretCreate a new secret variable in Fleet. Secret variables are encrypted values that can be used in scripts and profiles. The value is encrypted server-side using Fleet's private key. Fleet requires secret variable names to be UPPERCASE with only letters (A-Z), numbers (0-9), and underscores (_). This tool automatically converts the name to uppercase for convenience. You can provide names in any case: - "api_key" → "API_KEY" - "Test2" → "TEST2" - "my_secret" → "MY_SECRET" Note: Names must still only contain letters, numbers, and underscores (no spaces or special characters), and be under 255 …
Show 123 more tools
fleet_create_setup_assistantCreate or update an MDM Apple Setup Assistant. Creates or updates the Setup Assistant profile for automatic enrollment (DEP/ADE). The Setup Assistant customizes the out-of-box experience for devices enrolled via Apple Business Manager. Args: name: Name for the Setup Assistant configuration enrollment_profile: JSON string containing the Setup Assistant profile team_id: Optional team ID (None for no team/global) Returns: Dict containing the created/updated Setup Assistant configuration. Example: >>> import json >>> profile = { ... "skip_setup_items": { ...…
fleet_create_teamCreate a new team in Fleet. Args: name: Name for the team description: Optional description of the team Returns: Dict containing the created team information.
fleet_create_userCreate a new user in Fleet. Creates a new user with specified role and team assignments. Global roles: admin, maintainer, observer, observer_plus, gitops Team roles: admin, maintainer, observer, observer_plus, gitops Args: name: Full name of the user email: Email address (used for login) password: Password for the user (required if not SSO) global_role: Optional global role assignment teams: Optional list of team assignments with roles sso_enabled: Whether SSO is enabled for this user api_only: Whether this is an API-only user (no UI access) Returns: Dict co…
fleet_delete_bootstrap_packageDelete a bootstrap package for a team. Removes the bootstrap package configured for a team. This will prevent the package from being installed on newly enrolled devices. Args: team_id: Team ID to delete the bootstrap package from (0 for no team) Returns: Dict indicating success or failure of the deletion.
fleet_delete_custom_variableDelete a custom variable from Fleet. Removes a custom variable that was previously created. This will affect any scripts or configuration profiles that reference this variable. Args: variable_id: ID of the custom variable to delete Returns: Dict indicating success or failure of the deletion. Example: >>> result = await fleet_delete_custom_variable(variable_id=123) >>> print(result["message"]) Warning: Deleting a variable that is currently used in scripts or profiles may cause those scripts/profiles to fail when executed.
fleet_delete_hostDelete a host from Fleet. Note: A deleted host will fail authentication and may attempt to re-enroll if it still has a valid enroll secret. Args: host_id: The ID of the host to delete Returns: Dict indicating success or failure of the deletion.
fleet_delete_inviteDelete a pending invite from Fleet. Cancels a pending invite. The invite token will no longer be valid. Args: invite_id: ID of the invite to delete Returns: Dict containing the deletion result.
fleet_delete_labelDelete a label from Fleet by name. Args: label_name: Name of the label to delete Returns: Dict indicating success or failure of the deletion.
fleet_delete_mdm_profileDelete an MDM configuration profile. Removes a custom MDM configuration profile from Fleet. This will also remove the profile from all devices where it's installed. Note: Fleet-managed profiles (FileVault, etc.) cannot be deleted using this endpoint. Args: profile_uuid: UUID of the profile to delete Returns: Dict containing the result of the deletion.
fleet_delete_packDelete a pack from Fleet by name. Args: pack_name: Name of the pack to delete Returns: Dict containing the deletion result.
fleet_delete_policyDelete a policy from Fleet. Args: policy_id: ID of the policy to delete Returns: Dict indicating success or failure of the deletion.
fleet_delete_queryDelete a saved query from Fleet. Args: query_id: ID of the query to delete Returns: Dict indicating success or failure of the deletion.
fleet_delete_scriptDelete a script. Args: script_id: ID of the script to delete Returns: Dict indicating success or failure.
fleet_delete_secretDelete a secret variable from Fleet by ID. Args: secret_id: ID of the secret variable to delete Returns: Dict containing the deletion result.
fleet_delete_sessionDelete/invalidate a specific session. Logs out a user by invalidating their session. Args: session_id: ID of the session to delete Returns: Dict containing the result of the deletion.
fleet_delete_setup_assistantDelete the MDM Apple Setup Assistant. Removes the Setup Assistant profile for automatic enrollment. This will revert to the default Apple setup experience for newly enrolled devices. Args: team_id: Optional team ID (None for no team/global) Returns: Dict indicating success or failure of the deletion.
fleet_delete_user_sessionsDelete all sessions for a specific user. Logs out a user from all devices by invalidating all their sessions. Args: user_id: ID of the user Returns: Dict containing the result of the deletion.
fleet_delete_vpp_tokenDelete a VPP token. Removes a Volume Purchase Program token from Fleet. This will also remove all associated App Store apps. Args: token_id: ID of the VPP token to delete Returns: Dict containing the result of the deletion.
fleet_find_software_on_hostFind specific software on a host by hostname. This is useful for answering questions like "What version of Firefox is XYZ-Machine using?" Args: hostname: The hostname of the host to search software_name: The name of the software to find (case-insensitive) Returns: Dict containing the software information if found.
fleet_get_batch_scriptGet details of a batch script execution. Args: batch_execution_id: The batch execution ID Returns: Dict containing batch script execution details.
fleet_get_bootstrap_metadataGet metadata about a bootstrap package for a team. Returns information about the bootstrap package configured for a team, including name, SHA256 hash, and upload timestamp. Does not return the actual package bytes. Args: team_id: Team ID to get bootstrap package metadata for (0 for no team) Returns: Dict containing bootstrap package metadata. Example: >>> result = await fleet_get_bootstrap_metadata(team_id=0) >>> print(result) { "success": True, "message": "Retrieved bootstrap package metadata for team 0", "data": { "name": "bootstrap…
fleet_get_bootstrap_summaryGet aggregated summary about bootstrap package deployment. Returns statistics about bootstrap package deployment status across hosts, including counts of installed, pending, and failed installations. Args: team_id: Optional team ID to scope the summary (None for all teams) Returns: Dict containing bootstrap package deployment summary.
fleet_get_carveGet detailed information about a specific carve session. Args: carve_id: The ID of the carve session to retrieve Returns: Dict containing detailed carve session information including metadata, status, and block information.
fleet_get_carve_blockGet a specific block of data from a carve session. Carves are split into blocks for efficient transfer. This endpoint retrieves a specific block of the carved file. Args: carve_id: The ID of the carve session block_id: The ID of the block to retrieve (0-based) Returns: Dict containing the block data (base64 encoded).
fleet_get_certificateGet the Fleet server certificate chain. Returns the PEM-encoded certificate chain used for osqueryd TLS termination. Returns: Dict containing the certificate chain.
fleet_get_configGet the current Fleet application configuration. Returns the complete Fleet configuration including server settings, integrations, MDM settings, and more. Sensitive values are obfuscated. Returns: Dict containing the complete Fleet configuration. Example: >>> result = await fleet_get_config() >>> print(result) { "success": True, "message": "Retrieved Fleet configuration", "data": { "org_info": { "org_name": "Acme Corp", "org_logo_url": "https://example.com/logo.png" }, "server_setting…
fleet_get_cveGet detailed information about a specific CVE. Returns comprehensive information about a CVE including affected software, OS versions, and hosts. Args: cve: CVE identifier (e.g., CVE-2021-44228) team_id: Optional team ID to filter results Returns: Dict containing CVE details, affected software, and OS versions. Note: If the CVE is known to Fleet but doesn't affect any hosts, the API returns HTTP 204 (No Content) and this tool will return success=True with empty software/os_versions lists.
fleet_get_device_infoGet device information using a device token. This endpoint is used by Fleet Desktop to retrieve device-specific information using a device authentication token. Args: device_token: The device authentication token Returns: Dict containing device information. Example: >>> result = await fleet_get_device_info(device_token="abc123...") >>> print(result["device"])
fleet_get_enroll_secretsGet the enrollment secrets configuration. Returns the enrollment secrets used for enrolling new hosts to Fleet. These secrets are used by osquery agents to authenticate with Fleet. Returns: Dict containing enrollment secrets for global and team-specific enrollment.
fleet_get_filevault_summaryGet FileVault encryption summary. Returns aggregated statistics about FileVault disk encryption status across macOS hosts. Args: team_id: Optional team ID to scope the summary Returns: Dict containing FileVault encryption summary.
fleet_get_hostGet detailed information about a specific host. Args: host_id: The ID of the host to retrieve Returns: Dict containing detailed host information.
fleet_get_host_by_identifierGet host by hostname, UUID, or hardware serial number. The tool automatically handles partial hostname matching - if you provide a short hostname like 'host-abc123', it will find the full hostname 'host-abc123.example.com' automatically. Args: identifier: Host identifier (hostname, UUID, or hardware serial) Returns: Dict containing host information if found.
fleet_get_host_device_mappingGet device mapping information for a specific host. Device mapping associates a host with a user email address. Args: host_id: ID of the host Returns: Dict containing device mapping information. Example: >>> result = await fleet_get_host_device_mapping(host_id=123) >>> print(result["device_mapping"])
fleet_get_host_encryption_keyGet disk encryption recovery key for a specific host. This endpoint retrieves the FileVault or BitLocker recovery key for a host. Requires MDM enrollment and disk encryption to be enabled. Args: host_id: ID of the host Returns: Dict containing the encryption recovery key. Example: >>> result = await fleet_get_host_encryption_key(host_id=123) >>> print(result["encryption_key"]["key"])
fleet_get_host_macadminsGet macadmins data (Munki, MDM profiles) for a specific host. This endpoint returns macadmins-related data including Munki info and MDM profiles. Args: host_id: ID of the host Returns: Dict containing macadmins data for the host. Example: >>> result = await fleet_get_host_macadmins(host_id=123) >>> print(result["macadmins"]["munki_info"]["version"])
fleet_get_host_mdmGet MDM information for a specific host. Args: host_id: ID of the host to get MDM information for Returns: Dict containing MDM information for the host.
fleet_get_host_mdm_profilesGet MDM profiles installed on a specific host. Returns the list of MDM configuration profiles that are installed or pending installation on a specific host. Args: host_id: ID of the host Returns: Dict containing the host's MDM profiles and their status.
fleet_get_host_softwareGet software installed on a specific host. Args: host_id: ID of the host to get software for query: Search query to filter software by name (case-insensitive) vulnerable: Filter to only vulnerable software (true) or non-vulnerable (false) Returns: Dict containing software installed on the host.
fleet_get_labelGet detailed information about a specific label. Args: label_id: The ID of the label to retrieve Returns: Dict containing detailed label information.
fleet_get_mdm_command_resultsGet results of MDM commands. Retrieves the results of MDM commands. If command_uuid is provided, returns results for that specific command. Otherwise returns all results. Args: command_uuid: Optional UUID of a specific command to get results for Returns: Dict containing MDM command results.
fleet_get_mdm_profiles_summaryGet summary of MDM profile deployment status. Returns aggregated statistics about MDM profile deployment across the fleet, including counts of verified, pending, and failed profiles. Args: team_id: Optional team ID to scope the summary Returns: Dict containing MDM profiles deployment summary.
fleet_get_osquery_table_schemaGet detailed schema information for a specific osquery table. This tool retrieves comprehensive schema information including: - Column names, types, and descriptions - Platform availability - Usage examples - Special requirements and notes from Fleet's schema overrides Args: table_name: Name of the osquery table to get schema for host_id: Optional host ID to get live schema from (recommended) Returns: Dict containing detailed table schema, columns, types, usage examples, and any special requirements or notes from Fleet's schema overrides.
fleet_get_packGet detailed information about a specific pack. Args: pack_id: The ID of the pack to retrieve Returns: Dict containing detailed pack information including queries.
fleet_get_policy_resultsGet compliance results for a specific policy. Args: policy_id: ID of the policy to get results for team_id: Filter results by team ID Returns: Dict containing policy compliance results.
fleet_get_queryGet details of a specific saved query. Args: query_id: ID of the query to retrieve Returns: Dict containing query details.
fleet_get_query_reportGet the latest stored results from a SCHEDULED query. IMPORTANT: This tool ONLY works for scheduled queries (queries with an 'interval' set that run periodically). It retrieves the stored results from the last time the scheduled query ran. This tool does NOT work for: - Ad-hoc queries that haven't been saved and scheduled - Queries that don't have 'interval' configured For running ad-hoc queries and getting results, use: - fleet_query_host(host_id, query) - Run query on ONE host and get results - fleet_query_host_by_identifier(identifier, query) - Run query by hostname/UUID - fleet_run_live…
fleet_get_query_resultsRetrieve results from a previously started asynchronous query. This tool retrieves the current status and results of an async query that was started with fleet_run_live_query_with_results in async mode. Args: campaign_id: The campaign ID returned by fleet_run_live_query_with_results Returns: Dict containing: - success: Whether the request was successful - status: Current status (pending/running/completed/failed/cancelled) - campaign_id: The campaign ID - query: The SQL query that was executed - total_hosts: Total number of hosts targeted - results_count: Numb…
fleet_get_scriptGet details of a specific script including its contents. Args: script_id: ID of the script to retrieve Returns: Dict containing script details including script_contents field.
fleet_get_script_resultGet the result of a script execution. Args: execution_id: The execution ID of the script run Returns: Dict containing script execution result.
fleet_get_sessionGet session details by ID. Returns information about a specific session. Args: session_id: ID of the session Returns: Dict containing session details.
fleet_get_setup_assistantGet the MDM Apple Setup Assistant configuration. Returns the Setup Assistant profile configured for automatic enrollment (DEP/ADE). The Setup Assistant customizes the out-of-box experience for devices enrolled via Apple Business Manager. Args: team_id: Optional team ID (None for no team/global) Returns: Dict containing Setup Assistant configuration.
fleet_get_softwareGet detailed information about a specific software item. Args: software_id: ID of the software item to retrieve Returns: Dict containing detailed software information including vulnerabilities.
fleet_get_software_install_resultGet the result of a software installation request. Args: install_uuid: UUID of the software installation request Returns: Dict containing the installation result including status and output.
fleet_get_software_titleGet detailed information about a specific software title. Args: title_id: ID of the software title team_id: Optional team ID to scope the query Returns: Dict containing detailed software title information including versions, hosts, and installation options.
fleet_get_teamGet details of a specific team. Args: team_id: ID of the team to retrieve Returns: Dict containing team details.
fleet_get_team_secretsList team-specific enroll secrets. Args: team_id: ID of the team Returns: Dict containing team enroll secrets. Example: >>> result = await fleet_get_team_secrets(team_id=1) >>> print(result["secrets"])
fleet_get_userGet user details by ID. Returns detailed information about a specific user including their roles, teams, and optionally UI settings. Args: user_id: ID of the user to retrieve include_ui_settings: Whether to include UI settings in response Returns: Dict containing user details.
fleet_get_versionGet the Fleet server version information. Returns version information about the Fleet server including version number, branch, revision, and build date. Returns: Dict containing Fleet server version information.
fleet_get_vulnerabilitiesList known vulnerabilities across the fleet. This function retrieves vulnerabilities from the Fleet API and applies optional client-side filters to the results. Server-side filters (known_exploit, cve_search, order_key) are applied first, then client-side filters are applied to the returned data. Args: page: Page number for pagination (0-based) per_page: Number of vulnerabilities per page order_key: Field to order by (cve, created_at, hosts_count) order_direction: Sort direction (asc, desc) team_id: Filter vulnerabilities by team ID known_exploit: Filter to vulnerabil…
fleet_health_checkCheck Fleet server connectivity and authentication. Returns: Dict containing health check results and server information.
fleet_install_softwareInstall software on a specific host. This triggers a software installation (VPP app or software package) on the specified host. The installation is asynchronous - use fleet_get_software_install_result to check the status. Args: host_id: ID of the host to install software on software_title_id: ID of the software title to install Returns: Dict containing the installation request details including install_uuid.
fleet_list_activitiesList activities in Fleet. Returns a list of all activities (audit log) with pagination support. Activities include user actions, system events, and configuration changes. Args: page: Page number for pagination (0-based) per_page: Number of activities per page order_key: Column to sort by (created_at, type, actor_email) order_direction: Sort direction (asc or desc) Returns: Dict containing list of activities and pagination metadata.
fleet_list_app_store_appsList App Store apps available for installation. Returns a list of VPP (Volume Purchase Program) apps that are available for installation on Apple devices. Args: team_id: Optional team ID to filter apps Returns: Dict containing list of App Store apps. Example: >>> result = await fleet_list_app_store_apps(team_id=1) >>> print(result) { "success": True, "message": "Retrieved 5 App Store apps", "data": { "app_store_apps": [ { "id": 1, "name": "Slack", "bundle_iden…
fleet_list_async_queriesList all asynchronous query jobs. This tool lists all async queries with their current status, allowing you to track running queries and retrieve completed results. Args: status: Optional status filter (pending/running/completed/failed/cancelled) limit: Maximum number of queries to return (default: 50) Returns: Dict containing: - success: Whether the request was successful - queries: List of query job summaries - count: Number of queries returned - total_count: Total number of queries (before limit) Examples: # List all queries fleet_list_async_queries()…
fleet_list_batch_script_hostsList hosts targeted in a batch script execution. Args: batch_execution_id: The batch execution ID status: Filter by host status (ran, pending, errored, incompatible, canceled) page: Page number for pagination (0-based) per_page: Number of results per page Returns: Dict containing list of hosts and their script execution status.
fleet_list_batch_scriptsList batch script executions. Args: team_id: Filter by team ID (Premium feature) status: Filter by status (started, scheduled, finished) page: Page number for pagination (0-based) per_page: Number of results per page Returns: Dict containing list of batch script executions.
fleet_list_carvesList file carving sessions in Fleet. Carves are file extraction sessions initiated by osquery on hosts. This endpoint lists all carve sessions with their metadata. Args: page: Page number for pagination (0-based) per_page: Number of carves per page order_key: Field to order by (created_at, name, host_id) order_direction: Sort direction (asc, desc) Returns: Dict containing list of carve sessions and pagination metadata.
fleet_list_custom_variablesList all custom variables that can be used in scripts and profiles. Custom variables are prefixed with $FLEET_SECRET_ when used in scripts and configuration profiles. The values are hidden when viewed in the Fleet UI or API. Args: page: Page number for pagination (0-based) per_page: Number of variables per page Returns: Dict containing list of custom variables (without values) and pagination metadata. Example: >>> result = await fleet_list_custom_variables() >>> for var in result["custom_variables"]: ... print(f"ID: {var['id']}, Name: {var['name']}")
fleet_list_host_certificatesList certificates for a specific host with pagination. Args: host_id: ID of the host to get certificates for page: Page number for pagination (0-based) per_page: Number of certificates per page Returns: Dict containing list of certificates and pagination metadata.
fleet_list_host_past_activitiesList past activities for a specific host. Args: host_id: ID of the host to get past activities for page: Page number for pagination (0-based) per_page: Number of activities per page Returns: Dict containing list of past activities and pagination metadata.
fleet_list_host_scriptsList scripts available for a specific host. Args: host_id: ID of the host page: Page number for pagination (0-based) per_page: Number of results per page Returns: Dict containing list of scripts available for the host.
fleet_list_host_upcoming_activitiesList upcoming activities for a specific host. Args: host_id: ID of the host to get upcoming activities for page: Page number for pagination (0-based) per_page: Number of activities per page Returns: Dict containing list of upcoming activities and pagination metadata.
fleet_list_hostsList hosts in Fleet with optional filtering and pagination. Args: page: Page number for pagination (0-based) per_page: Number of hosts per page (max 500) query: Search query to filter hosts by hostname, UUID, hardware serial, or IPv4 team_id: Filter hosts by team ID status: Filter by host status (online, offline, mia) order_key: Field to order by (hostname, computer_name, platform, status) order_direction: Sort direction (asc, desc) Returns: Dict containing list of hosts and pagination metadata.
fleet_list_invitesList all pending user invites in Fleet. Invites are sent to users to join Fleet. This endpoint lists all pending invites that haven't been accepted yet. Args: page: Page number for pagination (0-based) per_page: Number of invites per page order_key: Field to order by (created_at, email, name) order_direction: Sort direction (asc, desc) Returns: Dict containing list of pending invites.
fleet_list_labelsList all labels in Fleet with optional filtering and pagination. Args: page: Page number for pagination (0-based) per_page: Number of labels per page order_key: Field to order by (name, created_at, updated_at) order_direction: Sort direction (asc, desc) team_id: Filter labels by team ID Returns: Dict containing list of labels and pagination metadata.
fleet_list_mdm_apple_installersList all Apple MDM installers. Args: team_id: Optional team ID to filter installers Returns: Dict containing list of Apple MDM installers. Example: >>> result = await fleet_list_mdm_apple_installers() >>> print(result["installers"])
fleet_list_mdm_commandsList MDM commands that have been executed. Returns a list of MDM commands (Apple and Windows) that have been sent to devices, including their status and results. Args: page: Page number for pagination (0-based) per_page: Number of commands per page Returns: Dict containing list of MDM commands with their status.
fleet_list_mdm_devicesList all MDM-enrolled Apple devices. Returns a list of all Apple devices that are enrolled in MDM, including their serial numbers and enrollment status. Returns: Dict containing list of MDM-enrolled devices.
fleet_list_mdm_profilesList MDM configuration profiles. Lists all MDM configuration profiles for Apple devices. Can be filtered by team. Args: team_id: Optional team ID to filter profiles Returns: Dict containing list of MDM configuration profiles.
fleet_list_osquery_tablesList all available osquery tables with their schemas and descriptions. This tool dynamically discovers tables from: 1. Live osquery hosts (if host_id provided) - most accurate 2. Fleet's curated schema repository - rich metadata 3. Bundled schemas - offline fallback The tool uses a hybrid approach that combines live table discovery with Fleet's curated metadata to provide both accuracy and rich documentation. Args: host_id: Optional host ID to discover tables from (recommended for accuracy) platform: Filter tables by platform (darwin, linux, windows, chrome) search: Search table…
fleet_list_packsList all query packs in Fleet with optional filtering and pagination. Args: page: Page number for pagination (0-based) per_page: Number of packs per page order_key: Field to order by (name, created_at, updated_at) order_direction: Sort direction (asc, desc) team_id: Filter packs by team ID Returns: Dict containing list of packs and pagination metadata.
fleet_list_policiesList policies with optional filtering by team and name. Search modes (automatic based on query): - Single word: Fast substring search (e.g., "firewall" finds "Firewall Enabled") - Multiple words: Keyword search with ranking (e.g., "Logged System" matches policies containing "Logged" OR "System", ranked by relevance) Tips for efficient use: - Use single-word queries for fastest results - Use team_id to narrow scope and see both team-specific and inherited policies - Use search_all_teams=True to search across all teams when you don't know which team - Multi-word queries automatically filter …
fleet_list_queriesList all saved queries in Fleet. Args: page: Page number for pagination (0-based) per_page: Number of queries per page order_key: Field to order by (name, updated_at, created_at) order_direction: Sort direction (asc, desc) team_id: Filter queries by team ID Returns: Dict containing list of queries and pagination metadata.
fleet_list_scheduled_queriesList scheduled queries in a specific pack. Args: pack_id: The ID of the pack page: Page number for pagination (0-based) per_page: Number of queries per page Returns: Dict containing list of scheduled queries in the pack.
fleet_list_scriptsList all scripts available in Fleet. Args: team_id: Filter scripts by team ID (Premium feature) page: Page number for pagination (0-based) per_page: Number of scripts per page Returns: Dict containing list of scripts and pagination metadata.
fleet_list_secretsList secret variables in Fleet. Secret variables are encrypted values that can be used in scripts and profiles. This endpoint returns only the names, IDs, and timestamps - NOT the actual secret values. Secret variable names must be UPPERCASE with underscores (e.g., "API_KEY", "DB_PASSWORD"). Args: page: Page number for pagination (0-based) per_page: Number of secrets per page Returns: Dict containing list of secret variable identifiers (id, name, updated_at).
fleet_list_softwareList software inventory across the fleet. Args: page: Page number for pagination (0-based) per_page: Number of software items per page order_key: Field to order by (name, hosts_count, vulnerabilities_count) order_direction: Sort direction (asc, desc) query: Search query to filter software by name team_id: Filter software by team ID vulnerable: Filter to only vulnerable software (true) or non-vulnerable (false) Returns: Dict containing list of software and pagination metadata.
fleet_list_software_titlesList software titles in Fleet. Software titles represent unique software products that may have multiple versions installed across hosts. This is different from fleet_list_software which lists individual software versions. Args: page: Page number for pagination (0-based) per_page: Number of titles per page order_key: Field to order by (name, hosts_count) order_direction: Sort direction (asc, desc) query: Search query to filter titles by name team_id: Filter titles by team ID available_for_install: Filter to titles available for installation Returns: Dict cont…
fleet_list_team_usersList all users that are members of a specific team. Args: team_id: ID of the team Returns: Dict containing list of users in the team. Example: >>> result = await fleet_list_team_users(team_id=1) >>> print(result["users"])
fleet_list_teamsList all teams in Fleet with pagination and sorting. Args: page: Page number for pagination (0-based) per_page: Number of teams per page order_key: Field to order by (name, created_at) order_direction: Sort direction (asc, desc) query: Search query to filter teams by name Returns: Dict containing list of teams and pagination metadata.
fleet_list_user_sessionsList active sessions for a user. Returns all active sessions for a specific user. Args: user_id: ID of the user Returns: Dict containing list of user sessions.
fleet_list_usersList users in Fleet. Returns a list of all users with pagination and filtering support. Args: page: Page number for pagination (0-based) per_page: Number of users per page order_key: Column to sort by (name, email, created_at, etc.) order_direction: Sort direction (asc or desc) query: Search query to filter users team_id: Optional team ID to filter users by team Returns: Dict containing list of users.
fleet_list_vpp_tokensList VPP tokens configured in Fleet. Returns a list of Volume Purchase Program tokens that are configured for App Store app distribution. Returns: Dict containing list of VPP tokens.
fleet_lock_deviceLock an MDM-enrolled device remotely. Sends a DeviceLock command to an MDM-enrolled Apple device, which will lock the device and require a PIN to unlock. Args: host_id: ID of the host to lock Returns: Dict containing the result of the lock command.
fleet_lock_hostLock a host device remotely. This sends a lock command to the host device. The device will be locked and require authentication to unlock. Args: host_id: ID of the host to lock Returns: Dict containing lock status and any unlock PIN if applicable.
fleet_modify_scriptModify an existing script. Args: script_id: ID of the script to modify script_contents: New contents of the script script_name: Optional name of the script to validate file type. If provided, the file extension determines validation: - .sh files MUST have a shebang line (e.g., #!/bin/bash) - .ps1 files can be uploaded as-is Returns: Dict containing updated script information. Raises: ValueError: If .sh script is missing a shebang line
fleet_query_hostRun an ad-hoc live query against a specific host and get results. This runs a query immediately against a single host and waits for results. The query will timeout if the host doesn't respond within the configured FLEET_LIVE_QUERY_REST_PERIOD (default 25 seconds). Args: host_id: ID of the host to query query: SQL query string to execute Returns: Dict containing query results from the host.
fleet_query_host_by_identifierRun an ad-hoc live query against a host identified by UUID/hostname/serial. This runs a query immediately against a single host and waits for results. The query will timeout if the host doesn't respond within the configured FLEET_LIVE_QUERY_REST_PERIOD (default 25 seconds). The tool automatically handles partial hostname matching - if you provide a short hostname like 'host-abc123', it will find the full hostname 'host-abc123.example.com' automatically. Args: identifier: Host UUID, hostname (full or partial), or hardware serial number query: SQL query string to execute Returns: …
fleet_refetch_hostForce a host to refetch and update its data immediately. This triggers the host to immediately report its current state to Fleet, updating information like installed software, OS version, and other details. Args: host_id: ID of the host to refetch Returns: Dict indicating success or failure of the refetch request. Example: >>> result = await fleet_refetch_host(host_id=123) >>> print(result["message"])
fleet_remove_labels_from_hostRemove labels from a host. This removes manual labels from a host. Only works with manual labels (not dynamic/query-based labels). Args: host_id: ID of the host to remove labels from label_names: List of label names to remove from the host Returns: Dict containing the operation result.
fleet_remove_team_userRemove a specific user from a team. Args: team_id: ID of the team user_id: ID of the user to remove Returns: Dict indicating success or failure of the operation. Example: >>> result = await fleet_remove_team_user(team_id=1, user_id=10) >>> print(result["message"])
fleet_run_batch_scriptRun a script on multiple hosts in a batch. Either host_ids or filters must be provided, but not both. Args: script_id: ID of the saved script to run host_ids: List of host IDs to target filters: Filter object with query, status, label_id, team_id not_before: UTC time when batch should start (ISO 8601 format) Returns: Dict containing batch execution ID.
fleet_run_live_query_with_resultsExecute a live query and wait for results via WebSocket. This tool runs a live query campaign and collects results in real-time via WebSocket. It creates a campaign, connects to Fleet's WebSocket API, and streams results back as they arrive. Progress notifications are sent as results arrive. ⚠️ IMPORTANT NOTES: 1. This tool BLOCKS until timeout or all results are collected 2. You will see progress updates as hosts respond 3. Not all hosts may respond within the timeout period 4. Results are collected in real-time as they stream in 🔄 ASYNC MODE (when FLEET_USE_ASYNC_QUERY_MODE=true): - Que…
fleet_run_saved_queryRun a saved query against specified hosts. Args: query_id: ID of the saved query to run host_ids: List of specific host IDs to target label_ids: List of label IDs to target hosts team_ids: List of team IDs to target hosts Returns: Dict containing query execution results and campaign information.
fleet_run_scriptRun a script on a specific host. Only one of script_id, script_contents, or script_name should be provided. Args: host_id: ID of the host to run the script on script_id: ID of an existing saved script script_contents: Contents of the script to run (max 10,000 characters) script_name: Name of an existing saved script (requires team_id) team_id: Team ID (required if using script_name) Returns: Dict containing execution ID and host ID. Example: >>> # Run a saved script by ID >>> result = await fleet_run_script(host_id=123, script_id=5) >>> print(result) …
fleet_search_hostsSearch for hosts by hostname, UUID, hardware serial, or IP address. Args: query: Search term (hostname, UUID, serial number, or IP) page: Page number for pagination (0-based) per_page: Number of results per page (max 500) order_key: Field to order by (hostname, computer_name, platform, status) order_direction: Sort direction (asc, desc) Returns: Dict containing matching hosts and pagination metadata.
fleet_search_softwareSearch for software by name across the fleet. Args: query: Search term for software name limit: Maximum number of results to return team_id: Filter search by team ID vulnerable: Filter to only vulnerable software (true) or non-vulnerable (false) Returns: Dict containing matching software titles.
fleet_suggest_tables_for_querySuggest relevant osquery tables based on query intent or keywords. This tool helps you find the right osquery tables for your query by: 1. Analyzing your intent (e.g., "find installed software", "check network connections") 2. Matching keywords against table names, descriptions, and columns 3. Providing relevance scores to rank suggestions 4. Including usage examples and metadata BEST PRACTICES: - Describe what you want to find, not how to find it - Use natural language (e.g., "running processes" not "SELECT * FROM processes") - Specify host_id for most accurate results (discovers custom tab…
fleet_transfer_hostsTransfer hosts to a different team. Args: team_id: Target team ID (use 0 for "No team") host_ids: List of host IDs to transfer Returns: Dict indicating success or failure of the transfer.
fleet_unenroll_host_mdmUnenroll a host from MDM. This removes the host from MDM management. The host will no longer receive MDM profiles or commands. Args: host_id: ID of the host to unenroll from MDM Returns: Dict indicating success or failure of the unenrollment.
fleet_unlock_hostUnlock a host device remotely. This sends an unlock command to the host device. For some platforms, this may return an unlock PIN that needs to be entered on the device. Args: host_id: ID of the host to unlock Returns: Dict containing unlock status and any unlock PIN if applicable.
fleet_update_app_store_appUpdate an App Store app's settings. Updates the configuration of an existing App Store app, such as self-service availability and label filters. Args: title_id: Software title ID of the app team_id: Optional team ID self_service: Whether users can install the app themselves labels_include_any: Optional list of labels - install if host has any labels_exclude_any: Optional list of labels - don't install if host has any Returns: Dict containing the updated app information.
fleet_update_configUpdate the Fleet application configuration. Updates Fleet's configuration settings. Use dry_run=True to validate changes without applying them. Args: config: Configuration object with settings to update force: Bypass strict JSON validation dry_run: Validate changes without applying them Returns: Dict containing the updated configuration.
fleet_update_enroll_secretsUpdate the enrollment secrets configuration. Updates the enrollment secrets used for enrolling new hosts. Args: secrets: List of enrollment secret strings dry_run: Validate changes without applying them Returns: Dict containing the result of the update.
fleet_update_inviteUpdate an existing invite in Fleet. Allows modifying the role and team assignments of a pending invite before it's accepted. Args: invite_id: ID of the invite to update name: New name for the user position: New position for the user global_role: New global role (admin, maintainer, observer, observer_plus, gitops) teams: New team assignments with roles Returns: Dict containing the updated invite information.
fleet_update_labelUpdate an existing label in Fleet. Args: label_id: ID of the label to update name: New name for the label (optional) description: New description for the label (optional) query: New SQL query for the label (optional) Returns: Dict containing the updated label information.
fleet_update_packUpdate an existing pack in Fleet. Args: pack_id: ID of the pack to update name: New name for the pack (optional) description: New description for the pack (optional) Returns: Dict containing the updated pack information.
fleet_update_policyUpdate an existing policy in Fleet. Args: policy_id: ID of the policy to update name: New name for the policy query: New SQL query for the policy description: New description for the policy resolution: New resolution steps for the policy critical: Whether this is a critical policy Returns: Dict containing the updated policy information.
fleet_update_userUpdate user information and roles. Updates an existing user's information, role assignments, or settings. Args: user_id: ID of the user to update name: New name for the user email: New email address password: New password global_role: New global role assignment teams: New team assignments with roles sso_enabled: Whether SSO is enabled api_only: Whether this is an API-only user Returns: Dict containing the updated user information.
fleet_upload_bootstrap_packageUpload a bootstrap package for MDM enrollment. Uploads a bootstrap package (.pkg file) that will be installed on devices during MDM enrollment. The package is deployed to devices enrolled via Apple Business Manager (DEP/ADE). Note: The package_content should be base64-encoded package data. Fleet expects multipart/form-data upload, but for MCP we accept base64-encoded content. Args: package_content: Base64-encoded bootstrap package (.pkg) content team_id: Team ID to assign the package to (0 for no team) Returns: Dict indicating success or failure of the upload. Example: >>>…
fleet_upload_mdm_apple_installerUpload a new Apple MDM installer package. Args: installer_filename: Name of the installer file (e.g., "installer.pkg") installer_content: Content of the installer file (base64 or raw) team_id: Optional team ID to associate with the installer Returns: Dict containing the uploaded installer details. Example: >>> result = await fleet_upload_mdm_apple_installer( ... installer_filename="installer.pkg", ... installer_content="<file content>", ... team_id=1 ... ) >>> print(result["installer"])
fleet_upload_mdm_profileUpload a new MDM configuration profile. Uploads a custom MDM configuration profile (.mobileconfig for Apple, .xml for Windows) to Fleet. The profile will be deployed to devices based on team assignment and optional label filters. Args: profile_content: The profile content (XML/plist format) team_id: Optional team ID to assign the profile to labels: Optional list of label names to filter deployment Returns: Dict containing the created profile information.
fleet_verify_inviteVerify an invite token and get invite details. This endpoint verifies that an invite token is valid and returns the invite details. Used when a user clicks an invite link. Args: token: The invite token from the invite email Returns: Dict containing the invite details if valid.
Signals
- Stars
- 5
- Forks
- 4
- Open issues
- 1
- Weekly downloads
- 241
- Last commit
- Mar 3, 2026 (8 months ago)
- Last release
- Feb 7, 2026 (8 months ago)
- Last package publish
- Feb 7, 2026 (8 months ago)
From GitHub (fetched Oct 24, 2026) and the package registry.
Details
- Registry name
io.github.SimplyMinimal/fleet-mcp- Version
- 1.1.3
- Auth
- API key
- Packages
- pypi fleet-mcp
- License
- MIT
- Repository
- github.com/SimplyMinimal/fleet-mcp
- First seen
- Oct 24, 2026
- Last checked
- Oct 24, 2026
Done for you
Rather not set it up yourself?
Chalk Labs scopes, builds and runs agents for your team: the task audit, the eval harness, the integrations and the weekly ops report. Fixed scope, priced before we start.
See how we build AI agents →Read the case studies
Chalk Labs is a two-founder AI and growth studio. We build AI agents, CRMs and MVPs for Web3 and AI companies, and have shipped 50+ product and token launches.
- launches shipped
- 50+
- launches shipped
- media placements
- 500+
- media placements
- founders on every account
- 2
- founders on every account
Press we've placed: Forbes · CoinDesk · Decrypt · Cointelegraph · The Block
Rahil Jain, Co-founder, Chalk Labs. Ex-Goldman Sachs engineer. You talk to the person who builds it.
Get Fleet MCP running in your business
Tell us what you want to automate. A founder replies within one working day with a plan, not a pitch deck.
Cite this page
Fleet MCP. Agent Mart. https://agentmart.dev/connectors/simplyminimal-fleet-mcp (last updated 2026-10-24)