
Abnormal Security
io.github.wyre-technologyPublished by GitHub account wyre-technologyv1.2.5Updated Oct 24, 2026
MCP server for Abnormal Security — AI-powered email threat detection, cases, and remediation.
Overview
Lets an assistant browse Abnormal Security email threat cases, inspect message analysis, and trigger or check remediation actions.
- What you can do
- Wraps the Abnormal Security API in a decision-tree tool set: abnormal_navigate selects a domain (threats, messages, remediation, abuse, cases) and abnormal_back returns to selection. Domain tools list and fetch threat cases, list and inspect messages within a case (headers, URLs, attachments, AI analysis), list phishing reports from the Abuse Mailbox, and list or fetch investigation cases. abnormal_remediation_manage triggers or checks remediation for a message, and abnormal_threats_get can render an interactive read-only threat card in MCP Apps hosts.
- When to use it
- Use it when a security team wants an assistant to triage Abnormal Security detections, pull message-level detail for a reported phish, or check and start remediation without leaving the chat client. It suits analysts already running Abnormal Security who want conversational access to cases and threats.
- Requirements
- Runs locally over stdio (Node.js build from source, or the published container image; the image defaults to HTTP for gateway hosting). Requires an Abnormal Security API token in ABNORMAL_API_TOKEN, generated in the Abnormal portal under Settings > Integrations > API. AUTH_MODE selects env or gateway credential handling; MCP_TRANSPORT and LOG_LEVEL are optional. Network access to the Abnormal Security API is required.
Installation
In SourceWeft
- Open Abnormal Security in the dashboard and add it to a workspace.
- 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
abnormal-mcp
MCP server for Abnormal Security — AI-powered threat detection, case management, and email remediation.
Tools
This server uses a decision-tree architecture. Start by calling abnormal_navigate to select a domain, then use the domain-specific tools.
Navigation
Threats domain
Messages domain
Remediation domain
Abuse domain
Cases domain
Interactive Threat Card (MCP Apps)
abnormal_threats_getrenders as an interactive threat card in MCP Apps hosts (Claude Desktop/web): subject, sender, attack classification, remediation status, and the messages in the threat. The card is read-only — remediation stays a deliberate, model-mediated action. Plain-JSON behavior is unchanged in other hosts. Neutral by default, brandable viawindow.__BRAND__injection orMCP_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.
Authentication
Abnormal Security uses Bearer token authentication. Copy .env.example and set the variables below.
/health stays unauthenticated and does not read credentials. The stdio transport does not use CONDUIT_S2S_SECRET.
X-Gateway-S2S signing
With MCP_TRANSPORT=http and a real CONDUIT_S2S_SECRET, every /mcp request must include X-Gateway-S2S. 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 returns 401 before the Abnormal token is read.
In AUTH_MODE=gateway that Authorization header is required and is the only credential source. AUTH_MODE=env still requires a valid X-Gateway-S2S header, then uses ABNORMAL_API_TOKEN from the environment when the request does not carry Authorization.
Standalone (env mode)
Gateway mode
When deployed behind the MCP gateway, set AUTH_MODE=gateway. The gateway signs each /mcp request with X-Gateway-S2S and injects Authorization: Bearer {token}. Requests missing that credential header are rejected with 401.
Running
stdio (for Claude Desktop)
HTTP Streamable (for hosted/gateway deployment)
HTTP refuses to start until CONDUIT_S2S_SECRET is a real secret:
Local HTTP without a secret is development-only. It binds 127.0.0.1 only and logs a warning:
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 the API token arrives on each request as Authorization; the image does not read ABNORMAL_API_TOKEN.
Compose refuses to start when CONDUIT_S2S_SECRET is unset, sets AUTH_MODE=gateway, does not inject ABNORMAL_API_TOKEN, and publishes 127.0.0.1:8080:8080:
Single-tenant HTTP (AUTH_MODE=env) still requires the S2S secret, then uses ABNORMAL_API_TOKEN:
Development
License
Apache-2.0
Source: README.md at commit 59ddc42
Tools
0Version history
1- v1.2.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