About Mimecast
Mimecast is an MCP server for AI assistants working with Mimecast email security. It provides message tracking, queue operations, threat investigation, and a read-only message detail card.
Key features
- 01Track and look up messages
- 02Hold or release messages
- 03Check email queue status
- 04Query threat incidents and TTP logs
- 05Search audit events
- 06Render a read-only message detail card
Use cases
- 01Investigate delivery status and rejection details
- 02Handle held messages
- 03Review threat incidents and protection logs
- 04Inspect audit records
MCP support
The MCP server connects to the Mimecast API 2.0 and exposes message tracking, queue management, threat investigation, and audit tools to compatible clients. It supports stdio and HTTP transports.
Configuration
Local server config is the same for every client. Copy it into your client’s MCP config file.
docker run -i --rm -e MIMECAST_CLIENT_ID -e MIMECAST_CLIENT_SECRET -e MIMECAST_REGION -e MCP_TRANSPORT -e AUTH_MODE -e LOG_LEVEL ghcr.io/wyre-technology/mimecast-mcp:v1.3.5MIMECAST_CLIENT_IDMimecast API 2.0 client IDMIMECAST_CLIENT_SECRETSecretMimecast API 2.0 client secretMIMECAST_REGIONMimecast region: 'us' (default), 'eu', 'de', 'au', 'za', 'ca', 'usb', 'usbe', or 'gb'MCP_TRANSPORTTransport mode for the server. Set to 'stdio' for local CLI use; the image defaults to 'http' for gateway hosting.AUTH_MODESecretCredential source: 'env' reads vars locally, 'gateway' expects header injection from the WYRE MCP Gateway.LOG_LEVELLog verbosity: debug, info, warn, errorLocal servers need a runtime on your machine (e.g. Node.js 18+). Config file locations differ by client; see your client’s docs.
ghcr.io/wyre-technology/mimecast-mcp:v1.3.5stdioTools
Local servers expose tools only once running on your machine, and the maintainer has not provided a tool list.
Details
From the project READMEMimecast MCP Server
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
npm install @wyre-ai/mimecast-mcp
Configuration
Copy .env.example and set the variables below.
| Variable | Required | Description |
|---|---|---|
MIMECAST_CLIENT_ID | For stdio and AUTH_MODE=env | Mimecast API 2.0 client ID |
MIMECAST_CLIENT_SECRET | For stdio and AUTH_MODE=env | Mimecast API 2.0 client secret |
MIMECAST_REGION | No | Tenant 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_TRANSPORT | No | stdio (default) or http |
AUTH_MODE | No | gateway (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_SECRET | Yes for HTTP | Service-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_DEV | No | Set 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_HOST | No | Bind address when MCP_TRANSPORT=http. Defaults to 127.0.0.1. The container image sets 0.0.0.0. |
MCP_HTTP_PORT | No | HTTP 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:
{
"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)
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.
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:
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:
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:
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.
| Tool | Permission on the application role |
|---|---|
mimecast_find_message, mimecast_get_message_info | Gateway | Tracking | Read |
mimecast_hold_message, mimecast_release_message | Account | Monitoring | Held | Edit |
mimecast_get_queue_status | Account | Dashboard | Read |
mimecast_get_threat_incidents | Services | 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_events | Account | 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
# Clone the repository
git clone https://github.com/WYRE-AI/mimecast-mcp.git
cd mimecast-mcp
# Install dependencies
npm install
# Build
npm run build
# Run tests
npm 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.
Comments
New to MCP?
From what the protocol is to installing your first server, these answers cover most first questions.
An open protocol that defines how AI applications connect to external tools and data in a uniform way. Clients talk to the model; MCP servers provide tools, resources and prompt templates. They exchange standard messages, so one server can be reused by many clients.