MCP server for ThreatLocker — zero-trust application allowlisting, approval requests, audit logs
- ✓Actively maintained (<30d)
- ✓Clear description
- ✓Topics declared
- ✓Documented (README)
- !Licence file present but not machine-readable
git clone https://github.com/WYRE-AI/threatlocker-mcp{
"mcpServers": {
"threatlocker-mcp": {
"command": "node",
"args": ["/path/to/threatlocker-mcp/dist/index.js"],
"env": {
"THREATLOCKER_API_KEY": "<threatlocker_api_key>",
"MCP_HTTP_HOST": "<mcp_http_host>"
}
}
}
}THREATLOCKER_API_KEYMCP_HTTP_HOSTResumen de MCP Servers
# 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 tools
- `threatlocker_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 information
- `threatlocker_computers_get_checkins` - Get computer checkin history
### Computer Groups
- `threatlocker_computer_groups_list` - List computer groups with filters
- `threatlocker_computer_groups_dropdown` - Get computer groups for dropdown selection
### Approval Requests
- `threatlocker_approvals_list` - List approval requests with status filters
- `threatlocker_approvals_get` - Get detailed approval request information
- `threatlocker_approvals_pending_count` - Get count of pending approvals
- `threatlocker_approvals_get_permit_application` - Get permit application details
### Audit Log
- `threatlocker_audit_search` - Search audit log entries with filters
- `threatlocker_audit_get` - Get detailed audit log entry
- `threatlocker_audit_file_history` - Get audit history for specific file
### Organizations
- `threatlocker_organizations_list_children` - List child organizations
- `threatlocker_organizations_get_auth_key` - Get organization auth key
- `threatlocker_organizations_for_move_computers` - Get organizations for computer moves
## Configuration
### Environment Variables
#### Stdio Mode (Direct API Access)
```bash
THREATLOCKER_API_KEY=your_api_key_here
THREATLOCKER_ORGANIZATION_ID=your_org_id_here
MCP_TRANSPORT=stdio
```
#### Gateway Mode (Multi-tenant)
```bash
AUTH_MODE=gateway
MCP_TRANSPORT=http
MCP_HTTP_PORT=8080
MCP_HTTP_HOST=0.0.0.0
```
#### Gateway Mode Headers
When running in gateway mode, include these headers with each request:
- `X-Threatlocker-Api-Key`: Your ThreatLocker API key
- `X-Threatlocker-Organization-Id`: Your organization ID
### Logging
```bash
LOG_LEVEL=debug|info|warn|error # Default: info
```
## Local Development
1. Clone the repository:
```bash
git clone https://github.com/WYRE-AI/threatlocker-mcp.git
cd threatlocker-mcp
```
2. Install dependencies:
```bash
npm install
```
3. Set environment variables:
```bash
cp .env.example .env
# Edit .env with your ThreatLocker credentials
```
4. Build and run:
```bash
npm run build
npm start
# Or for development with hot reload:
npm run dev
```
5. Test the server:
```bash
# Stdio mode
echo '{"jsonrpc": "2.0", "id": 1, "method": "tools/list"}' | npm start
# HTTP mode
curl http://localhost:8080/health
```
## Docker
### Using Docker Compose
```bash
# Pull and run latest image
docker compose up -d
# Or build locally
docker compose -f docker-compose.dev.yml up --build
```
### Using Docker directly
```bash
# Gateway mode (recommended)
docker run -d \
--name threatlocker-mcp \
-p 8080:8080 \
-e AUTH_MODE=gateway \
ghcr.io/wyre-ai/threatlocker-mcp:latest
# Stdio mode
docker run -d \
--name threatlocker-mcp \
-e THREATLOCKER_API_KEY=your_key \
-e THREATLOCKER_ORGANIZATION_ID=your_org_id \
-e MCP_TRANSPORT=stdio \
ghcr.io/wyre-ai/threatlocker-mcp:latest
```
## Architecture
### Directory Structure
```
src/
├── domains/ # Domain-specific handlers
│ ├── computers.ts
│ ├── computer_groups.ts
│ ├── approval_requests.ts
│ ├── audit_log.ts
│ ├── organizations.ts
│ ├── navigation.ts
│ └── index.ts
├── utils/ # Utilities
│ ├── client.ts # ThreatLocker API client
│ ├── logger.ts # Structured logging
│ ├── types.ts # TypeScript types
│ ├── server-ref.ts # Server reference for elicitation
│ └── elicitation.ts # Interactive prompts
├── server.ts # MCP server creation
├── index.ts # Stdio transport entry
└── http.ts # HTTP transport entry
```
### Design Patterns
- **Domain Handlers**: Each API area has its own handler with `getTools()` and `handleCall()`
- **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](LICENSE) for details.Lo que la gente pregunta sobre threatlocker-mcp
¿Qué es WYRE-AI/threatlocker-mcp?
+
WYRE-AI/threatlocker-mcp es mcp servers para el ecosistema de Claude AI. MCP server for ThreatLocker — zero-trust application allowlisting, approval requests, audit logs Tiene 1 estrellas en GitHub y su última actualización registrada es del 2026-08-25.
¿Cómo se instala threatlocker-mcp?
+
Puedes instalar threatlocker-mcp clonando el repositorio (https://github.com/WYRE-AI/threatlocker-mcp) o siguiendo las instrucciones del README en GitHub. ClaudeWave también te ofrece bloques de instalación rápida en esta misma página.
¿Es seguro usar WYRE-AI/threatlocker-mcp?
+
Nuestro agente de seguridad ha analizado WYRE-AI/threatlocker-mcp y le ha asignado un Trust Score de 80/100 (tier: Trusted). Revisa el desglose completo de comprobaciones superadas y flags en esta página.
¿Quién mantiene WYRE-AI/threatlocker-mcp?
+
WYRE-AI/threatlocker-mcp es mantenido por WYRE-AI. La última actividad registrada en GitHub es del 2026-08-25, con 0 issues abiertos.
¿Hay alternativas a threatlocker-mcp?
+
Sí. En ClaudeWave puedes explorar mcp servers similares en /categories/mcp, ordenados por popularidad o actividad reciente.
Despliega threatlocker-mcp en tu cloud
Lleva este repo a producción en minutos. Cada plataforma genera su propio entorno con variables de entorno editables.
¿Mantienes este repo? Añade un badge a tu README
Pega el badge en tu README de GitHub para mostrar que está auditado por ClaudeWave. Cada badge enlaza de vuelta a esta página y muestra el Trust Score actual.
[](https://claudewave.com/repo/wyre-ai-threatlocker-mcp)<a href="https://claudewave.com/repo/wyre-ai-threatlocker-mcp"><img src="https://claudewave.com/api/badge/wyre-ai-threatlocker-mcp" alt="Featured on ClaudeWave: WYRE-AI/threatlocker-mcp" width="320" height="64" /></a>Más MCP Servers
Fair-code workflow automation platform with native AI capabilities. Combine visual building with custom code, self-host or cloud, 400+ integrations.
User-friendly AI Interface (Supports Ollama, OpenAI API, ...)
An open-source AI agent that brings the power of Gemini directly into your terminal.
Real-time global intelligence dashboard. AI-powered news aggregation, geopolitical monitoring, and infrastructure tracking in a unified situational awareness interface
The fastest path to AI-powered full stack observability, even for lean teams.
🕷️ An adaptive Web Scraping framework that handles everything from a single request to a full-scale crawl!