Skip to content
verify mcp Beta VerifyMCP is currently in beta. If you notice any issues, get in touch and we’ll put it right.

KnowBe4 MCP

MCPB · KNOWBE4-MCP.MCPB

Every KnowBe4 KMSAT reporting feature plus a local SQLite store that answers the cross-client

Available components

+1 this week 52 Trust /100

Last scanned (1 hour ago)

Scores higher than 84% of MCPB servers

Category Security

Trust breakdown (7 categories)

How this component scores in each security and reliability category. Every signal is checked automatically from public evidence about the published package, including repeated runs of it in an isolated sandbox, and we only credit what we can confirm. How we score → Why this is hard to score →

Supply Chain Security0
  • No malware scan is available for this kind of package: the supply-chain vendors we use do not cover it. This is a permanent gap in our coverage, not a finding about the package.Unverified
  • Known CVEs could not be checked: we found no dependency list to check in this bundle: either it runs a compiled binary, whose bundled manifests we do not read, or none of the package.json, requirements.txt, pyproject.toml or uv.lock files it ships for its runtime declares a dependency we can read (a requirements.txt that only points at a setup.py project, a local path, or a nested requirements file we cannot follow counts as none).Unverified
  • Install-script risk not yet assessed.Unverified
  • Dependency health could not be checked: we found no dependency list to check in this bundle: either it runs a compiled binary, whose bundled manifests we do not read, or none of the package.json, requirements.txt, pyproject.toml or uv.lock files it ships for its runtime declares a dependency we can read (a requirements.txt that only points at a setup.py project, a local path, or a nested requirements file we cannot follow counts as none).Unverified
Provenance & Transparency48
  • Source repository is publicly reachable at the declared URL. View diagnostics → Pass
  • Provenance check failed: no build-provenance attestation is published. See how to fix → View diagnostics → Fail
  • Clear OSI-approved license (Apache-2.0).Pass
  • Actively maintained (last published 12 days ago).Pass
  • Publishes a security disclosure policy (SECURITY.md).Pass
Schema Quality & AI Usability58
  • AI-judged instruction clarity (good).Pass
  • Context-footprint check failed: tool/resource definitions use about 18844 tokens (~303/item across 62 items; 62 tools + 0 resources), over budget; trim descriptions and params. See how to fix → Fail
  • Usage-examples check failed: none of the tools include examples. See how to fix → Fail
Stability & Change Management99
  • Stability check failed: the tool surface changed between 0.1.3 and 0.1.7: 0 tool removals, 1 breaking changes, 0 additions. See how to fix → Fail
Tool Coverage100
  • 100% of tools have a non-trivial description (not blank, and not just the tool's name).Pass
  • 100% of tool parameters carry a description.Pass
Tool Safety100
  • No prompt-injection markers were found in the server instructions, tool names or descriptions we captured.Pass
  • All 1 tool(s) whose name or description implies an irreversible operation declare an MCP destructiveHint annotation.Pass
  • An AI judge read all 62 captured unit(s) of tool text and found none that tries to manipulate the model reading it.Pass
Capabilities100
  • Implements a supported MCP spec version (2025-11-25); the latest is 2026-07-28.Pass

Unverified: 1 category

A category scored 0 because we could not verify it: a data source with nothing on this package, evidence we could not reach, or a check we could not run. We only credit what we can confirm.

Changelog

Every change we have recorded for this component, newest first. Security-relevant changes are always shown. ▲ marks a change for the better, ▼ a change for the worse; unmarked changes are neutral.

  • 2 Nov 26 +1
    • Maintenance: unverified → pass ▲ functional
  • 31 Oct 26 0
    • Maintenance: pass → unverified ▼ functional
  • 29 Oct 26 +2
    • Maintenance: unverified → pass ▲ functional
  • 27 Oct 26 −1
    • Maintenance: pass → unverified ▼ functional
  • 26 Oct 26 +1

    No change was recorded against any check on this day. Stability & Change Management went from 79 to 83.

  • 24 Oct 26 +1

    No change was recorded against any check on this day. Stability & Change Management went from 73 to 76.

  • 23 Oct 26 +1
    • Stability: 0.70 → fail ▼ security
    • Schema quality: 339 → 303 ▲ functional
    • Package version: 0.1.5 → 0.1.7 functional
    • Package version: 0.1.5 → 0.1.6 functional
  • 22 Oct 26 0
    • Tool safety: pass → unverified ▼ security
    • Stability: 0.67 → unverified ▼ security
    • Capabilities: pass → unverified ▼ functional
    • Tool coverage: 100 → unverified ▼ functional
    • Schema quality: Schema quality not yet verified: we do not have a sandbox capture of the MCP schema this version of the package serves yet. functional
    • Package version: 0.1.4 → 0.1.5 functional
Diagnostics

Diagnostic detail from the automated scan of this channel: what the scanner observed at each step, so you can see exactly where a check passed or failed. It is informational only and never changes the trust score.

Captured 5 Nov 2026 · Analysed mcpb/https://github.com/Servosity/msp-skills/releases/download/knowbe4-v0.1.7/knowbe4-mcp.mcpb@0.1.7

Provenance No attestation

The registry publishes no build provenance for this version, so there is nothing to verify.

Result No attestation
Ecosystem mcpb
Reason No attestation published

Background: How many MCP packages publish verified provenance →

MCP tools · 62 exposed · ~18,844 tokens

The tools this component advertises to a client, with an estimated token cost for each. Expand a tool to see its parameters and schema. The per-tool counts are indicative and are not scored directly; the schema's total context footprint is one signal in Schema Quality & AI Usability. A tool's description is untrusted text the model reads on every call, which is what makes this list a security surface and not just an inventory: how tool poisoning works →

Tool Tokens
account ~415

Your KnowBe4 account: subscription, seat count, admins, and org-level risk score

NameTypeReqDescription
agentboolean–Set all agent-friendly defaults (--json --compact --no-input --no-color --yes) (default: false)
compactboolean–Return only key fields (id, name, status, timestamps) for minimal token usage (default: false)
csvboolean–Output as CSV (table and array responses) (default: false)
data-sourcestring–Data source for read commands: auto (live with local fallback), live (API only), local (synced data only) (default: auto)
dry-runboolean–Show request without sending (default: false)
human-friendlyboolean–Enable colored output and rich formatting (default: false)
idempotentboolean–Treat already-existing create results as a successful no-op (default: false)
jsonboolean–Output as JSON (default: false)
max-agestring–Maximum acceptable age of local-store data before a stderr hint suggests sync; 0 disables (default: 30m0s)
no-cacheboolean–Bypass response cache (default: false)
no-colorboolean–Disable colored output (default: false)
no-inputboolean–Disable all interactive prompts (for CI/agents) (default: false)
plainboolean–Output as plain tab-separated text (default: false)
quietboolean–Bare output, one value per line (default: false)
rate-limitnumber–Max requests per second (0 to disable) (default: 0)
selectstring–Comma-separated fields to include in output (e.g. --select id,name,status)
timeoutstring–Request timeout (default: 1m0s)
yesboolean–Skip confirmation prompts (for agents and scripts) (default: false)

No output schema declared.

No examples provided.

account_info ~31

Get account and subscription data (name, subscription level, seats, admins, current risk score). Returns the Account.

Input schema present but exposes no named parameters.

No output schema declared.

No examples provided.

account_risk-score-history ~55

Get the org-level risk-score history time series. Optional: full. Returns array of RiskScorePoint.

NameTypeReqDescription
fullstring–Set 'true' to return the full history (default returns the most recent points)

No output schema declared.

No examples provided.

analytics ~459

Analyze locally synced data with count, group-by, and summary operations. Data must be synced first with the sync command.

NameTypeReqDescription
agentboolean–Set all agent-friendly defaults (--json --compact --no-input --no-color --yes) (default: false)
compactboolean–Return only key fields (id, name, status, timestamps) for minimal token usage (default: false)
csvboolean–Output as CSV (table and array responses) (default: false)
data-sourcestring–Data source for read commands: auto (live with local fallback), live (API only), local (synced data only) (default: auto)
dry-runboolean–Show request without sending (default: false)
group-bystring–Field to group by
human-friendlyboolean–Enable colored output and rich formatting (default: false)
idempotentboolean–Treat already-existing create results as a successful no-op (default: false)
jsonboolean–Output as JSON (default: false)
limitnumber–Max groups to show (default: 25)
max-agestring–Maximum acceptable age of local-store data before a stderr hint suggests sync; 0 disables (default: 30m0s)
no-cacheboolean–Bypass response cache (default: false)
no-colorboolean–Disable colored output (default: false)
no-inputboolean–Disable all interactive prompts (for CI/agents) (default: false)
plainboolean–Output as plain tab-separated text (default: false)
quietboolean–Bare output, one value per line (default: false)
rate-limitnumber–Max requests per second (0 to disable) (default: 0)
selectstring–Comma-separated fields to include in output (e.g. --select id,name,status)
timeoutstring–Request timeout (default: 1m0s)
typestring–Resource type to analyze
yesboolean–Skip confirmation prompts (for agents and scripts) (default: false)

No output schema declared.

No examples provided.

context ~29

Get API domain context: resource taxonomy, auth requirements, query tips, and unique capabilities. Call this first.

Input schema present but exposes no named parameters.

No output schema declared.

No examples provided.

coverage_gaps ~527

Find active users enrolled in zero training and/or zero phishing campaigns — the people your program silently misses. Anti-join of users against campaign coverage. Use --joined-within to focus on unenrolled new hires. Reads the local store. Run 'knowbe4-cli sync' first.

NameTypeReqDescription
agentboolean–Set all agent-friendly defaults (--json --compact --no-input --no-color --yes) (default: false)
compactboolean–Return only key fields (id, name, status, timestamps) for minimal token usage (default: false)
csvboolean–Output as CSV (table and array responses) (default: false)
data-sourcestring–Data source for read commands: auto (live with local fallback), live (API only), local (synced data only) (default: auto)
dry-runboolean–Show request without sending (default: false)
human-friendlyboolean–Enable colored output and rich formatting (default: false)
idempotentboolean–Treat already-existing create results as a successful no-op (default: false)
joined-withinstring–Only users who joined within this window (e.g. 30d, 6mo)
jsonboolean–Output as JSON (default: false)
max-agestring–Maximum acceptable age of local-store data before a stderr hint suggests sync; 0 disables (default: 30m0s)
no-cacheboolean–Bypass response cache (default: false)
no-colorboolean–Disable colored output (default: false)
no-inputboolean–Disable all interactive prompts (for CI/agents) (default: false)
plainboolean–Output as plain tab-separated text (default: false)
quietboolean–Bare output, one value per line (default: false)
rate-limitnumber–Max requests per second (0 to disable) (default: 0)
selectstring–Comma-separated fields to include in output (e.g. --select id,name,status)
timeoutstring–Request timeout (default: 1m0s)
topnumber–Limit to the top N users by risk (0 = no limit) (default: 0)
typestring–Gap kind: training, phishing, or omit for both
yesboolean–Skip confirmation prompts (for agents and scripts) (default: false)

No output schema declared.

No examples provided.

events ~491

The User Event API is a separate KnowBe4 product from the Reporting API: it has its own host and its own bearer key, KNOWBE4_USER_EVENT_API_KEY. Use it to push custom security events (PhishRIP detections, SOC findings, external training) onto a user's timeline so they feed the KnowBe4 risk score. Set KNOWBE4_USER_EVENT_API_KEY (and KNOWBE4_REGION for non-US tenants) before use.

NameTypeReqDescription
agentboolean–Set all agent-friendly defaults (--json --compact --no-input --no-color --yes) (default: false)
compactboolean–Return only key fields (id, name, status, timestamps) for minimal token usage (default: false)
csvboolean–Output as CSV (table and array responses) (default: false)
data-sourcestring–Data source for read commands: auto (live with local fallback), live (API only), local (synced data only) (default: auto)
dry-runboolean–Show request without sending (default: false)
human-friendlyboolean–Enable colored output and rich formatting (default: false)
idempotentboolean–Treat already-existing create results as a successful no-op (default: false)
jsonboolean–Output as JSON (default: false)
max-agestring–Maximum acceptable age of local-store data before a stderr hint suggests sync; 0 disables (default: 30m0s)
no-cacheboolean–Bypass response cache (default: false)
no-colorboolean–Disable colored output (default: false)
no-inputboolean–Disable all interactive prompts (for CI/agents) (default: false)
plainboolean–Output as plain tab-separated text (default: false)
quietboolean–Bare output, one value per line (default: false)
rate-limitnumber–Max requests per second (0 to disable) (default: 0)
selectstring–Comma-separated fields to include in output (e.g. --select id,name,status)
timeoutstring–Request timeout (default: 1m0s)
yesboolean–Skip confirmation prompts (for agents and scripts) (default: false)

No output schema declared.

No examples provided.

events_create ~601

Push a custom risk event onto a user's KnowBe4 timeline. --target-user and --event-type are required; --event-type must match a type from 'events types'. This is a write operation. Use --dry-run to preview the payload without sending.

NameTypeReqDescription
agentboolean–Set all agent-friendly defaults (--json --compact --no-input --no-color --yes) (default: false)
compactboolean–Return only key fields (id, name, status, timestamps) for minimal token usage (default: false)
csvboolean–Output as CSV (table and array responses) (default: false)
data-sourcestring–Data source for read commands: auto (live with local fallback), live (API only), local (synced data only) (default: auto)
descriptionstring–Free-text description
dry-runboolean–Show request without sending (default: false)
event-typestring–Event type name, must match an existing type (required)
external-idstring–Your external identifier for this event
human-friendlyboolean–Enable colored output and rich formatting (default: false)
idempotentboolean–Treat already-existing create results as a successful no-op (default: false)
jsonboolean–Output as JSON (default: false)
max-agestring–Maximum acceptable age of local-store data before a stderr hint suggests sync; 0 disables (default: 30m0s)
no-cacheboolean–Bypass response cache (default: false)
no-colorboolean–Disable colored output (default: false)
no-inputboolean–Disable all interactive prompts (for CI/agents) (default: false)
occurred-datestring–When the event occurred (ISO 8601)
plainboolean–Output as plain tab-separated text (default: false)
quietboolean–Bare output, one value per line (default: false)
rate-limitnumber–Max requests per second (0 to disable) (default: 0)
risk-decay-modestring–Risk decay mode (e.g. linear)
risk-expire-datestring–When the event's risk contribution expires (ISO 8601)
risk-levelnumber–Risk level for the event (default: 0)
selectstring–Comma-separated fields to include in output (e.g. --select id,name,status)
sourcestring–Source system that produced the event
target-userstring–Email or id of the user the event applies to (required)
timeoutstring–Request timeout (default: 1m0s)
yesboolean–Skip confirmation prompts (for agents and scripts) (default: false)

No output schema declared.

No examples provided.

events_delete ~441

Remove a user event from a user's timeline. This is a write operation; use --dry-run to preview without sending.

NameTypeReqDescription
agentboolean–Set all agent-friendly defaults (--json --compact --no-input --no-color --yes) (default: false)
argsstring–Additional positional arguments or raw CLI flags to append to the command.
compactboolean–Return only key fields (id, name, status, timestamps) for minimal token usage (default: false)
csvboolean–Output as CSV (table and array responses) (default: false)
data-sourcestring–Data source for read commands: auto (live with local fallback), live (API only), local (synced data only) (default: auto)
dry-runboolean–Show request without sending (default: false)
human-friendlyboolean–Enable colored output and rich formatting (default: false)
idempotentboolean–Treat already-existing create results as a successful no-op (default: false)
jsonboolean–Output as JSON (default: false)
max-agestring–Maximum acceptable age of local-store data before a stderr hint suggests sync; 0 disables (default: 30m0s)
no-cacheboolean–Bypass response cache (default: false)
no-colorboolean–Disable colored output (default: false)
no-inputboolean–Disable all interactive prompts (for CI/agents) (default: false)
plainboolean–Output as plain tab-separated text (default: false)
quietboolean–Bare output, one value per line (default: false)
rate-limitnumber–Max requests per second (0 to disable) (default: 0)
selectstring–Comma-separated fields to include in output (e.g. --select id,name,status)
timeoutstring–Request timeout (default: 1m0s)
yesboolean–Skip confirmation prompts (for agents and scripts) (default: false)

No output schema declared.

No examples provided.

events_get ~424

Get a single user event by id

NameTypeReqDescription
agentboolean–Set all agent-friendly defaults (--json --compact --no-input --no-color --yes) (default: false)
argsstring–Additional positional arguments or raw CLI flags to append to the command.
compactboolean–Return only key fields (id, name, status, timestamps) for minimal token usage (default: false)
csvboolean–Output as CSV (table and array responses) (default: false)
data-sourcestring–Data source for read commands: auto (live with local fallback), live (API only), local (synced data only) (default: auto)
dry-runboolean–Show request without sending (default: false)
human-friendlyboolean–Enable colored output and rich formatting (default: false)
idempotentboolean–Treat already-existing create results as a successful no-op (default: false)
jsonboolean–Output as JSON (default: false)
max-agestring–Maximum acceptable age of local-store data before a stderr hint suggests sync; 0 disables (default: 30m0s)
no-cacheboolean–Bypass response cache (default: false)
no-colorboolean–Disable colored output (default: false)
no-inputboolean–Disable all interactive prompts (for CI/agents) (default: false)
plainboolean–Output as plain tab-separated text (default: false)
quietboolean–Bare output, one value per line (default: false)
rate-limitnumber–Max requests per second (0 to disable) (default: 0)
selectstring–Comma-separated fields to include in output (e.g. --select id,name,status)
timeoutstring–Request timeout (default: 1m0s)
yesboolean–Skip confirmation prompts (for agents and scripts) (default: false)

No output schema declared.

No examples provided.

events_list ~451

List custom user risk events from the User Event API, paginated by --page and --per-page

NameTypeReqDescription
agentboolean–Set all agent-friendly defaults (--json --compact --no-input --no-color --yes) (default: false)
compactboolean–Return only key fields (id, name, status, timestamps) for minimal token usage (default: false)
csvboolean–Output as CSV (table and array responses) (default: false)
data-sourcestring–Data source for read commands: auto (live with local fallback), live (API only), local (synced data only) (default: auto)
dry-runboolean–Show request without sending (default: false)
human-friendlyboolean–Enable colored output and rich formatting (default: false)
idempotentboolean–Treat already-existing create results as a successful no-op (default: false)
jsonboolean–Output as JSON (default: false)
max-agestring–Maximum acceptable age of local-store data before a stderr hint suggests sync; 0 disables (default: 30m0s)
no-cacheboolean–Bypass response cache (default: false)
no-colorboolean–Disable colored output (default: false)
no-inputboolean–Disable all interactive prompts (for CI/agents) (default: false)
pagenumber–1-based page number (default: 0)
per-pagenumber–Items per page (default: 0)
plainboolean–Output as plain tab-separated text (default: false)
quietboolean–Bare output, one value per line (default: false)
rate-limitnumber–Max requests per second (0 to disable) (default: 0)
selectstring–Comma-separated fields to include in output (e.g. --select id,name,status)
timeoutstring–Request timeout (default: 1m0s)
yesboolean–Skip confirmation prompts (for agents and scripts) (default: false)

No output schema declared.

No examples provided.

events_status ~426

Get a user-event request status by request id

NameTypeReqDescription
agentboolean–Set all agent-friendly defaults (--json --compact --no-input --no-color --yes) (default: false)
argsstring–Additional positional arguments or raw CLI flags to append to the command.
compactboolean–Return only key fields (id, name, status, timestamps) for minimal token usage (default: false)
csvboolean–Output as CSV (table and array responses) (default: false)
data-sourcestring–Data source for read commands: auto (live with local fallback), live (API only), local (synced data only) (default: auto)
dry-runboolean–Show request without sending (default: false)
human-friendlyboolean–Enable colored output and rich formatting (default: false)
idempotentboolean–Treat already-existing create results as a successful no-op (default: false)
jsonboolean–Output as JSON (default: false)
max-agestring–Maximum acceptable age of local-store data before a stderr hint suggests sync; 0 disables (default: 30m0s)
no-cacheboolean–Bypass response cache (default: false)
no-colorboolean–Disable colored output (default: false)
no-inputboolean–Disable all interactive prompts (for CI/agents) (default: false)
plainboolean–Output as plain tab-separated text (default: false)
quietboolean–Bare output, one value per line (default: false)
rate-limitnumber–Max requests per second (0 to disable) (default: 0)
selectstring–Comma-separated fields to include in output (e.g. --select id,name,status)
timeoutstring–Request timeout (default: 1m0s)
yesboolean–Skip confirmation prompts (for agents and scripts) (default: false)

No output schema declared.

No examples provided.

events_statuses ~437

List user-event request statuses

NameTypeReqDescription
agentboolean–Set all agent-friendly defaults (--json --compact --no-input --no-color --yes) (default: false)
compactboolean–Return only key fields (id, name, status, timestamps) for minimal token usage (default: false)
csvboolean–Output as CSV (table and array responses) (default: false)
data-sourcestring–Data source for read commands: auto (live with local fallback), live (API only), local (synced data only) (default: auto)
dry-runboolean–Show request without sending (default: false)
human-friendlyboolean–Enable colored output and rich formatting (default: false)
idempotentboolean–Treat already-existing create results as a successful no-op (default: false)
jsonboolean–Output as JSON (default: false)
max-agestring–Maximum acceptable age of local-store data before a stderr hint suggests sync; 0 disables (default: 30m0s)
no-cacheboolean–Bypass response cache (default: false)
no-colorboolean–Disable colored output (default: false)
no-inputboolean–Disable all interactive prompts (for CI/agents) (default: false)
pagenumber–1-based page number (default: 0)
per-pagenumber–Items per page (default: 0)
plainboolean–Output as plain tab-separated text (default: false)
quietboolean–Bare output, one value per line (default: false)
rate-limitnumber–Max requests per second (0 to disable) (default: 0)
selectstring–Comma-separated fields to include in output (e.g. --select id,name,status)
timeoutstring–Request timeout (default: 1m0s)
yesboolean–Skip confirmation prompts (for agents and scripts) (default: false)

No output schema declared.

No examples provided.

events_types ~436

List configured user-event types

NameTypeReqDescription
agentboolean–Set all agent-friendly defaults (--json --compact --no-input --no-color --yes) (default: false)
compactboolean–Return only key fields (id, name, status, timestamps) for minimal token usage (default: false)
csvboolean–Output as CSV (table and array responses) (default: false)
data-sourcestring–Data source for read commands: auto (live with local fallback), live (API only), local (synced data only) (default: auto)
dry-runboolean–Show request without sending (default: false)
human-friendlyboolean–Enable colored output and rich formatting (default: false)
idempotentboolean–Treat already-existing create results as a successful no-op (default: false)
jsonboolean–Output as JSON (default: false)
max-agestring–Maximum acceptable age of local-store data before a stderr hint suggests sync; 0 disables (default: 30m0s)
no-cacheboolean–Bypass response cache (default: false)
no-colorboolean–Disable colored output (default: false)
no-inputboolean–Disable all interactive prompts (for CI/agents) (default: false)
pagenumber–1-based page number (default: 0)
per-pagenumber–Items per page (default: 0)
plainboolean–Output as plain tab-separated text (default: false)
quietboolean–Bare output, one value per line (default: false)
rate-limitnumber–Max requests per second (0 to disable) (default: 0)
selectstring–Comma-separated fields to include in output (e.g. --select id,name,status)
timeoutstring–Request timeout (default: 1m0s)
yesboolean–Skip confirmation prompts (for agents and scripts) (default: false)

No output schema declared.

No examples provided.

export ~502

Export paginated API data to a local file. Supports JSONL (one JSON object per line, streaming-friendly) and JSON (array). JSONL is recommended for large datasets as it has no memory pressure.

NameTypeReqDescription
agentboolean–Set all agent-friendly defaults (--json --compact --no-input --no-color --yes) (default: false)
argsstring–Additional positional arguments or raw CLI flags to append to the command.
compactboolean–Return only key fields (id, name, status, timestamps) for minimal token usage (default: false)
csvboolean–Output as CSV (table and array responses) (default: false)
data-sourcestring–Data source for read commands: auto (live with local fallback), live (API only), local (synced data only) (default: auto)
dry-runboolean–Show request without sending (default: false)
formatstring–Output format: jsonl or json (default: jsonl)
human-friendlyboolean–Enable colored output and rich formatting (default: false)
idempotentboolean–Treat already-existing create results as a successful no-op (default: false)
jsonboolean–Output as JSON (default: false)
limitnumber–Maximum records to export (0 = unlimited) (default: 0)
max-agestring–Maximum acceptable age of local-store data before a stderr hint suggests sync; 0 disables (default: 30m0s)
no-cacheboolean–Bypass response cache for fresh data (default: false)
no-colorboolean–Disable colored output (default: false)
no-inputboolean–Disable all interactive prompts (for CI/agents) (default: false)
plainboolean–Output as plain tab-separated text (default: false)
quietboolean–Bare output, one value per line (default: false)
rate-limitnumber–Max requests per second (0 to disable) (default: 0)
selectstring–Comma-separated fields to include in output (e.g. --select id,name,status)
timeoutstring–Request timeout (default: 1m0s)
yesboolean–Skip confirmation prompts (for agents and scripts) (default: false)

No output schema declared.

No examples provided.

freshness ~526

See per-table sync freshness and whether the cross-entity commands have the data they need — before trusting a clicker hunt. Reads per-table sync watermarks and row counts from the local SQLite store, including the insights-owned pst_recipients fan-out and risk_snapshots tables, and flags each transcendence command whose inputs are stale or never synced, naming the sync command that fixes the gap. Run this first when results look empty or stale.

NameTypeReqDescription
agentboolean–Set all agent-friendly defaults (--json --compact --no-input --no-color --yes) (default: false)
compactboolean–Return only key fields (id, name, status, timestamps) for minimal token usage (default: false)
csvboolean–Output as CSV (table and array responses) (default: false)
data-sourcestring–Data source for read commands: auto (live with local fallback), live (API only), local (synced data only) (default: auto)
dry-runboolean–Show request without sending (default: false)
human-friendlyboolean–Enable colored output and rich formatting (default: false)
idempotentboolean–Treat already-existing create results as a successful no-op (default: false)
jsonboolean–Output as JSON (default: false)
max-agestring–Maximum acceptable age of local-store data before a stderr hint suggests sync; 0 disables (default: 30m0s)
no-cacheboolean–Bypass response cache (default: false)
no-colorboolean–Disable colored output (default: false)
no-inputboolean–Disable all interactive prompts (for CI/agents) (default: false)
plainboolean–Output as plain tab-separated text (default: false)
quietboolean–Bare output, one value per line (default: false)
rate-limitnumber–Max requests per second (0 to disable) (default: 0)
selectstring–Comma-separated fields to include in output (e.g. --select id,name,status)
stale-afterstring–Age beyond which a table is flagged stale (0 disables staleness flagging) (default: 168h0m0s)
timeoutstring–Request timeout (default: 1m0s)
yesboolean–Skip confirmation prompts (for agents and scripts) (default: false)

No output schema declared.

No examples provided.

group_risk_contribution ~538

Attribute account-level risk movement to the specific groups (departments) driving it up or down. Diffs each group's risk snapshots over the window and weights by member count, so a small move in a large department outranks a big move in a tiny one. Answers "why did our risk go up" by group. Risk snapshots accumulate on every 'knowbe4-cli sync'.

NameTypeReqDescription
agentboolean–Set all agent-friendly defaults (--json --compact --no-input --no-color --yes) (default: false)
compactboolean–Return only key fields (id, name, status, timestamps) for minimal token usage (default: false)
csvboolean–Output as CSV (table and array responses) (default: false)
data-sourcestring–Data source for read commands: auto (live with local fallback), live (API only), local (synced data only) (default: auto)
dry-runboolean–Show request without sending (default: false)
human-friendlyboolean–Enable colored output and rich formatting (default: false)
idempotentboolean–Treat already-existing create results as a successful no-op (default: false)
jsonboolean–Output as JSON (default: false)
max-agestring–Maximum acceptable age of local-store data before a stderr hint suggests sync; 0 disables (default: 30m0s)
no-cacheboolean–Bypass response cache (default: false)
no-colorboolean–Disable colored output (default: false)
no-inputboolean–Disable all interactive prompts (for CI/agents) (default: false)
plainboolean–Output as plain tab-separated text (default: false)
quietboolean–Bare output, one value per line (default: false)
rate-limitnumber–Max requests per second (0 to disable) (default: 0)
selectstring–Comma-separated fields to include in output (e.g. --select id,name,status)
timeoutstring–Request timeout (default: 1m0s)
topnumber–Limit to the top N groups by weighted contribution (0 = no limit) (default: 10)
windowstring–Lookback window for the baseline snapshot (e.g. 90d, 6mo) (default: 90d)
yesboolean–Skip confirmation prompts (for agents and scripts) (default: false)

No output schema declared.

No examples provided.

groups ~409

Groups/Smart Groups — membership counts and group-level risk score

NameTypeReqDescription
agentboolean–Set all agent-friendly defaults (--json --compact --no-input --no-color --yes) (default: false)
compactboolean–Return only key fields (id, name, status, timestamps) for minimal token usage (default: false)
csvboolean–Output as CSV (table and array responses) (default: false)
data-sourcestring–Data source for read commands: auto (live with local fallback), live (API only), local (synced data only) (default: auto)
dry-runboolean–Show request without sending (default: false)
human-friendlyboolean–Enable colored output and rich formatting (default: false)
idempotentboolean–Treat already-existing create results as a successful no-op (default: false)
jsonboolean–Output as JSON (default: false)
max-agestring–Maximum acceptable age of local-store data before a stderr hint suggests sync; 0 disables (default: 30m0s)
no-cacheboolean–Bypass response cache (default: false)
no-colorboolean–Disable colored output (default: false)
no-inputboolean–Disable all interactive prompts (for CI/agents) (default: false)
plainboolean–Output as plain tab-separated text (default: false)
quietboolean–Bare output, one value per line (default: false)
rate-limitnumber–Max requests per second (0 to disable) (default: 0)
selectstring–Comma-separated fields to include in output (e.g. --select id,name,status)
timeoutstring–Request timeout (default: 1m0s)
yesboolean–Skip confirmation prompts (for agents and scripts) (default: false)

No output schema declared.

No examples provided.

groups_get ~32

Get a single group by id. Required: id. Returns the Group.

NameTypeReqDescription
idnumberyesGroup id

No output schema declared.

No examples provided.

groups_list ~87

List all groups with member counts and risk scores. Optional: page (default: 1), per-page (default: 100), status. Returns array of Group.

NameTypeReqDescription
pagenumber–1-based page number
per-pagenumber–Items per page (default 100, max 500)
statusstring–Filter by status: active or archived

No output schema declared.

No examples provided.

groups_members ~73

List the users in a group. Required: id. Optional: page (default: 1), per-page (default: 100). Returns array of User.

NameTypeReqDescription
idnumberyesGroup id
pagenumber–1-based page number
per-pagenumber–Items per page

No output schema declared.

No examples provided.

groups_risk-score-history ~60

Get a group's risk-score history time series. Required: id. Optional: full. Returns array of RiskScorePoint.

NameTypeReqDescription
fullstring–Set 'true' to return the full history
idnumberyesGroup id

No output schema declared.

No examples provided.

import ~477

Import data from a JSONL file by issuing POST requests for each record. Each line must be a valid JSON object. Failed records are logged to stderr but do not stop the import.

NameTypeReqDescription
agentboolean–Set all agent-friendly defaults (--json --compact --no-input --no-color --yes) (default: false)
argsstring–Additional positional arguments or raw CLI flags to append to the command.
batch-sizenumber–Records per batch (future: batch API support) (default: 1)
compactboolean–Return only key fields (id, name, status, timestamps) for minimal token usage (default: false)
csvboolean–Output as CSV (table and array responses) (default: false)
data-sourcestring–Data source for read commands: auto (live with local fallback), live (API only), local (synced data only) (default: auto)
dry-runboolean–Preview import without sending requests (default: false)
human-friendlyboolean–Enable colored output and rich formatting (default: false)
idempotentboolean–Treat already-existing create results as a successful no-op (default: false)
jsonboolean–Output as JSON (default: false)
max-agestring–Maximum acceptable age of local-store data before a stderr hint suggests sync; 0 disables (default: 30m0s)
no-cacheboolean–Bypass response cache (default: false)
no-colorboolean–Disable colored output (default: false)
no-inputboolean–Disable all interactive prompts (for CI/agents) (default: false)
plainboolean–Output as plain tab-separated text (default: false)
quietboolean–Bare output, one value per line (default: false)
rate-limitnumber–Max requests per second (0 to disable) (default: 0)
selectstring–Comma-separated fields to include in output (e.g. --select id,name,status)
timeoutstring–Request timeout (default: 1m0s)
yesboolean–Skip confirmation prompts (for agents and scripts) (default: false)

No output schema declared.

No examples provided.

phish_prone_trend ~512

Plot phish-prone percentage across sequential phishing tests to show whether training is working. Filter to a group by name with --group; omit it for the account-wide arc. A single PST is one data point — the trend only exists once many tests are stored and ordered together. Run 'knowbe4-cli sync' first.

NameTypeReqDescription
agentboolean–Set all agent-friendly defaults (--json --compact --no-input --no-color --yes) (default: false)
compactboolean–Return only key fields (id, name, status, timestamps) for minimal token usage (default: false)
csvboolean–Output as CSV (table and array responses) (default: false)
data-sourcestring–Data source for read commands: auto (live with local fallback), live (API only), local (synced data only) (default: auto)
dry-runboolean–Show request without sending (default: false)
groupstring–Filter to phishing tests targeting this group name (substring match)
human-friendlyboolean–Enable colored output and rich formatting (default: false)
idempotentboolean–Treat already-existing create results as a successful no-op (default: false)
jsonboolean–Output as JSON (default: false)
max-agestring–Maximum acceptable age of local-store data before a stderr hint suggests sync; 0 disables (default: 30m0s)
no-cacheboolean–Bypass response cache (default: false)
no-colorboolean–Disable colored output (default: false)
no-inputboolean–Disable all interactive prompts (for CI/agents) (default: false)
plainboolean–Output as plain tab-separated text (default: false)
quietboolean–Bare output, one value per line (default: false)
rate-limitnumber–Max requests per second (0 to disable) (default: 0)
selectstring–Comma-separated fields to include in output (e.g. --select id,name,status)
sincestring–Only tests started within this window (e.g. 12mo, 90d)
timeoutstring–Request timeout (default: 1m0s)
yesboolean–Skip confirmation prompts (for agents and scripts) (default: false)

No output schema declared.

No examples provided.

phishing_campaigns ~411

Phishing campaigns — recurring/one-time simulated-phishing programs

NameTypeReqDescription
agentboolean–Set all agent-friendly defaults (--json --compact --no-input --no-color --yes) (default: false)
compactboolean–Return only key fields (id, name, status, timestamps) for minimal token usage (default: false)
csvboolean–Output as CSV (table and array responses) (default: false)
data-sourcestring–Data source for read commands: auto (live with local fallback), live (API only), local (synced data only) (default: auto)
dry-runboolean–Show request without sending (default: false)
human-friendlyboolean–Enable colored output and rich formatting (default: false)
idempotentboolean–Treat already-existing create results as a successful no-op (default: false)
jsonboolean–Output as JSON (default: false)
max-agestring–Maximum acceptable age of local-store data before a stderr hint suggests sync; 0 disables (default: 30m0s)
no-cacheboolean–Bypass response cache (default: false)
no-colorboolean–Disable colored output (default: false)
no-inputboolean–Disable all interactive prompts (for CI/agents) (default: false)
plainboolean–Output as plain tab-separated text (default: false)
quietboolean–Bare output, one value per line (default: false)
rate-limitnumber–Max requests per second (0 to disable) (default: 0)
selectstring–Comma-separated fields to include in output (e.g. --select id,name,status)
timeoutstring–Request timeout (default: 1m0s)
yesboolean–Skip confirmation prompts (for agents and scripts) (default: false)

No output schema declared.

No examples provided.

phishing_tests ~417

Phishing security tests (PSTs) — individual simulated-phishing sends with click/report stats

NameTypeReqDescription
agentboolean–Set all agent-friendly defaults (--json --compact --no-input --no-color --yes) (default: false)
compactboolean–Return only key fields (id, name, status, timestamps) for minimal token usage (default: false)
csvboolean–Output as CSV (table and array responses) (default: false)
data-sourcestring–Data source for read commands: auto (live with local fallback), live (API only), local (synced data only) (default: auto)
dry-runboolean–Show request without sending (default: false)
human-friendlyboolean–Enable colored output and rich formatting (default: false)
idempotentboolean–Treat already-existing create results as a successful no-op (default: false)
jsonboolean–Output as JSON (default: false)
max-agestring–Maximum acceptable age of local-store data before a stderr hint suggests sync; 0 disables (default: 30m0s)
no-cacheboolean–Bypass response cache (default: false)
no-colorboolean–Disable colored output (default: false)
no-inputboolean–Disable all interactive prompts (for CI/agents) (default: false)
plainboolean–Output as plain tab-separated text (default: false)
quietboolean–Bare output, one value per line (default: false)
rate-limitnumber–Max requests per second (0 to disable) (default: 0)
selectstring–Comma-separated fields to include in output (e.g. --select id,name,status)
timeoutstring–Request timeout (default: 1m0s)
yesboolean–Skip confirmation prompts (for agents and scripts) (default: false)

No output schema declared.

No examples provided.

phishing-campaigns_get ~40

Get a single phishing campaign by id. Required: id. Returns the PhishingCampaign.

NameTypeReqDescription
idnumberyesPhishing campaign id

No output schema declared.

No examples provided.

phishing-campaigns_list ~63

List all phishing campaigns. Optional: page (default: 1), per-page (default: 100). Returns array of PhishingCampaign.

NameTypeReqDescription
pagenumber–1-based page number
per-pagenumber–Items per page

No output schema declared.

No examples provided.

phishing-campaigns_security-tests ~50

List the phishing security tests (PSTs) run by a campaign. Required: id. Returns array of PhishingSecurityTest.

NameTypeReqDescription
idnumberyesPhishing campaign id

No output schema declared.

No examples provided.

phishing-tests_get ~45

Get a single phishing security test by id. Required: id. Returns the PhishingSecurityTest.

NameTypeReqDescription
idnumberyesPhishing security test (PST) id

No output schema declared.

No examples provided.

phishing-tests_list ~71

List all phishing security tests (PSTs) across every campaign. Optional: page (default: 1), per-page (default: 100). Returns array of PhishingSecurityTest.

NameTypeReqDescription
pagenumber–1-based page number
per-pagenumber–Items per page

No output schema declared.

No examples provided.

phishing-tests_recipient ~61

Get a single recipient's result within a PST. Required: pst-id, recipient-id. Returns the PstRecipient.

NameTypeReqDescription
pst-idnumberyesPhishing security test (PST) id
recipient-idnumberyesRecipient id

No output schema declared.

No examples provided.

phishing-tests_recipients ~96

List per-user results for a PST (who opened, clicked, reported, entered data). Required: id. Optional: page (default: 1), per-page (default: 100). Returns array of PstRecipient.

NameTypeReqDescription
idnumberyesPhishing security test (PST) id
pagenumber–1-based page number
per-pagenumber–Items per page

No output schema declared.

No examples provided.

policies ~405

Uploaded policies — policy documents assigned for acknowledgement

NameTypeReqDescription
agentboolean–Set all agent-friendly defaults (--json --compact --no-input --no-color --yes) (default: false)
compactboolean–Return only key fields (id, name, status, timestamps) for minimal token usage (default: false)
csvboolean–Output as CSV (table and array responses) (default: false)
data-sourcestring–Data source for read commands: auto (live with local fallback), live (API only), local (synced data only) (default: auto)
dry-runboolean–Show request without sending (default: false)
human-friendlyboolean–Enable colored output and rich formatting (default: false)
idempotentboolean–Treat already-existing create results as a successful no-op (default: false)
jsonboolean–Output as JSON (default: false)
max-agestring–Maximum acceptable age of local-store data before a stderr hint suggests sync; 0 disables (default: 30m0s)
no-cacheboolean–Bypass response cache (default: false)
no-colorboolean–Disable colored output (default: false)
no-inputboolean–Disable all interactive prompts (for CI/agents) (default: false)
plainboolean–Output as plain tab-separated text (default: false)
quietboolean–Bare output, one value per line (default: false)
rate-limitnumber–Max requests per second (0 to disable) (default: 0)
selectstring–Comma-separated fields to include in output (e.g. --select id,name,status)
timeoutstring–Request timeout (default: 1m0s)
yesboolean–Skip confirmation prompts (for agents and scripts) (default: false)

No output schema declared.

No examples provided.

policies_get ~32

Get a single policy by id. Required: id. Returns the Policy.

NameTypeReqDescription
idnumberyesPolicy id

No output schema declared.

No examples provided.

policies_list ~58

List all uploaded policies. Optional: page (default: 1), per-page (default: 100). Returns array of Policy.

NameTypeReqDescription
pagenumber–1-based page number
per-pagenumber–Items per page

No output schema declared.

No examples provided.

qbr ~536

Assemble the full client quarterly review from the local store: account risk and its movement, the phish-prone trend, training completion, repeat/untrained clicker counts, and the top-risk humans. Composes several cross-entity, cross-time local computations no single KnowBe4 endpoint emits. Use --format md for a paste-ready markdown report, or the default JSON for agents. Run 'knowbe4-cli sync' first.

NameTypeReqDescription
agentboolean–Set all agent-friendly defaults (--json --compact --no-input --no-color --yes) (default: false)
compactboolean–Return only key fields (id, name, status, timestamps) for minimal token usage (default: false)
csvboolean–Output as CSV (table and array responses) (default: false)
data-sourcestring–Data source for read commands: auto (live with local fallback), live (API only), local (synced data only) (default: auto)
dry-runboolean–Show request without sending (default: false)
formatstring–Output format: json or md (default: json)
human-friendlyboolean–Enable colored output and rich formatting (default: false)
idempotentboolean–Treat already-existing create results as a successful no-op (default: false)
jsonboolean–Output as JSON (default: false)
max-agestring–Maximum acceptable age of local-store data before a stderr hint suggests sync; 0 disables (default: 30m0s)
no-cacheboolean–Bypass response cache (default: false)
no-colorboolean–Disable colored output (default: false)
no-inputboolean–Disable all interactive prompts (for CI/agents) (default: false)
plainboolean–Output as plain tab-separated text (default: false)
quietboolean–Bare output, one value per line (default: false)
rate-limitnumber–Max requests per second (0 to disable) (default: 0)
selectstring–Comma-separated fields to include in output (e.g. --select id,name,status)
sincestring–Reporting window (e.g. 90d, 6mo, 1y) (default: 90d)
timeoutstring–Request timeout (default: 1m0s)
yesboolean–Skip confirmation prompts (for agents and scripts) (default: false)

No output schema declared.

No examples provided.

Install

How do I install the KnowBe4 MCP server?

KnowBe4 MCP ships as an MCPB bundle, a single file you download and open in an MCP host that supports MCPB bundles, such as Claude Desktop. The host reads the launch command from the bundle's own manifest, so there is no command to copy. Before opening it, check the file's SHA-256 matches the one the MCP registry declares for it, e25670aeada2a1970b5666855de707d4fc55e319986cb2cc2a2eadcabd1b772d; the commands to do that are on this page. If it does not match, do not open it.

mcpb · knowbe4-mcp.mcpb

Download bundle

Check the download matches the SHA-256 the MCP registry declares before you open it. If it does not match, do not open the file.

SHA-256

e25670aeada2a1970b5666855de707d4fc55e319986cb2cc2a2eadcabd1b772d

macOS / Linux

echo "e25670aeada2a1970b5666855de707d4fc55e319986cb2cc2a2eadcabd1b772d  knowbe4-mcp.mcpb" | shasum -a 256 -c

Windows (PowerShell)

(Get-FileHash -Algorithm SHA256 .\knowbe4-mcp.mcpb).Hash -eq "e25670aeada2a1970b5666855de707d4fc55e319986cb2cc2a2eadcabd1b772d"

Run it in the folder you saved the bundle to, then open the file with an MCPB-capable host such as Claude Desktop.

Common questions

What is the KnowBe4 MCP server?

KnowBe4 MCP is listed in the public MCP registry as io.github.Servosity/knowbe4-mcp. Every KnowBe4 KMSAT reporting feature plus a local SQLite store that answers the cross-client. This page covers its MCPB bundle (https://github.com/Servosity/msp-skills/releases/download/knowbe4-v0.1.7/knowbe4-mcp.mcpb).

Is the KnowBe4 MCP server safe to use?

KnowBe4 MCP scores 52 out of 100 on VerifyMCP. That is a record of what we were able to check automatically, not an endorsement. The category breakdown on this page shows every signal behind the number, including the ones we could not confirm.

What tools does the KnowBe4 MCP server expose?

KnowBe4 MCP exposes 62 tools: account, account_info, account_risk-score-history, analytics, context, and 57 more. Their descriptions and schemas cost roughly 18,844 tokens of context every time the server is loaded.

What licence is the KnowBe4 MCP server under?

KnowBe4 MCP declares the Apache-2.0 licence, which is OSI-approved. That covers the source only, and says nothing about the cost of any service it calls.