
ThreatLocker
io.github.wyre-technology由 GitHub 账号 wyre-technology 发布v1.3.6更新于 Oct 24, 2026
MCP server for ThreatLocker — zero-trust endpoint protection, allowlisting, and policies.
概览
面向 ThreatLocker Portal API 的 MCP 服务器,让助手用自然语言查看计算机、审批请求、审计日志和组织。
- 可以做什么
- 导航各功能域并检查 API 连接状态
- 列出并查看计算机详情,包括签到历史
- 列出计算机组及下拉选项
- 列出并查看审批请求,包括待处理数量与许可申请详情
- 搜索审计日志条目、获取单条记录及文件历史
- 列出子组织、获取组织认证密钥以及可用于移动计算机的组织
- 适用场景
- 适合需要让助手回答 ThreatLocker 零信任终端防护部署相关问题的场景,例如哪些计算机已纳管、有哪些待处理审批、审计日志显示了什么,或组织层级如何划分。
- 运行要求
- 以本地进程(stdio)方式从容器镜像运行,或作为 HTTP 网关服务运行。stdio 模式需要 THREATLOCKER_API_KEY 和 THREATLOCKER_ORGANIZATION_ID。网关模式需要 AUTH_MODE=gateway、MCP_TRANSPORT=http 和 CONDUIT_S2S_SECRET,并通过 X-Threatlocker-Api-Key 及可选的 X-Threatlocker-Organization-Id 请求头逐次提供凭据。
安装
在 SourceWeft 中
- 打开 控制台中的 ThreatLocker,将其添加到工作区。
- 为需要使用其工具的对话启用该服务。
Desktop only,通过 STDIO。 STDIO 服务会启动本地进程,因此需要 SourceWeft 桌面宿主。
其他 MCP 客户端
参照 仓库 中的启动说明。
README
ThreatLocker MCP Server
A Model Context Protocol (MCP) server that provides AI assistants with access to the ThreatLocker Portal API. Manage computers, approval requests, audit logs, and organizations through natural language interactions.
Features
- Stateless Architecture: No session state required, fresh connections per request
- Decision-Tree Navigation: Navigate domains with
threatlocker_navigate - Gateway Mode: Multi-tenant support via HTTP headers
- Elicitation Support: Interactive prompts for missing parameters
- Comprehensive Error Handling: Detailed error messages and logging
- Docker Support: Production-ready containerization
Tools
Navigation
threatlocker_navigate- Navigate to a domain to see available toolsthreatlocker_status- Check API connection status and available domains
Computers
threatlocker_computers_list- List computers with filters (search, group, pagination)threatlocker_computers_get- Get detailed computer informationthreatlocker_computers_get_checkins- Get computer checkin history
Computer Groups
threatlocker_computer_groups_list- List computer groups with filtersthreatlocker_computer_groups_dropdown- Get computer groups for dropdown selection
Approval Requests
threatlocker_approvals_list- List approval requests with status filtersthreatlocker_approvals_get- Get detailed approval request informationthreatlocker_approvals_pending_count- Get count of pending approvalsthreatlocker_approvals_get_permit_application- Get permit application details
Audit Log
threatlocker_audit_search- Search audit log entries with filtersthreatlocker_audit_get- Get one audit log entry byeActionLogIdfrom a search row (deprecated alias:actionLogId)threatlocker_audit_file_history- Get audit history for a file. RequiresfullPathand eitherhostnameorcomputerId
Organizations
threatlocker_organizations_list_children- List child organizationsthreatlocker_organizations_get_auth_key- Get organization auth keythreatlocker_organizations_for_move_computers- Get organizations for computer moves
Configuration
Environment Variables
Stdio Mode (Direct API Access)
Gateway Mode (Multi-tenant)
CONDUIT_S2S_SECRET is required for the HTTP transport. The process logs an error and exits non-zero when it is unset. For local development only, MCP_ALLOW_INSECURE_DEV=1 starts the server anyway and logs a loud warning; do not set that flag in production. The secret is never written to the logs.
When MCP_HTTP_HOST is unset, the server binds 127.0.0.1. The Dockerfile sets MCP_HTTP_HOST=0.0.0.0 so the process listens inside the container; publish that port on localhost.
Gateway Mode Headers
When running in gateway mode, include these headers with each request:
X-Gateway-S2S: Service-to-service proof from the gateway (t=<unix>,v1=<hmac>). Requests without a valid header are rejected with 401 whenCONDUIT_S2S_SECRETis set.X-Threatlocker-Api-Key: Your ThreatLocker API key (required). A request without it is rejected with 401 and does not fall back toTHREATLOCKER_API_KEY.X-Threatlocker-Organization-Id: Your organization ID (optional; the API defaults to the key's primary organization)
/health and /healthz stay unauthenticated and do not read credentials. The stdio transport does not use CONDUIT_S2S_SECRET.
Logging
Local Development
- Clone the repository:
- Install dependencies:
- Set environment variables:
- Build and run:
- Test the server:
Docker
Using Docker Compose
Using Docker directly
Architecture
Directory Structure
Design Patterns
- Domain Handlers: Each API area has its own handler with
getTools()andhandleCall() - Lazy Loading: Domain handlers are imported on-demand
- Fresh Connections: New server instance per HTTP request for stateless operation
- Credential Invalidation: Client is reset when credentials change
- Elicitation Framework: Interactive prompts for missing parameters
License
Apache-2.0 - see LICENSE for details.
来源:README.md,提交 eb902de
工具
0版本历史
1- v1.3.6最新Sep 16, 2026
评分
已满足适用检查项的 40%
该评分衡量此收录条目的完整程度,依据注册中心条目、端点与公开来源计算得出。它不是对服务器本身的评价,也不表示服务器安全或当前可用:可连通性是带日期的检查结果,评分也不包含安装量或用户评价。
- 近 30 天内可连通25 分
请保持端点能够响应 MCP 握手;SourceWeft 每 30 天探测一次。
- 已声明认证方式10 分
请在注册中心条目中声明凭据请求头,或保持端点能够响应探测,以便判定其认证方式。
- 已列出工具15 分
请让服务器在无凭据时响应 tools/list,或发布可在沙箱中无凭据启动的软件包。
- 描述必需15 分
- 图标10 分
- 文档15 分
- 许可证10 分
请在仓库或注册中心条目中声明许可证。