threatlocker-mcp
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| LOG_LEVEL | No | Logging verbosity: DEBUG / INFO / WARNING / ERROR | INFO |
| MCP_HTTP_HOST | No | Bind host for the HTTP transport | 127.0.0.1 |
| MCP_HTTP_PORT | No | Bind port for the HTTP transport | 8765 |
| THREATLOCKER_ORG_ID | Yes | Default organization GUID. Find it in the portal URL after switching into the target org. | |
| THREATLOCKER_API_KEY | Yes | API key from ThreatLocker Portal → Modules → API | |
| THREATLOCKER_TIMEOUT | No | Per-request timeout in seconds | 30 |
| THREATLOCKER_BASE_URL | Yes | Portal API base URL. Use the same subdomain letter shown in your portal (e.g., https://portalapi.h.threatlocker.com) |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tasks | {
"list": {},
"cancel": {},
"requests": {
"tools": {
"call": {}
},
"prompts": {
"get": {}
},
"resources": {
"read": {}
}
}
} |
| tools | {
"listChanged": true
} |
| prompts | {
"listChanged": false
} |
| resources | {
"subscribe": false,
"listChanged": false
} |
| experimental | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| action_log_get_by_parameters_v2A | Get Action Logs By Parameters. NOTE: this endpoint runs in two modes depending on the |
| action_log_get_by_id_v2D | Action Log: Get By Id V2 |
| action_log_get_all_for_file_history_v2A | Get All File History by hostname and fullpath NOTE: spec marks every parameter optional, but the API returns 417 'Missing Parameters. Unable to load details.' unless |
| action_log_get_file_download_details_by_idD | Action Log: Get File Download Details By Id |
| application_get_by_idC | Get Application by Id. |
| application_get_matching_listD | Get Matching Applications |
| application_get_for_application_optionsA | Load Application List custom + built-in applications available to permit a file into. Use this when the |
| application_get_for_maintenance_modeA | Get Application Options for Maintenance Scheduling List applications eligible for use with a Maintenance Mode when processing an approval request. Filter by |
| application_get_research_details_by_idA | Get Application Research Details by Id. Optional. Get ThreatLocker's research data (description, risks, mitigations) for an application before permitting it. Useful for decision support when the chosen |
| approval_request_get_by_parametersA | Approval Request: Get By Parameters NOTE: |
| approval_request_get_by_idA | Get Approval Request By ID NOTE: |
| approval_request_get_countC | Get Approval Request Pending Count |
| approval_request_get_permit_application_by_idC | Get Permit Application Details By Approval Request Id |
| approval_request_permit_applicationA | Approve Permit Application Request WORKFLOW: take_ownership -> get_permit_application_by_id -> application_get_matching_list -> permit_application. Start from the DTO returned by get_permit_application_by_id and modify the choices below. REQUIRED FIELDS (KB-documented, all must be present): |
| approval_request_update_for_rejectC | Reject Approval Request |
| approval_request_update_for_ignoreC | Ignore Approval Request |
| approval_request_update_for_take_ownershipC | Take Ownership of Approval Request |
| approval_request_get_storage_approval_by_idC | Get Storage Approval Request By Id |
| approval_request_permit_storage_approvalA | Approve Storage Request NOT YET LIVE-TESTED -- expect shape sensitivity similar to |
| approval_request_get_file_download_details_by_idC | Get File Download Details By Approval Request Id |
| computer_get_by_all_parametersC | Load Computers By All Parameters |
| computer_get_for_edit_by_idC | Get Computer Information By Id. |
| computer_update_for_editC | Update Computer |
| computer_enable_protectionD | Computer Enable Protection |
| computer_disable_protectionC | Disable Computer Protection |
| computer_update_maintenance_modeC | Updates a device's maintenance mode settings. |
| computer_move_to_other_organizationD | Move Computer |
| computer_update_baseline_rescanD | Update Baseline Rescan Computer |
| computer_update_to_finish_maintenance_modeA | End Maintenance Mode Ends ACTIVE maintenance mode on a specific computer immediately. Distinct from |
| computer_group_get_group_and_computerA | Get Groups and Computer NOTE: this endpoint can return very large payloads (>100KB for a single populated group) when called without scoping. Pass a specific |
| computer_group_get_dropdown_by_organization_idC | Get Computer Groups by OrganizationId |
| maintenance_mode_get_by_computer_idC | Get Maintenance Schedule By Computer Id |
| maintenance_mode_insertC | Add to Maintenance Schedule |
| maintenance_mode_end_by_idC | End Maintenance Schedule |
| maintenance_mode_update_end_date_time_for_specific_dateA | Updated Maintenance Mode End Date Time. Reschedules the end time of an existing maintenance window for a specific computer without terminating it. Pass the new |
| online_devices_get_by_parametersC | View Online Devices |
| list_organizationsA | Get Organizations For Move Computers Returns the organizations the current API key can target. Use this FIRST to discover org GUIDs to pass as |
| policy_get_by_idC | Get Policy by Id. |
| report_get_by_organization_idB | Get report(s) by organization id. |
| system_audit_get_by_parametersC | Retrieves System Audit records based on specified parameters. |
| system_audit_get_for_health_centerB | Retrieves System Audit data for the Health Center, specifically focused on login attempts. |
| tag_get_by_idC | Get Tag by Id. |
| tag_get_dropdown_options_by_organization_idC | Get Tag Dropdown Options. |
| tag_updateA | Update Tag. Updates an existing tag. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 44 tools
Most tools target distinct resources and actions, though a few overlap (e.g., two maintenance-ending tools). Descriptions generally clarify differences.
Tool names follow a consistent verb_noun snake_case pattern with occasional version suffixes. Minor deviations in length but pattern is predictable.
44 tools is on the high side, likely justified by the breadth of ThreatLocker's features, but still borders on overwhelming without clear organization.
Covers many domains (logs, approvals, computers, maintenance) but lacks CRUD operations for policies, organizations, or deletions, leaving notable gaps.