
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 分
請在儲存庫或註冊中心條目中宣告授權條款。