Skip to main content
Glama
BigfootBytes

threatlocker-mcp-server

by BigfootBytes

ThreatLocker Applications

applications
Destructive

Manage ThreatLocker software allow/deny rules by searching, creating, updating, and deleting app definitions via hash, path, certificate, or research.

Instructions

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:

  • Find an application by name: action=search, searchText="Chrome"

  • Find apps by file hash: action=search, searchBy=hash, searchText="abc123..."

  • Find apps by certificate: action=search, searchBy=cert, searchText="Microsoft"

  • Get ThreatLocker research on an app: action=research, applicationId="..."

  • List files in an application: action=files, applicationId="..."

  • Find apps actively permitted: action=search, permittedApplications=true

  • Find recently created custom apps: action=search, category=1, orderBy=date-created

  • Find matching apps by file properties: action=match, hash="...", path="...", cert="..."

  • Get apps for maintenance mode: action=get_for_maintenance

  • Get app for network policy: action=get_for_network_policy, applicationId="..."

  • Create custom application: action=create, name="My App", osType=1

  • Update application metadata: action=update, applicationId="...", name="...", osType=1

  • Manage a child org's app: add managedOrganizationId="child-org-guid" to create/update

  • Add file rules to application: action=add_file, applicationId="...", osType=1, fileRules=[{hash:"..."}, {fullPath:"...", cert:"..."}]

  • Remove file rules from application: action=remove_file, applicationId="...", applicationFileIds=[7111524894, 7111524907] (get IDs via action=files)

  • Delete application (no policies): action=delete, applications=[{applicationId:"...", name:"...", organizationId:"...", osType:1}]

  • Force delete (with policies): action=delete_confirm, applications=[...]

Pitfalls:

  • Hash-only file rules must contain only the hash (no path/cert); file paths need double-escaped backslashes in JSON.

  • create makes metadata only — add file rules in a follow-up add_file call; then build a policy and deploy it.

  • remove_file needs applicationFileId values from action=files first.

  • Built-in applications take policy precedence over custom apps.

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)

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
certNoCertificate subject for match action
hashNoSHA256 hash for match action
nameNoApplication name (required for create, update)
pathNoFull file path for match action
actionYessearch=find applications, get=details by ID, research=ThreatLocker security analysis, files=list file rules in app, match=find apps by file hash/cert/path, get_for_maintenance=apps for maintenance mode, get_for_network_policy=app for network policy, options=application dropdown/lookup for an org, create=create custom application (metadata only), update=update app name/description, add_file=add file rules to application, remove_file=remove file rules by ID, delete=delete applications (no policies), delete_confirm=force delete (with policies)
osTypeNoOS type: 0=All, 1=Windows, 2=macOS, 3=Linux, 5=Windows XP
certShaNoCertificate SHA for match action
orderByNoField to sort by (default: name)
categoryNoCategory: 0=All, 1=My Applications (Custom), 2=Built-In
hostNameNooptions: filter by hostname context.
isHiddenNoInclude hidden/temporary applications (default: false)
pageSizeNoResults per page (default: 25, max: 500)
searchByNoField to search by (default: app)
countriesNoISO country codes to filter by (use with searchBy=countries)
createdByNoCreated by path for match action
fileRulesNoFile rules for add_file action. Each defines a matching condition (hash, path, cert, etc.). Processed via two-step prepare+insert API.
validCertNoWhether the cert supplied for match is valid/trusted (default: true)
pageNumberNoPage number (default: 1)
searchTextNoSearch text for search and files actions
appliesToIdNooptions: scope to a computer/group/org GUID.
descriptionNoApplication description
isAscendingNoSort ascending (default: true)
processPathNoProcess path for match action
applicationsNoApplications to delete (required for delete/delete_confirm). Get details via get action first.
applicationIdNoApplication GUID (required for get, research, files, get_for_network_policy). Find via search action first.
fetchAllPagesNoFetch all pages automatically (max 10 pages). Default: false (single page).
onlyPermittedNooptions: only return applications with active permit policies (default false).
includeBuiltInNooptions: include ThreatLocker built-in applications (default false).
organizationIdNooptions: organization GUID to list application options for (required).
response_formatNoOutput format: markdown (default, human-readable) or json (structured)markdown
applicationFileIdsNoFile rule IDs to remove (required for remove_file). Get IDs via action=files first.
managedOrganizationIdNoParent-org GUID to manage a child organization's applications (sets the ManagedOrganizationId/OverrideManagedOrganizationId headers for create/update). Find via organizations.
permittedApplicationsNoOnly show apps with active permit policies (default: false)
includeChildOrganizationsNoInclude child organization applications (default: false)

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
dataNoResponse data — shape varies by action
errorNo
successYes
paginationNo
Install Server

TDQS

A5/5.0
Behavior5/5

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

Beyond the annotations, the description discloses critical behavioral details: create is metadata-only, delete vs delete_confirm removes without or with policies, hash-only rules must avoid path/cert, built-in applications take precedence, pagination behavior, and permission requirements. No contradictions with annotations were found.

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

Conciseness5/5

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

The description is long, but it is front-loaded with the core purpose and organized into Common workflows, Pitfalls, Permissions, Pagination, and Key response fields. Every section earns its place given the tool's 14 actions and 34 parameters, and the formatting makes the information quickly 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 CRUD-plus-research tool, the description covers workflows, pitfalls, required permissions, pagination, response fields, and related tools. It also lists key response fields and research fields, so an agent can interpret results without needing the output schema. Nothing essential for correct invocation is missing.

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

Parameters5/5

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

Although schema coverage is 100%, the description adds substantial value by showing realistic action-parameter pairings, required prerequisites for parameters like applicationFileIds, and meaningful examples for search, match, create, update, add_file, and managedOrganizationId. This goes well beyond the schema's standalone explanations.

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

Purpose5/5

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

The opening sentence names the specific verbs (search, inspect, create, update, delete) and resource (ThreatLocker applications), then defines what an application is. The extensive workflow list makes each action's purpose concrete and distinguishes this tool from the sibling tools.

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

Usage Guidelines5/5

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

The description provides explicit common workflows for nearly every action, including parameter combinations like action=search, searchBy=hash. It also gives clear fallback and sequencing guidance, such as 'create makes metadata only — add file rules in a follow-up add_file call' and 'remove_file needs applicationFileId values from action=files first.' Related tools are named with their purpose, helping an agent choose this tool versus alternatives.

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