Mimecast

io.github.wyre-technologyPublished by GitHub account wyre-technologyv1.3.5Updated Oct 24, 2026

MCP server for Mimecast email security: message queue, held messages, domains, and threats.

Overview

AI-generated overview

Lets an assistant query Mimecast email security data: track messages, inspect held mail, check queues, and review threat and audit logs.

What you can do
Connects an MCP-compatible assistant to a Mimecast tenant through the Mimecast API 2.0. Tools cover message tracking and lookup, held-message hold and release, email queue status, threat incidents, TTP logs for URL, attachment and impersonation protection, and audit events. Message info can render as a read-only interactive card in MCP Apps hosts. Audit queries default to the last 7 days when no window is given.
When to use it
Useful for administrators and managed service providers who want an assistant to investigate mail flow, trace a specific message, check queue backlogs, or pull threat and audit data from Mimecast without switching to the console. Worth adding when Mimecast is already part of the mail security stack and read-heavy investigation is the main need.
Requirements
Runs as a local process (npm package or container image) over stdio, or as an HTTP server. Needs a Mimecast API 2.0 application with a custom administrator role; the client ID and client secret go in MIMECAST_CLIENT_ID and MIMECAST_CLIENT_SECRET, with MIMECAST_REGION for the tenant grid. HTTP mode additionally requires CONDUIT_S2S_SECRET and an X-Gateway-S2S header; gateway auth mode takes credentials from X-Mimecast-Client-ID and X-Mimecast-Client-Secret headers. Node.js is needed for the npm…
Before you install
MIMECAST_CLIENT_SECRET and CONDUIT_S2S_SECRET are secrets and should never be committed. Hold and release tools change mail handling, so grant only the permissions each tool needs; the README notes Threat Remediation and Held Edit must be added explicitly. Gateway mode passes Mimecast credentials per request as headers. MCP_ALLOW_INSECURE_DEV disables the S2S check and is for loopback development only.

Installation

In SourceWeft

  1. Open Mimecast in the dashboard and add it to a workspace.
  2. Enable the server for the chats that should use its tools.

Desktop only via STDIO. STDIO servers start a local process, so they need the SourceWeft desktop host.

Other MCP clients

Follow the launch instructions in the repository.

README

Mimecast MCP Server

[License] [Node.js]

A Model Context Protocol (MCP) server for Mimecast email security. Enables AI assistants to track messages, investigate threats, manage email queues, and access threat intelligence data.

This is a Model Context Protocol (MCP) server that connects Claude (or any MCP-compatible AI) to your Mimecast environment.

Part of the MSP Claude Plugins ecosystem — a growing suite of AI integrations for the MSP stack. Built by MSPs, for MSPs.

Installation

bash
npm install @wyre-ai/mimecast-mcp

Configuration

Copy .env.example and set the variables below.

VariableRequiredDescription
MIMECAST_CLIENT_IDFor stdio and AUTH_MODE=envMimecast API 2.0 client ID
MIMECAST_CLIENT_SECRETFor stdio and AUTH_MODE=envMimecast API 2.0 client secret
MIMECAST_REGIONNoTenant grid label: us (default), eu, de, au, za, ca, offshore, or je. API 2.0 client-credentials calls all use https://api.services.mimecast.com. Regional hosts such as eu-api.mimecast.com are API 1.0 only and do not accept this server's OAuth flow.
MCP_TRANSPORTNostdio (default) or http
AUTH_MODENogateway (Docker image and Compose default) or env. Gateway mode requires X-Mimecast-Client-ID and X-Mimecast-Client-Secret on each /mcp request and never falls back to MIMECAST_*. 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. Compose will not start without it. Never commit a real value.
MCP_ALLOW_INSECURE_DEVNoSet to 1 only for local development to start HTTP without CONDUIT_S2S_SECRET. The process logs a warning and does not enforce X-Gateway-S2S. Startup is refused unless MCP_HTTP_HOST is loopback (127.0.0.1, localhost, or ::1).
MCP_HTTP_HOSTNoBind address when MCP_TRANSPORT=http. Defaults to 127.0.0.1. The container image sets 0.0.0.0.
MCP_HTTP_PORTNoHTTP port. Defaults to 8080.

/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 (t=<unix seconds>,v1=<hex hmac-sha256 of t=...>). A missing or invalid header returns 401.

In AUTH_MODE=gateway, /mcp also requires X-Mimecast-Client-ID and X-Mimecast-Client-Secret (X-Mimecast-Region is optional). Those headers are the only credential source for that request.

Usage

Running with Claude Desktop

Add to your Claude Desktop claude_desktop_config.json:

json
{  "mcpServers": {    "mimecast-mcp": {      "command": "npx",      "args": ["@wyre-ai/mimecast-mcp"],      "env": {        "MIMECAST_CLIENT_ID": "your-mimecast-client-id",        "MIMECAST_CLIENT_SECRET": "your-mimecast-client-secret",        "MIMECAST_REGION": "us"      }    }  }}

Running with Claude Code (CLI)

bash
claude mcp add mimecast-mcp \  -e MIMECAST_CLIENT_ID=your-value \  -e MIMECAST_CLIENT_SECRET=your-value \  -e MIMECAST_REGION=your-value \  -- npx -y @wyre-ai/mimecast-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, Mimecast credentials arrive on each request as headers; they are not read from the environment.

bash
docker build -t mimecast-mcp .docker run \  -e CONDUIT_S2S_SECRET=your-s2s-secret \  -p 127.0.0.1:8080:8080 \  mimecast-mcp

Compose refuses to start when CONDUIT_S2S_SECRET is unset, defaults AUTH_MODE to gateway, and publishes 127.0.0.1:8080:8080:

bash
CONDUIT_S2S_SECRET=your-s2s-secret docker compose up

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

bash
docker run \  -e CONDUIT_S2S_SECRET=your-s2s-secret \  -e AUTH_MODE=env \  -e MIMECAST_CLIENT_ID=your-value \  -e MIMECAST_CLIENT_SECRET=your-value \  -e MIMECAST_REGION=us \  -p 127.0.0.1:8080:8080 \  mimecast-mcp

Local HTTP without a secret is development-only. It binds loopback (127.0.0.1 unless MCP_HTTP_HOST is localhost or ::1) and logs a warning. A non-loopback MCP_HTTP_HOST makes startup exit:

bash
MCP_TRANSPORT=http MCP_ALLOW_INSECURE_DEV=1 npm run start:http

API application permissions

Create an API 2.0 application in the Mimecast Administration Console (Services → API and Platform Integrations) and assign it a custom administrator role. The client id and client secret from that application are MIMECAST_CLIENT_ID and MIMECAST_CLIENT_SECRET. API 1.0 applications (application id, application key, access key, and secret key with HMAC signing) are not accepted.

Grant only the permissions each tool calls. A permissions error from mimecast_get_queue_status or mimecast_get_threat_incidents means the role is missing the row below. An empty list from audit or TTP logs means the call was authorized and nothing matched the window.

ToolPermission on the application role
mimecast_find_message, mimecast_get_message_infoGateway | Tracking | Read
mimecast_hold_message, mimecast_release_messageAccount | Monitoring | Held | Edit
mimecast_get_queue_statusAccount | Dashboard | Read
mimecast_get_threat_incidentsServices | Threat Remediation | Read
mimecast_get_ttp_logs (type=url)Monitoring | URL Protection | Read
mimecast_get_ttp_logs (type=attachment)Monitoring | Attachment Protection | Read
mimecast_get_ttp_logs (type=impersonation)Monitoring | Impersonation Protection | Read
mimecast_get_audit_eventsAccount | Logs | Read

mimecast_get_audit_events also requires a start and end. When the caller omits them, the server queries the last 7 days. Mimecast only keeps 60 days of audit history, and category filters must be codes such as account_logs or policy_logs (omit categories to search every log). Basic Administrator includes the read permissions in Mimecast's own integration guides; Threat Remediation and Held Edit are separate and must be added explicitly.

Available Domains

Messages

Message tracking and investigation

Queue

Email queue management

Threats

Threat intelligence and detection data

Interactive Message Card (MCP Apps)

mimecast_get_message_info renders as an interactive, read-only card in MCP Apps hosts (Claude Desktop/web) showing delivery status, sender/recipients, spam score, and rejection details; plain-JSON behavior is unchanged in other hosts. The card is neutral by default, brandable via window.__BRAND__ injection or MCP_BRAND_* env vars (MCP_BRAND_NAME, MCP_BRAND_LOGO_URL, MCP_BRAND_PRIMARY_COLOR, MCP_BRAND_ACCENT_COLOR, MCP_BRAND_BG, MCP_BRAND_TEXT) — no rebuild needed.

Development

bash
# Clone the repositorygit clone https://github.com/WYRE-AI/mimecast-mcp.gitcd mimecast-mcp
# Install dependenciesnpm install
# Buildnpm run build
# Run testsnpm test

Contributing

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

License

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

Source: README.md at commit f66fb71

Tools

0
SourceWeft has not started this package in its sandbox yet, so its tools are not known.

Version history

1
  1. v1.3.5LatestSep 16, 2026

Score

50% of the applicable checks met

How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.

  • Reached in the last 30 days25 pts

    Keep the endpoint answering the MCP handshake; SourceWeft probes it every 30 days.

  • Auth declared10 pts

    Declare the credential headers in the registry entry, or keep the endpoint answering the probe so its auth can be classified.

  • Tools listed15 pts

    Answer tools/list without a credential, or ship a package that starts in a sandbox without one.

  • DescriptionRequired15 pts
  • Logo10 pts
  • Documentation15 pts
  • License10 pts