
Mailprotector
io.github.wyre-technology由 GitHub 帳號 wyre-technology 發布v1.0.1更新於 Oct 24, 2026
MCP server for Mailprotector — customers, domains, users, quarantine, allow/block rules for MSPs.
概覽
針對 Mailprotector 郵件安全的 MCP 伺服器,讓助理管理 MSP 的客戶、網域、使用者、隔離郵件與允許/封鎖規則。
- 可以做什麼
- 查詢客戶、網域、使用者、使用者群組、郵件、允許/封鎖規則、日誌與設定
- 建立客戶、網域與允許/封鎖規則,並釋放隔離郵件(單封或批次)
- 透過需確認的路由器刪除允許/封鎖規則並執行其他破壞性操作
- 藉由路由器工具探索並執行 52 項長尾操作,涵蓋經銷商、使用者、管理員、郵件路由、使用者同步與通知
- 依經銷商、客戶、網域、使用者群組或使用者限定操作範圍,預設使用綁定的經銷商
- 適用情境
- 適合管理 Mailprotector 郵件安全產品(CloudFilter、Bracket、SafeSend、XtraMail)的託管服務商,希望助理在對話中查詢租戶、處理隔離郵件並調整過濾規則。
- 執行需求
- 以本機 stdio 程序執行,來自 GHCR 容器映像(linux/amd64);僅從原始碼建置時需要 Node.js。需要 MAILPROTECTOR_API_KEY(依管理員角色,從網頁主控台取得)與 MAILPROTECTOR_RESELLER_ID,可選 MAILPROTECTOR_BASE_URL。HTTP 模式另需 CONDUIT_S2S_SECRET,閘道模式另需 X-Mailprotector-Api-Key 與 X-Mailprotector-Reseller-Id 標頭。
安裝
在 SourceWeft 中
- 開啟 儀表板中的 Mailprotector,將其新增到工作區。
- 為需要使用其工具的對話啟用該服務。
Desktop only,透過 STDIO。 STDIO 服務會啟動本機處理程序,因此需要 SourceWeft 桌面主機。
其他 MCP 客戶端
參照 儲存庫 中的啟動說明。
README
mailprotector-mcp
MCP server for Mailprotector — email security management for MSPs (CloudFilter, Bracket, SafeSend, XtraMail): customers, domains, users, quarantine, allow/block rules, logs, configuration, and the full long-tail API via a router.
Built on the MCP 2026-07-28 spec via the split v2 SDK
(@modelcontextprotocol/server / /node / /client ^2.0.0-beta.5) with dual-era
serving: one shared McpServerFactory behind createMcpHandler({ legacy: 'stateless' })
answers both 2025-era initialize-handshake clients (the WYRE gateway today) and modern
2026-07-28 envelope clients — with an identical, deterministic 22-tool surface for every
caller. Ships as a GHCR container only (no MCPB bundle).
Tools (22 first-class + routed long tail)
Router: mailprotector_status, mailprotector_list_categories,
mailprotector_list_category_tools, mailprotector_execute_tool.
Promoted reads: mailprotector_customers_list/get, mailprotector_domains_list/get,
mailprotector_users_list/get/find_by_address, mailprotector_user_groups_list,
mailprotector_messages_list, mailprotector_allow_block_rules_list,
mailprotector_logs_list, mailprotector_configuration_get.
Promoted writes: mailprotector_customers_create, mailprotector_domains_create,
mailprotector_messages_release / release_many (⚠ HIGH-IMPACT),
mailprotector_allow_block_rules_create (⚠ HIGH-IMPACT), and the
⚠ DESTRUCTIVE — IRREVERSIBLE mailprotector_allow_block_rules_delete.
Router categories (52 routed operations via mailprotector_execute_tool):
resellers (CRUD), customers (update/delete), domains
(update/delete/move/aliases), user_groups (CRUD + services), users
(create/create_many/update/delete/reset_password/aliases), managers (CRUD +
notification destinations), configuration (update), statements,
email_routing (destinations/sources for domain|user_group), user_syncs
(CRUD + schedule + filters), notifications (user notification destinations),
results (find_by_code). Every routed delete is ⚠ DESTRUCTIVE and
confirmation-gated; discover schemas with mailprotector_list_category_tools.
Scoped tools
Mailprotector's hierarchy is Provider → Reseller → Customer → Domain → User Group → User,
and many operations exist at several scopes. Scoped tools take scope
(reseller | customer | domain | user_group | user, per-tool subsets) plus scope_id;
scope_id defaults to the bound reseller when scope is "reseller".
Delete confirmations (MRTR elicitation)
Every delete flows through the SDK v2 MRTR seam: the handler returns
input_required, interactive clients see a confirmation prompt, and declining
cancels the delete. Callers that declared no elicitation capability — including
stateless 2025-era callers such as the WYRE Conduit gateway — fall back to
proceeding per the integration contract: elicitation here is purely additive,
and the gateway enforces destructive-tool access with its own server-side
per-tool classification gate.
Credentials
Copy .env.example. The gateway Compose service does not load
MAILPROTECTOR_API_KEY or MAILPROTECTOR_RESELLER_ID.
/health and /healthz stay unauthenticated and do not read credentials. The stdio transport does not use CONDUIT_S2S_SECRET.
In gateway mode a request missing either credential header (or with a non-numeric reseller id) is
answered 401 (JSON-RPC error -32001) before the MCP handler runs — it never falls
through to env credentials.
HTTP authentication
With MCP_TRANSPORT=http and CONDUIT_S2S_SECRET set, every /mcp request must include X-Gateway-S2S. The check is verifyS2sHeader in src/s2s-verify.ts: the header value is t=<unix seconds>,v1=<hex>, where the hex is HMAC-SHA256 of the literal string t=<unix seconds> keyed with CONDUIT_S2S_SECRET (64 lowercase hex characters). The timestamp must be within 300 seconds of the server clock. A missing or invalid header is HTTP 401, before vendor credentials are read.
In AUTH_MODE=gateway, /mcp also requires X-Mailprotector-Api-Key and X-Mailprotector-Reseller-Id. Those headers are the only credential source for that request. AUTH_MODE=env still requires the signed X-Gateway-S2S header, then uses MAILPROTECTOR_API_KEY and MAILPROTECTOR_RESELLER_ID from the environment.
Running
Docker (linux/amd64 per fleet law). The image listens on 0.0.0.0 inside the container (MCP_HTTP_HOST) and defaults to AUTH_MODE=gateway. Publish the port on loopback and pass a real S2S secret. In gateway mode, Mailprotector credentials arrive on each request as headers; they are not read from the environment.
Compose refuses to start when CONDUIT_S2S_SECRET is unset. The gateway service sets AUTH_MODE=gateway, does not inject MAILPROTECTOR_API_KEY or MAILPROTECTOR_RESELLER_ID, and publishes 127.0.0.1:8080:8080:
Single-tenant HTTP (AUTH_MODE=env) still requires the S2S secret, then uses MAILPROTECTOR_API_KEY and MAILPROTECTOR_RESELLER_ID. It is separate from the gateway Compose service above.
Wire notes (expected dual-era behavior)
- Legacy-era POST responses are SSE-framed (
text/event-stream) — parse the lastdata:line. - Legacy GET/DELETE session operations answer 405: stateless serving has no sessions.
License
Apache-2.0
來源:README.md,提交 e75b4db
工具
0版本歷史
1- v1.0.1最新Sep 16, 2026
評分
已滿足適用檢查項的 50%
該評分衡量此收錄條目的完整程度,依據註冊中心條目、端點與公開來源計算得出。它不是對伺服器本身的評價,也不表示伺服器安全或目前可用:可連通性是帶日期的檢查結果,評分也不包含安裝量或使用者評價。
- 近 30 天內可連通25 分
請保持端點能夠回應 MCP 握手;SourceWeft 每 30 天探測一次。
- 已宣告認證方式10 分
請在註冊中心條目中宣告憑證請求標頭,或保持端點能夠回應探測,以便判定其認證方式。
- 已列出工具15 分
請讓伺服器在無憑證時回應 tools/list,或發布可在沙箱中無憑證啟動的軟體包。
- 描述必需15 分
- 圖示10 分
- 文件15 分
- 授權條款10 分