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.

Proofpoint MCP

MCPB · PROOFPOINT-MCP.MCPB

Proofpoint TAP threats, VAPs, clickers, and IOCs from your terminal, with a local threat store.

+1 this week 52 Trust /100

Last scanned (7 hours 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 Usability59
  • AI-judged instruction clarity (excellent).Pass
  • Context-footprint check failed: tool/resource definitions use about 8953 tokens (~319/item across 28 items; 28 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 Management98
  • 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
  • We read all 28 captured tool definition(s), and no name or description among them implies an irreversible operation.Pass
  • An AI judge read all 28 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.

  • 30 Oct 26 +1
    • Package version: 0.1.3 → 0.1.7 functional
  • 28 Oct 26 +1

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

  • 26 Oct 26 +1

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

  • 24 Oct 26 +1

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

  • 23 Oct 26 0
    • Provenance: fail → unverified ▼ security
    • Stability: 0.70 → fail ▼ security
    • Package version: 0.1.5 → 0.1.7 functional
    • Package version: 0.1.5 → 0.1.6 functional
  • 22 Oct 26 +1
    • Stability: 0.67 → unverified ▼ security
    • Tool safety: pass → 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
  • 20 Oct 26 +1

    No change was recorded against any check on this day. Stability & Change Management went from 60 to 63. That category is still filling its 30-day observation window: 18 days of observed history at the previous scan, 19 at this one. The score rises as the window fills, whether or not the server changes.

  • 19 Oct 26 0
    • Package version: 0.1.3 → 0.1.4 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/proofpoint-v0.1.7/proofpoint-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 · 28 exposed · ~8,953 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
backfill ~604

Reconstruct up to 7 days of SIEM threat events in one command. The SIEM API caps every request at a 1-hour window with a 7-day lookback; backfill chunks the requested range into compliant windows, fetches each single-type feed, and persists every event to the local SQLite store with stable IDs. Use this command to build or repair the local event store. Do NOT use it for a quick last-hour live check; use 'siem list-issues' instead.

NameTypeReqDescription
agentboolean–Set all agent-friendly defaults (--json --compact --no-input --no-color --yes) (default: false)
allow-partial-failureboolean–Downgrade response-body partial-failure (e.g. partialFailureError) to a warning instead of a non-zero exit (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)
resourcesstring–CSV of SIEM feeds to backfill (default: all four single-type feeds)
selectstring–Comma-separated fields to include in output (e.g. --select id,name,status)
sincestring–How far back to reconstruct (e.g. 6h, 24h, 7d; API maximum 7d) (default: 24h)
timeoutstring–Request timeout (default: 1m0s)
yesboolean–Skip confirmation prompts (for agents and scripts) (default: false)

No output schema declared.

No examples provided.

campaign_get ~48

Get campaign detail (actors, malware, techniques, members). Required: campaignId. Returns the CampaignDetail.

NameTypeReqDescription
campaignIdstringyesCampaign identifier from the TAP Dashboard or campaign ids endpoint

No output schema declared.

No examples provided.

campaign_list-ids ~141

Heavily rate limited (50 requests per rolling 24 hours). Prefer the local synced store for repeated queries. Required: interval. Optional: size (default: 100), page (default: 1). Returns array of CampaignSummary.

NameTypeReqDescription
intervalstringyesISO8601 interval (min 30s, max 1 day), e.g. 2026-06-05T00:00:00Z/2026-06-06T00:00:00Z
pagenumber–Page number
sizenumber–Maximum campaign IDs per page (default 100, max 200)

No output schema declared.

No examples provided.

campaign_threats ~510

Expand a campaign into the threats inside it using the unlimited campaign-detail endpoint, then enrich each threat with severity, category, and status from the local threat store when present. Repeated campaign questions never touch the 50-per-day campaign-ids quota.

NameTypeReqDescription
agentboolean–Set all agent-friendly defaults (--json --compact --no-input --no-color --yes) (default: false)
allow-partial-failureboolean–Downgrade response-body partial-failure (e.g. partialFailureError) to a warning instead of a non-zero exit (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.

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.

export ~542

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)
allow-partial-failureboolean–Downgrade response-body partial-failure (e.g. partialFailureError) to a warning instead of a non-zero exit (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.

forensics_get ~121

Provide exactly one of threatId or campaignId. threatId queries are limited to 50 per rolling 24 hours; campaignId queries to 1800. Optional: threatId, campaignId, includeCampaignForensics (default: false). Returns array of ForensicReport.

NameTypeReqDescription
campaignIdstring–Campaign identifier (mutually exclusive with threatId)
includeCampaignForensicsboolean–With threatId, also aggregate forensics for the associated campaign
threatIdstring–Threat identifier (mutually exclusive with campaignId)

No output schema declared.

No examples provided.

import ~517

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)
allow-partial-failureboolean–Downgrade response-body partial-failure (e.g. partialFailureError) to a warning instead of a non-zero exit (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.

incident ~577

Compose a single incident brief from three sources: the threat summary endpoint (severity, actors, malware, techniques), the forensics endpoint (flattened indicator evidence), and locally synced events that touched the threatId. Use this command for a full single-incident brief from a threatId. Do NOT use this command to extract just the raw indicators for blocking; use 'iocs' instead.

NameTypeReqDescription
agentboolean–Set all agent-friendly defaults (--json --compact --no-input --no-color --yes) (default: false)
allow-partial-failureboolean–Downgrade response-body partial-failure (e.g. partialFailureError) to a warning instead of a non-zero exit (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)
include-campaign-forensicsboolean–Also aggregate evidence for the associated campaign (default: false)
jsonboolean–Output as JSON (default: false)
limitnumber–Maximum local events to include (default: 100)
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.

iocs ~613

Flatten TAP's nested forensic evidence tree into a flat indicator table: sha256, md5, url, domain, ip, file_path, registry_key, process_path, mutex. Output pipes straight into a blocklist import or EDR hunt. Use this command to extract only the raw indicators for blocking or hunting. Do NOT use this command for the full narrative incident brief; use 'incident' instead.

NameTypeReqDescription
agentboolean–Set all agent-friendly defaults (--json --compact --no-input --no-color --yes) (default: false)
allow-partial-failureboolean–Downgrade response-body partial-failure (e.g. partialFailureError) to a warning instead of a non-zero exit (default: false)
campaign-idstring–Campaign identifier (mutually exclusive with --threat-id)
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)
include-campaign-forensicsboolean–With --threat-id, also aggregate evidence for the associated campaign (default: false)
jsonboolean–Output as JSON (default: false)
malicious-onlyboolean–Keep only evidence Proofpoint marked malicious (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)
threat-idstring–Threat identifier (mutually exclusive with --campaign-id; 50 forensics lookups per 24h)
timeoutstring–Request timeout (default: 1m0s)
yesboolean–Skip confirmation prompts (for agents and scripts) (default: false)

No output schema declared.

No examples provided.

people_list-top-clickers ~101

List users who clicked the most malicious links in a window. Optional: window (default: 30), size (default: 100), page (default: 1). Returns array of ClickerUser.

NameTypeReqDescription
pagenumber–Page number
sizenumber–Maximum users per page (default 100, max 200)
windownumber–Days to look back (14, 30, or 90)

No output schema declared.

No examples provided.

people_list-vap ~99

List Very Attacked People (highest attack index) for a window. Optional: window (default: 30), size (default: 1000), page (default: 1). Returns array of VapUser.

NameTypeReqDescription
pagenumber–Page number
sizenumber–Maximum users per page (default 1000)
windownumber–Days to look back (14, 30, or 90)

No output schema declared.

No examples provided.

risk_overlap ~542

Intersect the Very Attacked People list with the top-clickers list for the same window. The result is the highest-risk set: people drawing heavy targeting who also click. No single TAP endpoint can answer this; the CLI joins the two People feeds on identity.

NameTypeReqDescription
agentboolean–Set all agent-friendly defaults (--json --compact --no-input --no-color --yes) (default: false)
allow-partial-failureboolean–Downgrade response-body partial-failure (e.g. partialFailureError) to a warning instead of a non-zero exit (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)
limitnumber–Maximum overlap rows to return (0 = all) (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 (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)
windownumber–Days to look back: 14, 30, or 90 (default: 30)
yesboolean–Skip confirmation prompts (for agents and scripts) (default: false)

No output schema declared.

No examples provided.

search ~64

Full-text search across all synced data. Faster than paginating list endpoints. Requires sync first.

NameTypeReqDescription
limitnumber–Max results (default 25)
querystringyesSearch query (supports FTS5 syntax: AND, OR, NOT, quotes for phrases)

No output schema declared.

No examples provided.

siem_list-all-events ~179

Fetch all click and message threat events in the window. Optional: sinceSeconds (default: 3600), interval, sinceTime (plus 3 more). Returns the SiemResponse.

NameTypeReqDescription
formatstring–Response format
intervalstring–ISO8601 interval (30s to 1h), e.g. 2026-06-06T12:00:00Z/2026-06-06T13:00:00Z
sinceSecondsnumber–Seconds before now to start the window (max 3600 per request, lookback up to 7 days)
sinceTimestring–ISO8601 start time for the retrieval window
threatStatusstring–Filter by threat status
threatTypestring–Filter by threat type

No output schema declared.

No examples provided.

siem_list-clicks-blocked ~182

Fetch clicks to malicious URLs that were blocked in the window. Optional: sinceSeconds (default: 3600), interval, sinceTime (plus 3 more). Returns the SiemResponse.

NameTypeReqDescription
formatstring–Response format
intervalstring–ISO8601 interval (30s to 1h), e.g. 2026-06-06T12:00:00Z/2026-06-06T13:00:00Z
sinceSecondsnumber–Seconds before now to start the window (max 3600 per request, lookback up to 7 days)
sinceTimestring–ISO8601 start time for the retrieval window
threatStatusstring–Filter by threat status
threatTypestring–Filter by threat type

No output schema declared.

No examples provided.

siem_list-clicks-permitted ~182

Fetch clicks to malicious URLs that were permitted in the window. Optional: sinceSeconds (default: 3600), interval, sinceTime (plus 3 more). Returns the SiemResponse.

NameTypeReqDescription
formatstring–Response format
intervalstring–ISO8601 interval (30s to 1h), e.g. 2026-06-06T12:00:00Z/2026-06-06T13:00:00Z
sinceSecondsnumber–Seconds before now to start the window (max 3600 per request, lookback up to 7 days)
sinceTimestring–ISO8601 start time for the retrieval window
threatStatusstring–Filter by threat status
threatTypestring–Filter by threat type

No output schema declared.

No examples provided.

siem_list-issues ~195

Events for clicks to malicious URLs permitted and messages delivered containing a known threat within the window — the subset that got through and needs response. Optional: sinceSeconds (default: 3600), interval, sinceTime (plus 3 more). Returns the SiemResponse.

NameTypeReqDescription
formatstring–Response format
intervalstring–ISO8601 interval (30s to 1h), e.g. 2026-06-06T12:00:00Z/2026-06-06T13:00:00Z
sinceSecondsnumber–Seconds before now to start the window (max 3600 per request, lookback up to 7 days)
sinceTimestring–ISO8601 start time for the retrieval window
threatStatusstring–Filter by threat status
threatTypestring–Filter by threat type

No output schema declared.

No examples provided.

siem_list-messages-blocked ~179

Fetch blocked messages that contained a known threat. Optional: sinceSeconds (default: 3600), interval, sinceTime (plus 3 more). Returns the SiemResponse.

NameTypeReqDescription
formatstring–Response format
intervalstring–ISO8601 interval (30s to 1h), e.g. 2026-06-06T12:00:00Z/2026-06-06T13:00:00Z
sinceSecondsnumber–Seconds before now to start the window (max 3600 per request, lookback up to 7 days)
sinceTimestring–ISO8601 start time for the retrieval window
threatStatusstring–Filter by threat status
threatTypestring–Filter by threat type

No output schema declared.

No examples provided.

siem_list-messages-delivered ~179

Fetch delivered messages that contained a known threat. Optional: sinceSeconds (default: 3600), interval, sinceTime (plus 3 more). Returns the SiemResponse.

NameTypeReqDescription
formatstring–Response format
intervalstring–ISO8601 interval (30s to 1h), e.g. 2026-06-06T12:00:00Z/2026-06-06T13:00:00Z
sinceSecondsnumber–Seconds before now to start the window (max 3600 per request, lookback up to 7 days)
sinceTimestring–ISO8601 start time for the retrieval window
threatStatusstring–Filter by threat status
threatTypestring–Filter by threat type

No output schema declared.

No examples provided.

sql ~93

Run read-only SQL against local database. Use for ad-hoc analysis, aggregations, and joins across synced resources. Requires sync first.

NameTypeReqDescription
querystringyesSQL query (SELECT or WITH...SELECT). Synced records live in resources(resource_type, id, data); filter by resource_type and use json_extract on data, e.g. SELECT json_extract(data,'$.name') FROM reso…

No output schema declared.

No examples provided.

sync ~1,142

Sync data from the API into a local SQLite database. Supports resumable incremental sync (only fetches new data since last sync) and full resync. Once synced, use the 'search' command for instant full-text search. Exit codes & warnings: Resources the API denies access to (HTTP 403, or HTTP 400 with an access-policy body) are reported as warnings rather than failing the run. In --json mode each is emitted as a {"event":"sync_warning",...} line carrying status, reason, and message fields, and a final {"event":"sync_summary",...} aggregates the run. Exit 0 when at least one resource synced and no resource flagged in the spec as critical (x-critical: true) failed; non-critical failures emit {"event":"sync_warning","reason":"exit_policy_default_changed", ...} so callers can detect that a partial failure was tolerated. Pass --strict to exit non-zero on any per-resource failure. Exit is always non-zero when every selected resource failed, regardless of --strict. Resource scoping: --resources runs the named top-level resources, plus any parent-keyed dependent whose own name is listed OR whose parent table is listed. Naming a parent therefore cascades to its dependents (so "sync this parent and its children" works without listing every nested resource by hand). There is no flag today to suppress the cascade for a named parent. To run a dependent without re-syncing its parent, list only the dependent by name; the parent table must already be populated from a prior sync.

NameTypeReqDescription
agentboolean–Set all agent-friendly defaults (--json --compact --no-input --no-color --yes) (default: false)
allow-partial-failureboolean–Downgrade response-body partial-failure (e.g. partialFailureError) to a warning instead of a non-zero exit (default: false)
compactboolean–Return only key fields (id, name, status, timestamps) for minimal token usage (default: false)
concurrencynumber–Number of parallel sync workers (default: 4)
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)
fullboolean–Full resync (ignore previous checkpoint) (default: false)
global-paramstring–Extra query param to inject into every sync request including dependent path-scoped calls (repeatable, key=value). Use when an API requires a scope on every call regardless of path nesting.
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)
latest-onlyboolean–Refresh head of each resource only; clears resume cursor and caps pages at 1. Mutually exclusive with --since (--since wins). (default: false)
max-agestring–Maximum acceptable age of local-store data before a stderr hint suggests sync; 0 disables (default: 30m0s)
max-pagesnumber–Maximum pages to fetch per resource (0 = unlimited; cap-hit emits a sync_warning event) (default: 0)
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)
paramstring–Extra query param to inject into flat-list sync requests (repeatable, key=value). Skipped on path-scoped dependent requests so a top-level scope like workspace=<id> does not double up on /parents/<id…
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)
resource-paramstring–Per-resource extra query param (repeatable, resource:key=value). Wins over --param and --global-param when keys conflict.
resourcesstring–Comma-separated resource types to sync. Naming a parent also runs its parent-keyed dependents (see Long help for scoping).
selectstring–Comma-separated fields to include in output (e.g. --select id,name,status)
sincestring–Incremental sync duration (e.g. 7d, 24h, 1w, 30m)
strictboolean–Exit non-zero on any per-resource failure (default: only critical failures or all-resource failure exit non-zero). (default: false)
timeoutstring–Request timeout (default: 1m0s)
yesboolean–Skip confirmation prompts (for agents and scripts) (default: false)

No output schema declared.

No examples provided.

threat_get-summary ~52

Get a threat summary (severity, spread, actors, malware, techniques). Required: threatId. Returns the ThreatSummary.

NameTypeReqDescription
threatIdstringyesThreat identifier from SIEM events or the TAP Dashboard

No output schema declared.

No examples provided.

url_decode ~69

Decode TAP-rewritten (urldefense) URLs to their original targets. Required: urls. Returns array of UrlDecodeResult. (public)

NameTypeReqDescription
urlsstringyesOne or more TAP-rewritten (urldefense) URLs in v1, v2, or v3 format

No output schema declared.

No examples provided.

user ~593

One view of a person across every source: locally synced click and message events (run 'backfill' or 'sync' first), plus live VAP and top-clicker status for the window. Use this during investigations to answer "show me every event touching this user" without re-spending SIEM quota. Use --data-source local to skip the live People lookups and read only the local store.

NameTypeReqDescription
agentboolean–Set all agent-friendly defaults (--json --compact --no-input --no-color --yes) (default: false)
allow-partial-failureboolean–Downgrade response-body partial-failure (e.g. partialFailureError) to a warning instead of a non-zero exit (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)
limitnumber–Maximum local events to return (default: 100)
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)
windownumber–Days to look back for live VAP/clicker status: 14, 30, or 90 (default: 30)
yesboolean–Skip confirmation prompts (for agents and scripts) (default: false)

No output schema declared.

No examples provided.

workflow ~444

Compound workflows that combine multiple API operations

NameTypeReqDescription
agentboolean–Set all agent-friendly defaults (--json --compact --no-input --no-color --yes) (default: false)
allow-partial-failureboolean–Downgrade response-body partial-failure (e.g. partialFailureError) to a warning instead of a non-zero exit (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.

workflow_archive ~508

Archive fetches all syncable resources from the API and stores them in a local SQLite database. Supports incremental sync (only new data since last run) and full resync. After archiving, use 'search' for instant full-text search.

NameTypeReqDescription
agentboolean–Set all agent-friendly defaults (--json --compact --no-input --no-color --yes) (default: false)
allow-partial-failureboolean–Downgrade response-body partial-failure (e.g. partialFailureError) to a warning instead of a non-zero exit (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)
fullboolean–Full re-archive (ignore previous sync state) (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.

workflow_status ~448

Show local archive status and sync state for all resources

NameTypeReqDescription
agentboolean–Set all agent-friendly defaults (--json --compact --no-input --no-color --yes) (default: false)
allow-partial-failureboolean–Downgrade response-body partial-failure (e.g. partialFailureError) to a warning instead of a non-zero exit (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.

Install

How do I install the Proofpoint MCP server?

Proofpoint 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, 8ad9dcb9988cb692f6c3a1dbff917e1147a988c81f60ce6d623896d579604e50; the commands to do that are on this page. If it does not match, do not open it.

mcpb · proofpoint-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

8ad9dcb9988cb692f6c3a1dbff917e1147a988c81f60ce6d623896d579604e50

macOS / Linux

echo "8ad9dcb9988cb692f6c3a1dbff917e1147a988c81f60ce6d623896d579604e50  proofpoint-mcp.mcpb" | shasum -a 256 -c

Windows (PowerShell)

(Get-FileHash -Algorithm SHA256 .\proofpoint-mcp.mcpb).Hash -eq "8ad9dcb9988cb692f6c3a1dbff917e1147a988c81f60ce6d623896d579604e50"

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 Proofpoint MCP server?

Proofpoint MCP is listed in the public MCP registry as io.github.Servosity/proofpoint-mcp. Proofpoint TAP threats, VAPs, clickers, and IOCs from your terminal, with a local threat store. This page covers its MCPB bundle (https://github.com/Servosity/msp-skills/releases/download/proofpoint-v0.1.7/proofpoint-mcp.mcpb).

Is the Proofpoint MCP server safe to use?

Proofpoint 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 Proofpoint MCP server expose?

Proofpoint MCP exposes 28 tools: backfill, campaign_get, campaign_list-ids, campaign_threats, context, and 23 more. Their descriptions and schemas cost roughly 8,953 tokens of context every time the server is loaded.

What licence is the Proofpoint MCP server under?

Proofpoint 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.