MCP server for ThreatLocker — zero-trust application allowlisting, approval requests, audit logs
Setup
Choose your client, copy the config, then fill in any required environment variables.
claude mcp add threatlocker --env THREATLOCKER_API_KEY='<THREATLOCKER_API_KEY>' --env THREATLOCKER_ORGANIZATION_ID='<THREATLOCKER_ORGANIZATION_ID>' -- docker run -i --rm -e THREATLOCKER_API_KEY -e THREATLOCKER_ORGANIZATION_ID ghcr.io/wyre-ai/threatlocker-mcp:v1.3.12~/.codex/config.toml
[mcp_servers.threatlocker]
command = "docker"
args = ["run", "-i", "--rm", "-e", "THREATLOCKER_API_KEY", "-e", "THREATLOCKER_ORGANIZATION_ID", "ghcr.io/wyre-ai/threatlocker-mcp:v1.3.12"]
env = { THREATLOCKER_API_KEY = "<THREATLOCKER_API_KEY>", THREATLOCKER_ORGANIZATION_ID = "<THREATLOCKER_ORGANIZATION_ID>" }
# codex mcp add threatlocker --env THREATLOCKER_API_KEY='<THREATLOCKER_API_KEY>' --env THREATLOCKER_ORGANIZATION_ID='<THREATLOCKER_ORGANIZATION_ID>' -- docker run -i --rm -e THREATLOCKER_API_KEY -e THREATLOCKER_ORGANIZATION_ID ghcr.io/wyre-ai/threatlocker-mcp:v1.3.12~/.cursor/mcp.json
{
"mcpServers": {
"threatlocker": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"-e",
"THREATLOCKER_API_KEY",
"-e",
"THREATLOCKER_ORGANIZATION_ID",
"ghcr.io/wyre-ai/threatlocker-mcp:v1.3.12"
],
"env": {
"THREATLOCKER_API_KEY": "<THREATLOCKER_API_KEY>",
"THREATLOCKER_ORGANIZATION_ID": "<THREATLOCKER_ORGANIZATION_ID>"
}
}
}
}.vscode/mcp.json
{
"servers": {
"threatlocker": {
"type": "stdio",
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"-e",
"THREATLOCKER_API_KEY",
"-e",
"THREATLOCKER_ORGANIZATION_ID",
"ghcr.io/wyre-ai/threatlocker-mcp:v1.3.12"
],
"env": {
"THREATLOCKER_API_KEY": "<THREATLOCKER_API_KEY>",
"THREATLOCKER_ORGANIZATION_ID": "<THREATLOCKER_ORGANIZATION_ID>"
}
}
}
}~/.gemini/settings.json
{
"mcpServers": {
"threatlocker": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"-e",
"THREATLOCKER_API_KEY",
"-e",
"THREATLOCKER_ORGANIZATION_ID",
"ghcr.io/wyre-ai/threatlocker-mcp:v1.3.12"
],
"env": {
"THREATLOCKER_API_KEY": "<THREATLOCKER_API_KEY>",
"THREATLOCKER_ORGANIZATION_ID": "<THREATLOCKER_ORGANIZATION_ID>"
}
}
}
}claude_desktop_config.json
{
"mcpServers": {
"threatlocker": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"-e",
"THREATLOCKER_API_KEY",
"-e",
"THREATLOCKER_ORGANIZATION_ID",
"ghcr.io/wyre-ai/threatlocker-mcp:v1.3.12"
],
"env": {
"THREATLOCKER_API_KEY": "<THREATLOCKER_API_KEY>",
"THREATLOCKER_ORGANIZATION_ID": "<THREATLOCKER_ORGANIZATION_ID>"
}
}
}
}.trae/mcp.json
{
"mcpServers": {
"threatlocker": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"-e",
"THREATLOCKER_API_KEY",
"-e",
"THREATLOCKER_ORGANIZATION_ID",
"ghcr.io/wyre-ai/threatlocker-mcp:v1.3.12"
],
"env": {
"THREATLOCKER_API_KEY": "<THREATLOCKER_API_KEY>",
"THREATLOCKER_ORGANIZATION_ID": "<THREATLOCKER_ORGANIZATION_ID>"
}
}
}
}Environment variables
THREATLOCKER_API_KEYTHREATLOCKER_ORGANIZATION_ID
Replace the placeholders with your own credentials and keep them out of version control.