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.

Mailprotector

OCI · GHCR.IO/WYRE-TECHNOLOGY/MAILPROTECTOR-MCP:V1.0.1 · SCANNED AUG 22

MCP server for Mailprotector — customers, domains, users, quarantine, allow/block rules for MSPs.

39 Trust /100
Trust breakdown (6 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 →

Supply Chain Security0
  • Malware scan not yet available for this package.Unverified
  • Known CVEs could not be checked: this artifact ships no SBOM, so there is no dependency list to read. Publishing one would let us assess it.Unverified
  • Install-script risk not yet assessed.Unverified
  • Dependency health could not be checked: this artifact ships no SBOM, so there is no dependency list to read. Publishing one would let us assess it.Unverified
Provenance & Transparency45
Schema Quality & AI Usability76
  • AI-judged instruction clarity (good).Pass
  • Tool/resource definitions use about 1921 tokens (~87/item across 22 items; 22 tools + 0 resources), lean.Pass
  • Usage-examples check failed: none of the tools include examples. See how to fix → Fail
Stability & Change Management0
  • Stability not yet verified: not enough scan history yet (needs a 30-day window).Unverified
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
Capabilities100
  • Implements a current MCP spec version (2026-07-28).Pass

Unverified: 2 categories

Categories scored 0 because we could not verify them: 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.

Install

Add this component to your MCP client. Where a client-specific snippet is available, pick your client below and copy it straight into your config; otherwise use the connection detail shown.

oci · ghcr.io/wyre-technology/mailprotector-mcp:v1.0.1

# add to Claude Code
claude mcp add wyre-technology-mailprotector-mcp -- docker run --rm -i ghcr.io/wyre-technology/mailprotector-mcp:v1.0.1
# add to Codex CLI
codex mcp add wyre-technology-mailprotector-mcp -- docker run --rm -i ghcr.io/wyre-technology/mailprotector-mcp:v1.0.1
// opencode.json
{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "wyre-technology-mailprotector-mcp": {
      "type": "local",
      "command": [
        "docker",
        "run",
        "--rm",
        "-i",
        "ghcr.io/wyre-technology/mailprotector-mcp:v1.0.1"
      ],
      "enabled": true
    }
  }
}
# ~/.hermes/config.yaml
mcp_servers:
  wyre-technology-mailprotector-mcp:
    command: "docker"
    args: ["run", "--rm", "-i", "ghcr.io/wyre-technology/mailprotector-mcp:v1.0.1"]
// mcp.json
{
  "mcpServers": {
    "wyre-technology-mailprotector-mcp": {
      "command": "docker",
      "args": [
        "run",
        "--rm",
        "-i",
        "ghcr.io/wyre-technology/mailprotector-mcp:v1.0.1"
      ]
    }
  }
}
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.

  • 20 Aug 26 39

    First indexed and scored.

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 22 Aug 2026 · Analysed oci/ghcr.io/wyre-technology/mailprotector-mcp:v1.0.1

Provenance No attestation

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

Result No attestation
Ecosystem oci
Reason No attestation published
MCP tools · 22 exposed · ~1,921 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.

Tool Tokens
mailprotector_allow_block_rules_create ~139

⚠ HIGH-IMPACT. Creates an allow or block rule at a scope — changes mail filtering for every mailbox under that scope. Confirm with the user before invoking.

NameTypeReqDescription
rule_typestringyesRule type.
scopestringyesEntity scope for this operation (reseller | customer | domain | user_group | user).
scope_idnumberId of the entity at the chosen scope. Optional when scope is "reseller" — defaults to the reseller bound by the credentials.
valuestringyesAddress, domain, or IP the rule matches (e.g. "spam.example.com").

No output schema declared.

No examples provided.

mailprotector_allow_block_rules_delete ~59

⚠ DESTRUCTIVE — IRREVERSIBLE. Permanently deletes an allow/block rule by id. This action cannot be undone. Confirm with the user before invoking.

NameTypeReqDescription
rule_idnumberyesAllow/block rule id.

No output schema declared.

No examples provided.

mailprotector_allow_block_rules_list ~137

List allow/block rules at any scope.

NameTypeReqDescription
filtersobjectArbitrary field filters passed straight to the query string (e.g. {"first_name": "Bob"} or {"name": "example.com"}).
pagenumber1-based page number. Message lists cap at 50 results per page.
scopestringyesEntity scope for this operation (reseller | customer | domain | user_group | user).
scope_idnumberId of the entity at the chosen scope. Optional when scope is "reseller" — defaults to the reseller bound by the credentials.

No output schema declared.

No examples provided.

mailprotector_configuration_get ~83

Get the configuration document for a reseller, customer, domain, or user group.

NameTypeReqDescription
scopestringyesEntity scope for this operation (reseller | customer | domain | user_group).
scope_idnumberId of the entity at the chosen scope. Optional when scope is "reseller" — defaults to the reseller bound by the credentials.

No output schema declared.

No examples provided.

mailprotector_customers_create ~70

Create a customer account under a reseller (defaults to the bound reseller).

NameTypeReqDescription
dataobjectAdditional fields to include in the request body.
namestringyesCustomer name.
reseller_idnumberReseller id. Defaults to the reseller bound by the credentials.

No output schema declared.

No examples provided.

mailprotector_customers_get ~29

Get a customer account by id.

NameTypeReqDescription
customer_idnumberyesCustomer id.

No output schema declared.

No examples provided.

mailprotector_customers_list ~103

List customer accounts under a reseller (defaults to the bound reseller).

NameTypeReqDescription
filtersobjectArbitrary field filters passed straight to the query string (e.g. {"first_name": "Bob"} or {"name": "example.com"}).
pagenumber1-based page number. Message lists cap at 50 results per page.
reseller_idnumberReseller id. Defaults to the reseller bound by the credentials.

No output schema declared.

No examples provided.

mailprotector_domains_create ~61

Create a domain under a customer.

NameTypeReqDescription
customer_idnumberyesOwning customer id.
dataobjectAdditional fields to include in the request body.
namestringyesDomain name (e.g. "example.com").

No output schema declared.

No examples provided.

mailprotector_domains_get ~27

Get a domain by id.

NameTypeReqDescription
domain_idnumberyesDomain id.

No output schema declared.

No examples provided.

mailprotector_domains_list ~128

List domains under a reseller or customer.

NameTypeReqDescription
filtersobjectArbitrary field filters passed straight to the query string (e.g. {"first_name": "Bob"} or {"name": "example.com"}).
pagenumber1-based page number. Message lists cap at 50 results per page.
scopestringyesEntity scope for this operation (reseller | customer).
scope_idnumberId of the entity at the chosen scope. Optional when scope is "reseller" — defaults to the reseller bound by the credentials.

No output schema declared.

No examples provided.

mailprotector_execute_tool ~107

Execute a routed Mailprotector operation by category + tool name with the arguments described by mailprotector_list_category_tools. Some routed tools are destructive (marked ⚠ in their descriptions) and are individually confirmation-gated.

NameTypeReqDescription
argsobjectArguments for the routed tool (per its input schema).
categorystringyesCategory name from mailprotector_list_categories.
toolstringyesTool name within the category, from mailprotector_list_category_tools.

No output schema declared.

No examples provided.

mailprotector_list_categories ~56

List the Mailprotector tool categories reachable through mailprotector_execute_tool (resellers, customers, domains, user_groups, users, managers, configuration, statements, email_routing, user_syncs, notifications, results).

Input schema present but exposes no named parameters.

No output schema declared.

No examples provided.

mailprotector_list_category_tools ~57

List the tools in one Mailprotector category: names, descriptions, input schemas, and destructive-action annotations. Use before mailprotector_execute_tool.

NameTypeReqDescription
categorystringyesCategory name from mailprotector_list_categories.

No output schema declared.

No examples provided.

mailprotector_logs_list ~154

List message-log entries at any scope. Result codes in results_data can be explained via the results category (mailprotector_execute_tool).

NameTypeReqDescription
filtersobjectArbitrary field filters passed straight to the query string (e.g. {"first_name": "Bob"} or {"name": "example.com"}).
pagenumber1-based page number. Message lists cap at 50 results per page.
scopestringyesEntity scope for this operation (reseller | customer | domain | user_group | user).
scope_idnumberId of the entity at the chosen scope. Optional when scope is "reseller" — defaults to the reseller bound by the credentials.

No output schema declared.

No examples provided.

mailprotector_messages_list ~153

List quarantined messages at any scope (max 50 per page). Defaults to the bound reseller when scope is "reseller".

NameTypeReqDescription
filtersobjectArbitrary field filters passed straight to the query string (e.g. {"first_name": "Bob"} or {"name": "example.com"}).
pagenumber1-based page number. Message lists cap at 50 results per page.
scopestringyesEntity scope for this operation (reseller | customer | domain | user_group | user).
scope_idnumberId of the entity at the chosen scope. Optional when scope is "reseller" — defaults to the reseller bound by the credentials.

No output schema declared.

No examples provided.

mailprotector_messages_release ~82

⚠ HIGH-IMPACT. Releases (delivers) a single quarantined message to its recipients. Confirm with the user before invoking.

NameTypeReqDescription
include_original_recipientsbooleanAlso deliver to the original recipients.
message_idnumberyesQuarantined message id.
recipientsstringComma-separated additional recipient addresses.

No output schema declared.

No examples provided.

mailprotector_messages_release_many ~146

⚠ HIGH-IMPACT. Releases (delivers) several quarantined messages at a scope in one call. Confirm with the user before invoking.

NameTypeReqDescription
idsarrayyesIds of the quarantined messages to release.
include_original_recipientsbooleanAlso deliver to the original recipients.
recipientsstringComma-separated additional recipient addresses.
scopestringyesEntity scope for this operation (reseller | customer | domain | user_group | user).
scope_idnumberId of the entity at the chosen scope. Optional when scope is "reseller" — defaults to the reseller bound by the credentials.

No output schema declared.

No examples provided.

mailprotector_status ~34

Verify Mailprotector credentials and report connection info for the bound reseller (GET /resellers/{resellerId}).

Input schema present but exposes no named parameters.

No output schema declared.

No examples provided.

mailprotector_user_groups_list ~91

List user groups (service containers) within a domain.

NameTypeReqDescription
domain_idnumberyesDomain id.
filtersobjectArbitrary field filters passed straight to the query string (e.g. {"first_name": "Bob"} or {"name": "example.com"}).
pagenumber1-based page number. Message lists cap at 50 results per page.

No output schema declared.

No examples provided.

mailprotector_users_find_by_address ~37

Look up a mail user by any of their email addresses.

NameTypeReqDescription
addressstringyesEmail address to look up.

No output schema declared.

No examples provided.

mailprotector_users_get ~28

Get a mail user by id.

NameTypeReqDescription
user_idnumberyesUser id.

No output schema declared.

No examples provided.

mailprotector_users_list ~140

List mail users under a reseller, customer, domain, or user group.

NameTypeReqDescription
filtersobjectArbitrary field filters passed straight to the query string (e.g. {"first_name": "Bob"} or {"name": "example.com"}).
pagenumber1-based page number. Message lists cap at 50 results per page.
scopestringyesEntity scope for this operation (reseller | customer | domain | user_group).
scope_idnumberId of the entity at the chosen scope. Optional when scope is "reseller" — defaults to the reseller bound by the credentials.

No output schema declared.

No examples provided.