threatlocker-mcp-server
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| PORT | No | HTTP server port | 8080 |
| LOG_LEVEL | No | Logging: ERROR, INFO, DEBUG | INFO |
| TRANSPORT | No | Transport mode: stdio or http | stdio |
| ALLOWED_ORIGINS | No | CORS origins (comma-separated) | |
| THREATLOCKER_ORG_ID | No | Managed organization ID | |
| THREATLOCKER_API_KEY | Yes | API key (stdio mode) | |
| THREATLOCKER_BASE_URL | Yes | Portal API URL | |
| THREATLOCKER_READ_ONLY | No | Set to 'true', '1', or 'yes' to block all write operations server-wide |
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 |
|---|---|
| tools | {
"listChanged": true
} |
| prompts | {
"listChanged": true
} |
| resources | {
"listChanged": true
} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| computersA | Query and inspect ThreatLocker computers. Common workflows:
Pitfalls:
Permissions: View Computers, Edit Computers (for modifications), Install Computers (for install info). Pagination: list and checkins actions are paginated (use fetchAllPages=true to auto-fetch all pages). Key response fields: computerId, computerName, computerGroupName, lastCheckin, action (Secure/Installation/Learning/MonitorOnly), threatLockerVersion. Related tools: computer_groups (manage groups), maintenance_mode (maintenance history), action_log (audit events) |
| computer_groupsA | List and inspect ThreatLocker computer groups. Computer groups organize computers and define policy scope. Policies are applied to groups, not individual computers. The "global" group (includeGlobal=true) permits applications across all groups. Common workflows:
Permissions: Super Admin (for list), Edit Computers, Edit Computer Groups, View Computers. Key response fields: computerGroupId, name, osType, computerCount, organizationId. Related tools: computers (list computers in groups), policies (policies applied to groups) |
| applicationsA | Search, inspect, create, update, and delete ThreatLocker applications. Applications are collections of file rules (hashes, paths, certificates) that define what software is allowed or denied. ThreatLocker comes with built-in applications for common software, and you can create custom ones. Common workflows:
Pitfalls:
Permissions: Edit Application Control Applications. Pagination: search and files actions are paginated (use fetchAllPages=true to auto-fetch all pages). Key response fields: applicationId, name, osType, computerCount, policyCount. Research fields: concernRating, reviewRating, categories, countriesWhereCodeCompiled. Related tools: policies (see policies using this app), action_log (see app activity), approval_requests (pending approvals for this app) |
| policiesA | Manage ThreatLocker policies. Use list_all to search policies by computer group / org / filter without an applicationId; use list_by_application when you already have an applicationId. Policies define what applications can run on which computer groups. A policy links an application (set of file rules) to a computer group with an action (permit/deny/ringfence). Common workflows:
IMPORTANT: After create/update/delete/copy, deploy changes with action=deploy to push to computers. IMPORTANT: Update is a full replace — use action=get first to read current values, then provide ALL fields. Policy actions: Permit (allow), Deny (block), Ringfence (allow but restrict network/storage access) Pitfalls:
Permissions: View Application Control Policies, Edit Application Control Policies. Pagination: list_by_application is paginated (use fetchAllPages=true to auto-fetch all pages). Key response fields: policyId, name, policyActionId, applicationId, computerGroupId, isEnabled. Related tools: applications (what the policy permits), computer_groups (where policy applies), action_log (see policy enforcement) |
| action_logA | Query ThreatLocker unified audit logs. The action log records all application control events: permits, denies, network access, file operations, PowerShell execution, elevation requests, and more. This is your primary tool for investigating what happened on endpoints. Common workflows:
Pitfalls:
Permissions: View Unified Audit. Pagination: search action is paginated (use fetchAllPages=true to auto-fetch all pages). Performance: always use date filters — queries without startDate/endDate can be very slow on large organizations. Use groupBys to aggregate instead of fetching all raw rows. Key response fields: actionLogId, fullPath, processPath, hostname, username, actionType, policyName, applicationName. Related tools: computers (find computer IDs), applications (identify apps), approval_requests (handle denied software) |
| approval_requestsA | Query ThreatLocker approval requests. When users encounter blocked software and request access, it creates an approval request. Admins review these requests to decide whether to permit the software by creating policies. Common workflows:
Request statuses: 1=Pending (needs review), 4=Approved, 6=Not Learned (learning mode), 10=Ignored, 12=Added to Application, 13=Escalated (from Cyber Heroes), 16=Self-Approved Pitfalls:
Permissions: View Approvals, Approve for Entire Organization/Group/Single Computer. Pagination: list action is paginated (use fetchAllPages=true to auto-fetch all pages). Key response fields: approvalRequestId, username, fullPath, actionType, statusId, computerName, requestDateTime. Related tools: action_log (see the deny event), applications (find matching apps), policies (create permits) |
| organizationsA | Query ThreatLocker organizations. Organizations are the top-level containers in ThreatLocker. MSPs have a parent organization with child organizations for each client. Enterprises may have organizations per business unit or location. Common workflows:
The organizationId is needed for many API calls (policies, applications, etc.) to scope the request to a specific organization. Pitfalls:
Permissions: View Organizations, Edit Organizations, Super Admin - Child. Pagination: list_children is paginated (use fetchAllPages=true to auto-fetch all pages). Key response fields: organizationId, name, displayName, dateAdded, computerCount. Related tools: computers (computers in org), computer_groups (groups in org), policies (policies in org) |
| reportsA | Query and run ThreatLocker reports. Access pre-built and custom reports configured in the ThreatLocker portal. Reports provide aggregated views of security data across your organization. Common workflows:
Permissions: View Reports. Key response fields: reportId, name, description, reportData (dynamic columns per report type). Related tools: action_log (raw audit events), system_audit (portal audit trail), computers (device inventory) |
| maintenance_modeA | Query ThreatLocker maintenance mode history for computers. Maintenance mode temporarily changes a computer's protection level. Types include:
Common workflows:
Maintenance mode history shows who enabled it, when, duration, and what applications were learned during that time. Pitfalls:
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) |
| scheduled_actionsA | Query ThreatLocker scheduled agent actions. Scheduled actions are pending operations on ThreatLocker agents, primarily version updates. Updates are batched and scheduled within maintenance windows to avoid disruption. Common workflows:
Scheduled action types: Version Update (scheduledType=1). Pitfalls:
Permissions: Edit Computers, Edit Computer Groups, View Computers. Pagination: search action is paginated (use fetchAllPages=true to auto-fetch all pages). Key response fields: scheduledAgentActionId, scheduledType, scheduledDateTime, computerName, computerGroupName, status. Related tools: computers (see current versions), computer_groups (target groups for updates), organizations (filter by org) |
| system_auditA | Query ThreatLocker portal audit logs. System audit tracks administrator actions in the ThreatLocker portal: logins, policy changes, approvals, configuration modifications. This is different from action_log which tracks endpoint events. Common workflows:
Audit actions: Create (new objects), Delete (removals), Logon (portal access), Modify (changes), Read (views). Supports * wildcard in text fields. Permissions: View System Audit, View Health Center. Pagination: search and health_center actions are paginated (use fetchAllPages=true to auto-fetch all pages). Key response fields: systemAuditId, username, action, effectiveAction, details, ipAddress, dateTime. Related tools: action_log (endpoint events, not portal events), organizations (filter by org) |
| tagsA | Query ThreatLocker tags for network and policy management. Tags are reusable labels for IP addresses, domains, ports, or other network identifiers. They simplify policy management by letting you reference "CRM Servers" instead of listing individual IPs. Common workflows:
Tags are used in:
Parent organization tags appear as "parentOrgName\tagName" format. Pitfalls:
Permissions: Edit Network Control Policies, Manage Tags, Edit Application Control Policies. Key response fields: tagId, name, tagType, values (IP/domain/port entries). Related tools: policies (use tags in policy rules), applications (ringfence with tags) |
| storage_policiesA | Query ThreatLocker storage control policies. Storage policies define rules for file and folder access on endpoints — controlling which applications can read, write, or execute from specific storage locations (local drives, USB devices, network shares). Common workflows:
Pitfalls:
Permissions: View Storage Control Policies, Edit Storage Control Policies. Pagination: list action is paginated (use fetchAllPages=true to auto-fetch all pages). Key response fields: storagePolicyId, name, policyType, osType, computerGroupName, isEnabled. Related tools: policies (application control policies), computer_groups (where policy applies), applications (what the policy permits) |
| network_access_policiesA | Query ThreatLocker network access control policies. Network access policies define firewall rules for endpoints — controlling which applications can make or receive network connections, and to which destinations (IPs, ports, domains). Common workflows:
Pitfalls:
Permissions: Edit Network Control Policies, View Network Control Policies. Pagination: list action is paginated (use fetchAllPages=true to auto-fetch all pages). Key response fields: networkAccessPolicyId, name, computerGroupName, isEnabled, applicationName. Related tools: policies (application control policies), computer_groups (where policy applies), tags (network tags used in policies) |
| versionsA | Query available ThreatLocker agent versions. Returns all agent versions available in the portal, including which are enabled for installation, which is the default for new groups, and when each was released. Common workflows:
Permissions: Edit Computers, Edit Computer Groups, View Computers, Install Computers. No pagination — returns all versions in a single response. Key response fields: label (version string), value (version ID), isEnabled, dateTime (release date), isDefault, OSTypes. Related tools: computers (see installed versions per machine), scheduled_actions (schedule version updates), computer_groups (group-level version settings) |
| online_devicesA | Query ThreatLocker online devices. Returns devices currently connected and reporting to the ThreatLocker platform. Useful for real-time visibility into which endpoints are active. Common workflows:
Permissions: View Computers. Pagination: list action is paginated (use fetchAllPages=true to auto-fetch all pages). Key response fields: computerName, computerGroupName, lastCheckin, ipAddress. Related tools: computers (full inventory with details, modes, groups), computer_groups (group membership and structure) |
| saved_searchesA | Manage saved Unified Audit / investigation searches. A saved search has two parts: searchData (the reproducible parameters, as JSON) and saveParameters (a human-readable label). saveSearchPageId selects which page the search belongs to (valid values 1-10; e.g. the Unified Audit page). Common workflows:
Pitfalls:
Permissions: View Unified Audit. Related tools: action_log (build_search_string produces saveParameters) |
| upload_requestsA | Request and retrieve forensic file uploads from endpoints. Common workflows:
Pitfalls:
Permissions: View Unified Audit / forensics. Related tools: action_log (locate the file event), computers (get computerId) |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
| investigate_denial | Step-by-step guide for investigating why an application was blocked by ThreatLocker |
| review_approval_requests | Guide for triaging and reviewing pending ThreatLocker approval requests |
| security_posture_report | Generate a security posture summary for the ThreatLocker-protected organization |
| computer_audit | Deep-dive audit of a specific computer's ThreatLocker security state |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
| enums | ThreatLocker API enumeration values (OS types, action IDs, maintenance types, approval statuses, etc.) |
| server-info | ThreatLocker MCP server metadata (name, version, tool count, transports, protocol version) |
TDQS
Scored across 18 tools
Each tool maps to a distinct ThreatLocker domain—computers, groups, applications, policies, logs, approvals, organizations, reports, maintenance, scheduling, tags, storage/network policies, versions, online devices, saved searches, and upload requests. Potential overlaps like system_audit vs action_log and policies vs storage_policies/network_access_policies are clearly differentiated by both naming and description.
All tools follow the same snake_case resource-noun pattern: computers, computer_groups, applications, policies, action_log, maintenance_mode, storage_policies, etc. While actions are passed via an 'action' parameter rather than verb-prefixed tool names, the convention is uniform and easy to predict.
18 tools is above the ideal 3-15 range, but the count is justified by the breadth of the ThreatLocker platform—each tool covers a distinct functional area. It feels slightly heavy rather than bloated, and there are no redundant tools that could be merged.
Core lifecycle coverage is strong for applications and policies (create/update/delete/deploy), and there are solid querying tools for logs, approvals, and computers. However, several areas are read-only or lack management operations: computer_groups cannot be created/edited/deleted, storage_policies and network_access_policies are read-only, maintenance_mode is history-only, and scheduled_actions cannot be created or cancelled.