ThreatLocker MCP
Threatlocker-mcp é um servidor do Model
Documentação
ThreatLocker MCP
threatlocker-mcp é um servidor Model Context Protocol que conecta assistentes de IA, como Claude Desktop e Claude Code, à ThreatLocker Portal API. 44 ferramentas — geradas diretamente da especificação oficial OpenAPI 3.0 — dão ao seu assistente de IA acesso programático a computadores, aprovações, logs de ação, tags, modo de manutenção, relatórios e muito mais, em configurações de organização única e de locatário pai/filho.
[!IMPORTANT] Projeto não oficial. Este é um servidor MCP independente, construído pela comunidade, desenvolvido com base na documentação pública da API da ThreatLocker. Não é um produto oficial da ThreatLocker e não é afiliado, endossado ou suportado pela ThreatLocker, Inc. "ThreatLocker" é uma marca registrada da ThreatLocker, Inc. Para suporte oficial da plataforma ThreatLocker em si, entre em contato diretamente com a ThreatLocker.
[!WARNING] Software beta — ainda não recomendado para ambientes de produção. Este projeto está em desenvolvimento ativo. A superfície das ferramentas e os formatos individuais dos corpos das ferramentas podem mudar entre versões menores, e nem todos os endpoints foram exaustivamente testados em todas as configurações de locatário. Use em um locatário de laboratório ou não produtivo até ter confiança no comportamento para o seu caso de uso.
Este servidor também pode executar ações destrutivas no seu ambiente ThreatLocker. As ferramentas podem ativar/desativar a proteção de endpoints, aprovar solicitações de segurança, modificar associações de tags, encerrar janelas de manutenção ativas, aprovar dispositivos de armazenamento e mover computadores entre organizações. Um argumento de ferramenta alucinado do seu assistente de IA pode alterar sua configuração ThreatLocker de maneiras que afetam a segurança dos endpoints.
Postura recomendada:
- Teste o servidor primeiro em um locatário não produtivo ou de laboratório.
- Use uma chave de API ThreatLocker com escopo para as permissões mínimas que seu caso de uso exige.
- Revise cada chamada de ferramenta destrutiva antes de permitir a execução. O Claude Desktop exige aprovação de chamada de ferramenta por padrão — mantenha isso ativado.
- Trate a chave de API com o mesmo cuidado que as credenciais de administrador do portal, pois funcionalmente é uma.
- O transporte HTTP vincula-se a
127.0.0.1por padrão. Não o exponha à internet pública sem adicionar autenticação.
Ferramentas
| Área | Contagem | Capacidades |
|---|---|---|
| Computadores | 9 | Pesquisar, obter/editar detalhes, ativar/desativar proteção, atualizar modo de manutenção, nova verificação de linha de base, mover entre organizações, concluir manutenção ativa |
| Solicitações de Aprovação | 11 | Pesquisar, obter por ID, contar pendentes, obter detalhes de permissão, aprovar, rejeitar, ignorar, assumir propriedade, leitura/permissão de aprovação de armazenamento, detalhes de download de arquivo |
| Aplicativo | 5 | Obter por ID, obter lista correspondente, listar aplicativos disponíveis para permissão, listar aplicativos para modo de manutenção, detalhes de pesquisa |
| Log de Ações | 4 | Pesquisar por parâmetros, obter por ID, histórico de arquivos, detalhes de download de arquivo |
| Modo de Manutenção | 4 | Obter agendamento por computador, inserir, encerrar por ID, reagendar horário de término |
| Tag | 3 | Obter por ID, opções de lista suspensa por organização, atualizar |
| Auditoria do Sistema | 2 | Pesquisar por parâmetros, central de saúde |
| Grupos de Computadores | 2 | Obter grupos com computadores, lista suspensa por organização |
| Política | 1 | Obter por ID |
| Dispositivos Online | 1 | Obter por parâmetros |
| Relatórios | 1 | Obter por organização |
| Organização | 1 | list_organizations — descobrir GUIDs de organização que esta chave de API pode acessar |
Todos os corpos de solicitação são modelos Pydantic tipados (63 gerados a partir da especificação), para que o assistente de IA receba validação completa de esquema e preenchimento automático. O formato de transmissão preserva os nomes de campos originais em camelCase esperados pela API.
Início Rápido
Instalação
Usando uv (recomendado)
uv tool install threatlocker-mcp
Usando pip
pip install threatlocker-mcp
Configuração
Defina as variáveis de ambiente necessárias (ou coloque-as em um arquivo .env no diretório onde você inicia o servidor):
export THREATLOCKER_API_KEY="your-api-key"
export THREATLOCKER_ORG_ID="your-default-org-guid"
export THREATLOCKER_BASE_URL="https://portalapi.h.threatlocker.com"
| Variável | Obrigatória | Padrão | Descrição |
|---|---|---|---|
THREATLOCKER_API_KEY | ✅ | — | Chave de API do Portal ThreatLocker → Módulos → API |
THREATLOCKER_ORG_ID | ✅ | — | GUID da organização padrão. Encontre-o na URL do portal após alternar para a organização de destino. |
THREATLOCKER_BASE_URL | ✅ | — | URL base da API do portal. Use a mesma letra de subdomínio mostrada no seu portal (.h., .g., .e., etc.) — por exemplo, https://portalapi.h.threatlocker.com |
THREATLOCKER_TIMEOUT | — | 30 | Tempo limite por solicitação em segundos |
LOG_LEVEL | — | INFO | Nível de detalhe do log: DEBUG / INFO / WARNING / ERROR |
MCP_HTTP_HOST | — | 127.0.0.1 | Host de vinculação para o transporte HTTP |
MCP_HTTP_PORT | — | 8765 | Porta de vinculação para o transporte HTTP |
Executar
threatlocker-mcp
Por padrão, o servidor executa no modo stdio (o transporte que clientes MCP como Claude Desktop esperam). Para transporte HTTP:
threatlocker-mcp --transport http --port 8765
Integração com Editores
Claude Desktop com uvx (recomendado)
Adicione o seguinte bloco ao arquivo de configuração do Claude Desktop:
- Windows:
%APPDATA%\Claude\claude_desktop_config.json - macOS:
~/Library/Application Support/Claude/claude_desktop_config.json
{
"mcpServers": {
"threatlocker": {
"command": "uvx",
"args": [
"threatlocker-mcp"
],
"env": {
"THREATLOCKER_API_KEY": "your-api-key",
"THREATLOCKER_ORG_ID": "your-default-org-guid",
"THREATLOCKER_BASE_URL": "https://portalapi.h.threatlocker.com"
}
}
}
}
Feche completamente o Claude Desktop (ícone da bandeja → Sair no Windows; ⌘Q no macOS) e reabra-o. uvx resolve e armazena em cache o pacote no primeiro lançamento; os lançamentos subsequentes são quase instantâneos.
Fixando a uma versão específica
"args": ["threatlocker-mcp@0.2.1"]
Forçando uma atualização
"args": ["--refresh", "threatlocker-mcp"]
Uso Multi-Organização
Cada ferramenta aceita dois parâmetros opcionais para direcionar organizações específicas em uma hierarquia de locatário pai/filho:
organization_id— substitui o cabeçalho de solicitaçãoManagedOrganizationId. Quando omitido,THREATLOCKER_ORG_IDé usado.override_organization_id— define o cabeçalhoOverrideManagedOrganizationIdpara cenários que exigem ambos os cabeçalhos simultaneamente.
Encontrando GUIDs de organizações filhas: Chame
list_organizationsprimeiro — opcionalmente comsearch_textpara filtrar por nome de exibição — para enumerar todas as organizações que esta chave de API pode acessar. Os GUIDs de organização também podem ser lidos na URL do portal enquanto estiver alternado para cada organização filha.
Exemplos de Prompts
Investigar atividade negada:
"Pesquise no log de ações por execuções negadas no hostname SRV-DB-01 nas últimas 24 horas."
→ Chama action_log_get_by_parameters_v2 com um ActionLogParamsDto.
Revisar aprovações pendentes:
"Mostre-me todas as solicitações de aprovação pendentes para a organização Cloud Services."
→ Chama approval_request_get_by_parameters com organization_id=<cloud-svc-guid>.
Aprovar uma solicitação:
"Aprove a solicitação abc-123 no escopo do computador com a nota 'fornecedor verificado'."
→ Chama approval_request_permit_application com um PermitApplicationDto.
Agendar manutenção:
"Coloque a estação de trabalho WS-FINANCE-04 em modo de manutenção pelas próximas duas horas."
→ Chama maintenance_mode_insert com um MaintenanceModeInsertDto.
Gerenciar tags:
"Adicione
corporate-vpn.example.comà tag de rede 'Corporate VPN' existente."
→ Chama tag_get_dropdown_options_by_organization_id e tag_update.
Licença
MIT — veja LICENSE.