原型 · 预览版:收录官方注册中心里的全部服务器,每 30 分钟同步一次。评价和账户功能将在后续阶段推出。
PopNx MCP为使用 AI 的人准备的 MCP 服务器 · 用大白话讲清楚

Proofpoint Essentials

作者:WYRE-AI版本 1.0.3i★ –i在你的电脑上运行
注册名称io.github.WYRE-AI/proofpoint-essentials-mcp

安装

概览

作者提供的说明(英文原文)

MCP server for Proofpoint Essentials -- MSP org, domain, user, licensing, and reporting management.

PopNx MCP 的三大支柱

这三项永远不会合并成一个分数:意见、测量和人气是不同的东西。

它能帮你做什么

我们还没有为它写通俗的介绍。下面是我们从注册中心读取到的事实。

  • 连接方式: 在你的电脑上运行
  • 传输方式: stdio
  • 分类: 其他
  • 你需要填写:PROOFPOINT_ESSENTIALS_USERNAME, PROOFPOINT_ESSENTIALS_PASSWORD

安装

选择你使用的 AI 应用,然后复制设置。

安装之前

  • 基础检查:1 项中通过 1 项
  • 在你的电脑上运行,拥有你的用户账户的权限(文件、网络、应用)。
  • 需要你自己填写: PROOFPOINT_ESSENTIALS_USERNAME, PROOFPOINT_ESSENTIALS_PASSWORD, PROOFPOINT_ESSENTIALS_REGION, MCP_TRANSPORT, AUTH_MODE, LOG_LEVEL

标为机密的值是你账户的钥匙。千万不要分享给别人,也不要粘贴到聊天里。

你需要

你用的是哪个应用?

在上方选择你的应用。我们会记住它,下次按钮会显示“安装到 …”。

打开 Claude Desktop → Settings → Developer → Edit Config,把下面的内容粘贴到 claude_desktop_config.json

{
  "mcpServers": {
    "proofpoint-essentials": {
      "command": "docker",
      "args": [
        "run",
        "-i",
        "--rm",
        "-e",
        "PROOFPOINT_ESSENTIALS_USERNAME",
        "-e",
        "PROOFPOINT_ESSENTIALS_PASSWORD",
        "-e",
        "PROOFPOINT_ESSENTIALS_REGION",
        "-e",
        "MCP_TRANSPORT",
        "-e",
        "AUTH_MODE",
        "-e",
        "LOG_LEVEL",
        "ghcr.io/wyre-ai/proofpoint-essentials-mcp:v1.0.3"
      ],
      "env": {
        "PROOFPOINT_ESSENTIALS_USERNAME": "your-value",
        "PROOFPOINT_ESSENTIALS_PASSWORD": "your-value",
        "PROOFPOINT_ESSENTIALS_REGION": "your-value",
        "MCP_TRANSPORT": "your-value",
        "AUTH_MODE": "your-value",
        "LOG_LEVEL": "your-value"
      }
    }
  }
}

在终端中运行这条命令

claude mcp add proofpoint-essentials --env PROOFPOINT_ESSENTIALS_USERNAME=your-value --env PROOFPOINT_ESSENTIALS_PASSWORD=your-value --env PROOFPOINT_ESSENTIALS_REGION=your-value --env MCP_TRANSPORT=your-value --env AUTH_MODE=your-value --env LOG_LEVEL=your-value -- docker run -i --rm -e PROOFPOINT_ESSENTIALS_USERNAME -e PROOFPOINT_ESSENTIALS_PASSWORD -e PROOFPOINT_ESSENTIALS_REGION -e MCP_TRANSPORT -e AUTH_MODE -e LOG_LEVEL ghcr.io/wyre-ai/proofpoint-essentials-mcp:v1.0.3

运行前请先填写空着的值。

在 Cursor 中打开

或者自己复制设置

粘贴到项目中的 .cursor/mcp.json,或 ~/.cursor/mcp.json

{
  "mcpServers": {
    "proofpoint-essentials": {
      "command": "docker",
      "args": [
        "run",
        "-i",
        "--rm",
        "-e",
        "PROOFPOINT_ESSENTIALS_USERNAME",
        "-e",
        "PROOFPOINT_ESSENTIALS_PASSWORD",
        "-e",
        "PROOFPOINT_ESSENTIALS_REGION",
        "-e",
        "MCP_TRANSPORT",
        "-e",
        "AUTH_MODE",
        "-e",
        "LOG_LEVEL",
        "ghcr.io/wyre-ai/proofpoint-essentials-mcp:v1.0.3"
      ],
      "env": {
        "PROOFPOINT_ESSENTIALS_USERNAME": "your-value",
        "PROOFPOINT_ESSENTIALS_PASSWORD": "your-value",
        "PROOFPOINT_ESSENTIALS_REGION": "your-value",
        "MCP_TRANSPORT": "your-value",
        "AUTH_MODE": "your-value",
        "LOG_LEVEL": "your-value"
      }
    }
  }
}

浏览器会先询问是否打开应用,然后应用会显示设置并请你确认。密钥的值会留空,由你自己填写。

在 VS Code 中打开

或者自己复制设置

粘贴到项目中的 .vscode/mcp.json

{
  "servers": {
    "proofpoint-essentials": {
      "type": "stdio",
      "command": "docker",
      "args": [
        "run",
        "-i",
        "--rm",
        "-e",
        "PROOFPOINT_ESSENTIALS_USERNAME",
        "-e",
        "PROOFPOINT_ESSENTIALS_PASSWORD",
        "-e",
        "PROOFPOINT_ESSENTIALS_REGION",
        "-e",
        "MCP_TRANSPORT",
        "-e",
        "AUTH_MODE",
        "-e",
        "LOG_LEVEL",
        "ghcr.io/wyre-ai/proofpoint-essentials-mcp:v1.0.3"
      ],
      "env": {
        "PROOFPOINT_ESSENTIALS_USERNAME": "your-value",
        "PROOFPOINT_ESSENTIALS_PASSWORD": "your-value",
        "PROOFPOINT_ESSENTIALS_REGION": "your-value",
        "MCP_TRANSPORT": "your-value",
        "AUTH_MODE": "your-value",
        "LOG_LEVEL": "your-value"
      }
    }
  }
}

浏览器会先询问是否打开应用,然后应用会显示设置并请你确认。密钥的值会留空,由你自己填写。

这个服务器在你的电脑上运行,而 ChatGPT 只能连接互联网上的服务器。请选择其他应用。

你的选择通过 Cookie 保存在这台设备上,无需账户。

需要你填写的值

  • PROOFPOINT_ESSENTIALS_USERNAME 必填 env
    Proofpoint Essentials org-administrator username (used for the X-User header)
  • PROOFPOINT_ESSENTIALS_PASSWORD 机密 必填 env
    Proofpoint Essentials org-administrator password (used for the X-Password header)
  • PROOFPOINT_ESSENTIALS_REGION env
    Region subdomain, e.g. 'us1' or 'eu1'. Defaults to 'us1'.
  • MCP_TRANSPORT env
    Transport mode. Set to 'stdio' for local CLI use; the image defaults to 'http' for gateway hosting.
  • AUTH_MODE env
    Credential source: 'env' reads vars locally, 'gateway' expects header injection from the WYRE MCP Gateway.
  • LOG_LEVEL env
    Log verbosity: debug, info, warn, error

这些设置是根据作者在注册中心的条目生成的。如果 README 的写法不同,请以 README 为准。

它能做什么

它在你的电脑上运行;安装后,工具列表会显示在你的 AI 应用中。

基础检查i

我们检查的是任何人都能看到的信息;我们没有阅读代码。不适用的检查项不计入总数。 · 检查于 2026年11月7日

  • ✓ 通过

    作者与仓库一致

    注册名称已通过 GitHub 账户 WYRE-AI 验证,该账户拥有此仓库

  • … 尚未检查

    仍在维护

    我们还没有从 GitHub 读取这个仓库

  • … 尚未检查

    有许可证

    我们还没有从 GitHub 读取这个仓库

  • – 不适用

    端点有响应

    它在你的电脑上运行,没有互联网端点

  • – 不适用

    使用 OAuth 登录

    在你的电脑上运行,改用本地设置

  • … 尚未检查

    工具描述中没有隐藏指令

    它在你的电脑上运行;我们只能读取互联网端点的工具列表

与“其他”中的其他服务器比较i

  • 星标数多于此分类中其他 32715 个服务器的 0%
  • 发布到注册中心的时间比此分类中其他 32715 个服务器的 72% 更新
  • 基础检查结果等于或优于此分类中其他 32715 个服务器的 100%

与注册中心里这个分类中所有活跃的服务器比较。只有当发布者拥有该仓库时,星标数才计入。

常见问题

Proofpoint Essentials 安全吗?

它在 1 项适用的基础检查中通过了 1 项。我们没有阅读代码。在添加密钥或令牌之前,请先看看这个服务器要求哪些权限,并使用只具备所需权限的密钥。

它需要哪些密钥或代码?

你需要填写:PROOFPOINT_ESSENTIALS_USERNAME, PROOFPOINT_ESSENTIALS_PASSWORD

它在我的电脑上运行还是在云端?

它在你的电脑上运行。你的 AI 应用会在需要时启动它,数据不会经过作者的服务器(除非它自己调用在线服务)。

它还在维护吗?

GitHub 仓库最后更新于–,最新版本(1.0.3)于14天前进入注册中心。

哪些应用可以使用它?

支持 MCP 的应用,例如 Claude Desktop、Claude Code、Cursor 和 VS Code。你的电脑上还需要有 Docker。

有什么可以替代它?

同一分类中有:Spec Driven Development, Remote Desktop Commander, First Sale Scout

替代选择

同一分类中其他作者的服务器,按星标数排序。

如何看卡片:★ GitHub 星标i三大支柱:评价 · 检查 · 使用情况i更新 = 最新版本发布到注册中心的时间i

Spec Driven Development

作者:formulahendry

MCP Server that facilitates spec-driven development workflows, not just Vibe Coding.

在你的电脑上运行★ 440MIT14个月前更新
安装

Remote Desktop Commander

作者:desktop-commander

Remote Desktop Commander: use files, terminal and processes on your own computers from any AI app.

在云端运行★ 211前天更新
安装

First Sale Scout

作者:firstsale.pro

Playbooks and a 14-day checklist for founders winning their first paying customers.

在云端运行今天更新
安装

作者的 README

打开 README

按原文从作者的仓库复制。PopNx MCP 没有审查或背书其内容。HTML、图片和脚本已被移除。链接会离开本站。

Proofpoint Essentials MCP Server

A Model Context Protocol (MCP) server for the Proofpoint Essentials API. Enables AI assistants to manage MSP-multi-tenant email security: organizations, domains, users, licensing, features, subscription packages, and email flow reporting.

This is a distinct product/API from Proofpoint TAP (see proofpoint-mcp for TAP threat intelligence, quarantine, and URL defense) — Essentials is Proofpoint's SMB/MSP email-security product, with its own base URL, auth model, and org-management surface.

Part of the [WYRE AI](https://github.com/WYRE-AI) MCP fleet — a growing suite of AI

integrations for the MSP stack.

Installation

npm install @wyre-ai/proofpoint-essentials-mcp

Configuration

Copy .env.example and set the variables below.

VariableRequiredDescription
PROOFPOINT_ESSENTIALS_USERNAMEFor stdio and AUTH_MODE=envOrg-administrator username (sent as the X-User header)
PROOFPOINT_ESSENTIALS_PASSWORDFor stdio and AUTH_MODE=envOrg-administrator password (sent as the X-Password header)
PROOFPOINT_ESSENTIALS_REGIONNoRegion subdomain, e.g. us1 or eu1 (default: us1)
MCP_TRANSPORTNostdio (default) or http
AUTH_MODENogateway (Docker image and Compose default) or env. Gateway mode requires X-Proofpoint-Essentials-Username and X-Proofpoint-Essentials-Password on each /mcp request (X-Proofpoint-Essentials-Region is optional) and never falls back to PROOFPOINT_ESSENTIALS_*. env uses those variables only after S2S auth succeeds.
CONDUIT_S2S_SECRETYes for HTTPService-to-service secret. The HTTP server logs an error and exits non-zero when this is empty or a known placeholder (changeme, secret, placeholder, your-s2s-secret, replace-with-a-real-secret, and the same list in src/index.ts). Compose will not start when it is unset. Never commit a real value. The process never logs it.
MCP_ALLOW_INSECURE_DEVNoSet to exactly 1 only for local development to start HTTP without CONDUIT_S2S_SECRET. The process logs a warning, skips X-Gateway-S2S, and listens on 127.0.0.1 only. A wider MCP_HTTP_HOST is overridden. A known placeholder secret is still refused.
MCP_HTTP_HOSTNoBind address when MCP_TRANSPORT=http. Defaults to 127.0.0.1. A configured CONDUIT_S2S_SECRET honors this value, including 0.0.0.0. The container image sets 0.0.0.0. Without a secret, the listener is 127.0.0.1 only.
MCP_HTTP_PORTNoHTTP port. Defaults to 8080.

Only organization-administrator accounts can authenticate against this API; end-user accounts cannot.

/health and /healthz stay unauthenticated and do not read credentials. The stdio transport does not use CONDUIT_S2S_SECRET.

HTTP authentication

With MCP_TRANSPORT=http and CONDUIT_S2S_SECRET set, every /mcp request must include X-Gateway-S2S. A missing or invalid header returns 401 before any vendor credential is read.

The header is an HMAC proof, not a copy of the secret:

t=<unix seconds>,v1=<hex hmac-sha256>

is HMAC-SHA256 of the ASCII string t= (the same t= prefix and the same decimal timestamp), keyed with CONDUIT_S2S_SECRET, encoded as lowercase hex. The timestamp must be within 300 seconds of the server clock.

import { createHmac } from "node:crypto";

const secret = process.env.CONDUIT_S2S_SECRET; const t = Math.floor(Date.now() / 1000); const v1 = createHmac("sha256", secret).update(t=${t}).digest("hex"); const xGatewayS2s = t=${t},v1=${v1};

In AUTH_MODE=gateway, /mcp also requires X-Proofpoint-Essentials-Username and X-Proofpoint-Essentials-Password. Those headers are the only credential source for that request.

await fetch("http://127.0.0.1:8080/mcp", {

method: "POST", headers: { "content-type": "application/json", accept: "application/json, text/event-stream", "x-gateway-s2s": xGatewayS2s, "x-proofpoint-essentials-username": "org-admin@example.com", "x-proofpoint-essentials-password": "org-admin-password", "x-proofpoint-essentials-region": "us1", }, body: JSON.stringify({ jsonrpc: "2.0", id: 1, method: "tools/list" }), });

Usage

Running with Claude Desktop

Add to your Claude Desktop claude_desktop_config.json:

{

"mcpServers": { "proofpoint-essentials-mcp": { "command": "npx", "args": ["@wyre-ai/proofpoint-essentials-mcp"], "env": { "PROOFPOINT_ESSENTIALS_USERNAME": "your-username", "PROOFPOINT_ESSENTIALS_PASSWORD": "your-password" } } } }

Running with Claude Code (CLI)
claude mcp add proofpoint-essentials-mcp \

-e PROOFPOINT_ESSENTIALS_USERNAME=your-value \ -e PROOFPOINT_ESSENTIALS_PASSWORD=your-value \ -- npx -y @wyre-ai/proofpoint-essentials-mcp

Docker

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 the S2S secret. In gateway mode, Proofpoint Essentials credentials arrive on each request as X-Proofpoint-Essentials-* headers; the image does not read them from the environment.

docker build --platform linux/amd64 --build-arg GITHUB_TOKEN=$(gh auth token) -t proofpoint-essentials-mcp .

docker run \ -e CONDUIT_S2S_SECRET="$CONDUIT_S2S_SECRET" \ -p 127.0.0.1:8080:8080 \ proofpoint-essentials-mcp

Compose refuses to start when CONDUIT_S2S_SECRET is unset, sets AUTH_MODE=gateway, publishes 127.0.0.1:8080:8080, and passes no PROOFPOINT_ESSENTIALS_* variables:

CONDUIT_S2S_SECRET="$CONDUIT_S2S_SECRET" docker compose up

Single-tenant HTTP (AUTH_MODE=env) still requires the S2S secret, then uses PROOFPOINT_ESSENTIALS_USERNAME and PROOFPOINT_ESSENTIALS_PASSWORD:

docker run \

-e CONDUIT_S2S_SECRET="$CONDUIT_S2S_SECRET" \ -e AUTH_MODE=env \ -e PROOFPOINT_ESSENTIALS_USERNAME=your-value \ -e PROOFPOINT_ESSENTIALS_PASSWORD=your-value \ -e PROOFPOINT_ESSENTIALS_REGION=us1 \ -p 127.0.0.1:8080:8080 \ proofpoint-essentials-mcp

Local HTTP without a secret is development-only. It binds 127.0.0.1 and logs a warning. A non-loopback MCP_HTTP_HOST is overridden to 127.0.0.1:

MCP_TRANSPORT=http MCP_ALLOW_INSECURE_DEV=1 npm start

Available Tools

Proofpoint Essentials is an MSP multi-tenant API — every org/domain/user-scoped tool takes the target customer organization's domain as a per-call argument (credentials are not scoped to a single org).

Organizations
  • proofpoint_essentials_org_get — get org data and its domains
  • proofpoint_essentials_org_set_active — activate/deactivate an org ⚠ high-impact
  • proofpoint_essentials_org_delete — delete an org ⚠ destructive, irreversible
Domains
  • proofpoint_essentials_domains_list
  • proofpoint_essentials_domains_create — params: orgDomain, non-empty domains: string[]. Each name is sent as a Domain object {name}; returns { summary: { requested, returned, succeeded, failed, unconfirmed }, results } with raw per-item results only when every returned item succeeded and none are unconfirmed, including missing items. Requested is the submitted count (raised to returned only on over-return); missing response items count as unconfirmed. Any failed item sets isError. Any failure or unconfirmed item makes results a cleaned per-item list { index, outcome, status, code, message } with other fields omitted; succeeded items are created and must not be retried.
  • proofpoint_essentials_domains_update ⚠ high-impact
  • proofpoint_essentials_domains_delete ⚠ destructive, irreversible
Users
  • proofpoint_essentials_users_list
  • proofpoint_essentials_users_get
  • proofpoint_essentials_users_create — params: orgDomain, non-empty users[] with required primary_email and optional firstname, surname, type, is_active, send_welcome_email, alias_emails. Users are sent to Proofpoint as a bare array of User objects; returns { summary: { requested, returned, succeeded, failed, unconfirmed }, results } with raw per-item results only when every returned item succeeded and none are unconfirmed, including missing items. Requested is the submitted count (raised to returned only on over-return); missing response items count as unconfirmed. Any failed item sets isError. Any failure or unconfirmed item makes results a cleaned per-item list { index, outcome, status, code, message } with other fields omitted; succeeded items are created and must not be retried. Response-only fields (uid, password, creation_date, last_update, last_login) are ignored on create.
  • proofpoint_essentials_users_update ⚠ high-impact
  • proofpoint_essentials_users_delete ⚠ destructive, irreversible

The create serialization and result normalization fix requires @wyre-ai/node-proofpoint-essentials >= 1.0.2, which this package depends on.

Endpoint discovery
  • proofpoint_essentials_endpoint_discover — resolve which region hosts a customer domain
Features / Licensing / Package
  • proofpoint_essentials_features_get / proofpoint_essentials_features_update ⚠ high-impact
  • proofpoint_essentials_licensing_get / proofpoint_essentials_licensing_update ⚠ high-impact
  • proofpoint_essentials_package_update ⚠ high-impact
Reporting
  • proofpoint_essentials_reporting_get — inbound/outbound email flow metrics
Token
  • proofpoint_essentials_token_create — mint an Odin-based SSO token

Destructive tools require explicit confirmation. Interactive MCP clients are prompted via elicitation; non-interactive callers (e.g. the WYRE gateway) must pass confirm_destructive_action: true and are otherwise blocked.

Development

git clone https://github.com/WYRE-AI/proofpoint-essentials-mcp.git

cd proofpoint-essentials-mcp npm install npm run build npm test npm run smoke # requires a prior npm run build

Contributing

Contributions are welcome! Please see CONTRIBUTING.md, or open an issue to discuss changes.

Error redaction

Error text and cleaned batch-result messages redact email addresses, including supported encoded @ forms (%40, %2540, @, @, &commat;, literal \u0040, and full-width @), spaced @ forms, and quoted local parts. Domain-tool errors and cleaned domain-create messages also redact bare hostnames. Vendor error bodies are reduced to statusCode and scalar code metadata; other vendor fields are omitted. Each error text or cleaned per-item message is capped at 300 Unicode code points after redaction (the aggregate batch JSON is not capped). Confirmed all-success results retain raw data; this is targeted redaction, not general PII removal.

License

Licensed under the Apache License, Version 2.0. See LICENSE for details.

问 PopNx