Skip to main content
Glama
BigfootBytes

threatlocker-mcp-server

by BigfootBytes

ThreatLocker Maintenance Mode

maintenance_mode
Destructive

Retrieve maintenance history to audit who changed protection levels, and enable, end, or update ThreatLocker maintenance windows on computers.

Instructions

Query ThreatLocker maintenance mode history for computers.

Maintenance mode temporarily changes a computer's protection level. Types include:

  • Monitor Only (1): Logs but doesn't block (audit mode)

  • Installation Mode (2): Allows new software installs, auto-learns new applications

  • Learning Mode (3): Monitors and records software usage without blocking

  • Tamper Protection Disabled (6): Allows ThreatLocker service changes

Common workflows:

  • View maintenance history for a computer: action=get_history, computerId="..."

  • Audit who put computers in installation mode: check history across computers

Maintenance mode history shows who enabled it, when, duration, and what applications were learned during that time.

Pitfalls:

  • Learning Mode (3) requires a "Default - (Group Name)" Default Deny policy to exist in the group, or it silently does nothing.

  • Isolation (14) and Lockdown (15) require ThreatLocker Detect and Agent >= 8.2.

  • usersList entries are "DOMAIN\USERNAME" and only apply when allUsers=false; default window is 1 hour if no end time is given.

Permissions: Edit Computers, Manage Application Control Installation Mode, Manage Application Control Learning Mode. Pagination: get_history is paginated (use fetchAllPages=true to auto-fetch all pages). Key response fields: maintenanceModeId, maintenanceTypeId, displayName, startDateTime, endDateTime, addedBy, endedBy.

Related tools: computers (get computer IDs, see current mode), computer_groups (group-level modes)

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
notesNoOptional notes recorded with the maintenance window.
actionYesget_history=paginated history for a computer, enable=put a computer into a maintenance mode (MaintenanceModeInsert), end=end an active maintenance window early (MaintenanceModeEndById), update_end_time=extend/shorten an active window (maintenanceTypeId must match the active mode)
allUsersNoApply to all users (default: true). When false, supply usersList.
pageSizeNoResults per page (default: 25, max: 500)
permitEndNoRe-secure automatically at window end (default: true).
usersListNo"DOMAIN\\USERNAME" entries; only used when allUsers=false.
computerIdYesComputer GUID (required). Find via computers list first.
pageNumberNoPage number (default: 1)
endDateTimeNoWindow end (ISO 8601 UTC) for enable. Defaults to +1 hour if omitted.
ticketNumberNoOptional ticket reference recorded with the maintenance window.
fetchAllPagesNoFetch all pages automatically (max 10 pages). Default: false (single page).
startDateTimeNoWindow start (ISO 8601 UTC) for enable. Defaults to now if omitted.
response_formatNoOutput format: markdown (default, human-readable) or json (structured)markdown
maintenanceModeIdNoActive maintenance window GUID (required for end). Get it from get_history.
maintenanceTypeIdNoMaintenance type (required for enable/end): 1=MonitorOnly, 2=Installation, 3=Learning, 4=Elevation, 6=TamperProtectionDisabled, 14=Isolation, 15=Lockdown, 16=DisableOpsAlerts, 17=NetworkControlMonitorOnly, 18=StorageControlMonitorOnly, 19=InstallationLegacy. For end, must match the active mode.
maintenanceEndDateNoNew window end (UTC YYYY-MM-DDTHH:MM:SSZ) for update_end_time.

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
dataNoget_history: array of maintenance mode records
errorNo
successYes
paginationNo
Install Server

TDQS

A4.3/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Even with readOnlyHint=false and destructiveHint=true annotations, the description adds substantial behavioral context: what each maintenance mode type does, silent failure of Learning Mode without a Default Deny policy, version requirements for Isolation/Lockdown, usersList format, default 1-hour window, required permissions, pagination behavior, and key response fields. This goes well beyond the annotations and is consistent with them.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is long but well organized into labeled sections: types, workflows, pitfalls, permissions, pagination, response fields, and related tools. Each section carries useful agent-facing information, and the complexity of a 16-parameter, 4-action tool justifies the length. A few points overlap with schema details, but the structure keeps it scannable.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a complex tool with multiple actions, pitfalls, and permissions, the description is remarkably complete. It explains when to use each workflow, what could silently go wrong, which permissions are required, how pagination works, what the key response fields are, and which sibling tools provide supporting data. Even with an output schema present, the description still adds valuable operational context without omitting critical guidance.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so the baseline is 3, but the description adds meaningful meaning beyond the schema: it explains mode IDs in human terms, warns about mode-specific pitfalls, clarifies usersList as 'DOMAIN\USERNAME' entries, and notes the default window when no end time is given. It does not restate raw parameter definitions but enriches how the parameters should be used.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The opening sentence names a specific verb and resource: 'Query ThreatLocker maintenance mode history for computers.' It clearly differentiates the tool's history-focused purpose and later lists mode types, workflows, and related tools. However, the tool also supports enable/end/update_end_time actions, and the description never explicitly states those mutation capabilities as part of its purpose; they are only implied through pitfalls and the schema.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides concrete common workflows ('View maintenance history for a computer', 'Audit who put computers in installation mode') and points to related tools for complementary tasks: computers for IDs/current mode and computer_groups for group-level modes. It does not explicitly explain when to choose this tool over others or when not to use it, so it stops short of a 5.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Other Tools

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/BigfootBytes/threatlocker-mcp-server'

If you have feedback or need assistance with the MCP directory API, please join our Discord server