MCP server for Abnormal Security: threats, search, remediation, ATO cases, vendor/BEC, and evidence download.
- ✓Open-source license (Apache-2.0)
- ✓Actively maintained (<30d)
- ✓Clear description
- ✓Documented (README)
git clone https://github.com/GregDog/mcp-server-abnormal{
"mcpServers": {
"abnormal": {
"command": "mcp-server-abnormal",
"env": {
"ABNORMAL_API_TOKEN": "<abnormal_api_token>"
}
}
}
}ABNORMAL_API_TOKENMCP Servers overview
# Abnormal MCP Server
[](https://github.com/GregDog/mcp-server-abnormal/actions/workflows/ci.yml)
[](https://go.dev/)
[](LICENSE)
A secure, open-source [Model Context Protocol](https://modelcontextprotocol.io/) server for [Abnormal Security](https://abnormalsecurity.com/).
This project is **not** an official Abnormal product and is not endorsed by Abnormal AI.
## Overview
`abnormal-mcp` lets MCP clients such as Cursor and Claude Desktop query Abnormal Security over **stdio** (default) or **Streamable HTTP**. It uses a lightweight handwritten client against the [Abnormal Security Client API](https://app.swaggerhub.com/apis-docs/abnormal-security/abx/1.4.3).
```text
MCP Client
→ Abnormal MCP Server (stdio or HTTP)
→ Abnormal REST API
```
The server is read-only by default. Response and evidence download tools are opt-in and independent. Abnormal authorization still applies to every request.
## Features
**Read (always on)**
- Threat list and get from the Threat Log
- Threat links and attachment metadata
- Threat action status poll (`abnormal_threat_action_get`)
- Message search with ergonomic filters (`since`, `sender`, `sender_domain`, `recipient`, `subject`, `url`, `attachment`, `sender_ip`, `judgement`)
- Search activity list and status
- Message remediation history
- AI Security Mailbox (formerly Abuse Mailbox) campaigns and unanalyzed reports
- Employee profile, identity (Genome), and recent logins
- ATO case list, detail, and analysis
- Vendor list, detail, activity, and vendor compromise cases
- US, EU, and FedRAMP base URLs (configurable)
**Response (opt-in: `ABNORMAL_ALLOW_RESPONSE=true`)**
- Search remediation (`delete`, `move_to_inbox`) with `confirm: true` preview gate
- Threat remediate / unremediate with `confirm: true` preview gate
- ATO case status update with `confirm: true` preview gate
**Evidence download (opt-in: `ABNORMAL_ALLOW_EVIDENCE_DOWNLOAD=true`)**
- Message EML download (by ABX message ID or search `cloud_message_id`)
- Attachment analysis signals and attachment download
- Metadata + bounded preview by default; optional base64 embed (max 1 MiB in tool output)
- stdio transport (default) and opt-in Streamable HTTP
- Native Go binary and Docker image
- MCP Registry listing on tagged releases (`io.github.GregDog/mcp-server-abnormal`)
## Quick Start
Create an Abnormal REST API token in the Abnormal portal under Integrations → Abnormal REST API.
```bash
export ABNORMAL_API_TOKEN="your-token"
abnormal-mcp serve
```
## Installation
### From source
```bash
git clone https://github.com/GregDog/mcp-server-abnormal.git
cd mcp-server-abnormal
make build
```
### Docker
```bash
docker run --rm -i \
-e ABNORMAL_API_TOKEN \
ghcr.io/gregdog/mcp-server-abnormal serve
```
## Client configuration
### Cursor (stdio)
See [examples/cursor.mcp.json](examples/cursor.mcp.json).
### Claude Desktop
See [examples/claude-desktop.json](examples/claude-desktop.json).
## Tools
**24 read tools** are always registered. With `ABNORMAL_ALLOW_EVIDENCE_DOWNLOAD=true`, five evidence tools are added (29 total). With `ABNORMAL_ALLOW_RESPONSE=true`, three response tools are added (27 total, or 32 with both gates enabled).
| Area | Tools |
| --- | --- |
| Threats | `abnormal_threats_list`, `abnormal_threat_get`, `abnormal_threat_action_get`, `abnormal_threat_links_list`, `abnormal_threat_attachments_list` |
| Search | `abnormal_search_messages`, `abnormal_search_activities_list`, `abnormal_search_activity_get` |
| Messages | `abnormal_message_remediation_history` |
| Mailbox | `abnormal_mailbox_campaigns_list`, `abnormal_mailbox_campaign_get`, `abnormal_mailbox_unanalyzed_list` |
| Employees | `abnormal_employee_get`, `abnormal_employee_identity_get`, `abnormal_employee_logins_list` |
| ATO cases | `abnormal_cases_list`, `abnormal_case_get`, `abnormal_case_analysis_get`, `abnormal_case_action_get` |
| Vendors | `abnormal_vendors_list`, `abnormal_vendor_get`, `abnormal_vendor_activity_list`, `abnormal_vendor_cases_list`, `abnormal_vendor_case_get` |
| Evidence (opt-in) | `abnormal_message_eml_get`, `abnormal_search_message_eml_get`, `abnormal_message_attachment_get`, `abnormal_message_attachment_download`, `abnormal_search_attachment_download` |
| Response (opt-in) | `abnormal_search_remediate`, `abnormal_threat_remediate`, `abnormal_case_update` |
See [docs/tools.md](docs/tools.md) for parameters.
## Configuration
| Variable | Default | Purpose |
| --- | --- | --- |
| `ABNORMAL_API_TOKEN` | (required) | Bearer token |
| `ABNORMAL_BASE_URL` | `https://api.abnormalplatform.com/v1` | API base URL |
| `ABNORMAL_ALLOW_RESPONSE` | `false` | Enable response tools (Phase 2+) |
| `ABNORMAL_ALLOW_EVIDENCE_DOWNLOAD` | `false` | Enable evidence download (Phase 5+) |
| `ABNORMAL_MCP_TRANSPORT` | `stdio` | `stdio` or `http` |
Full list: [docs/configuration.md](docs/configuration.md).
## Security
Read tools are always on. Response and evidence tools require explicit opt-in.
**Local use only:** this server has no built-in authentication or RBAC. Use stdio (default) or loopback HTTP on the same machine. Do not expose the HTTP endpoint on a network without your own access controls.
See [docs/security.md](docs/security.md) and [SECURITY.md](SECURITY.md).
## Development
```bash
make check
make test-access # optional live API smoke test
make test-phase34 # Phase 3/4 live smoke test
make test-phase5 # Phase 5 evidence smoke test (requires ABNORMAL_ALLOW_EVIDENCE_DOWNLOAD)
```
See [docs/development.md](docs/development.md).
## License
Apache-2.0. See [LICENSE](LICENSE).
What people ask about mcp-server-abnormal
What is GregDog/mcp-server-abnormal?
+
GregDog/mcp-server-abnormal is mcp servers for the Claude AI ecosystem. MCP server for Abnormal Security: threats, search, remediation, ATO cases, vendor/BEC, and evidence download. It has 0 GitHub stars and its last recorded update is dated 2026-09-10.
How do I install mcp-server-abnormal?
+
You can install mcp-server-abnormal by cloning the repository (https://github.com/GregDog/mcp-server-abnormal) or following the README instructions on GitHub. ClaudeWave also provides quick install blocks on this page.
Is GregDog/mcp-server-abnormal safe to use?
+
Our security agent has analyzed GregDog/mcp-server-abnormal and assigned a Trust Score of 87/100 (tier: Trusted). See the full breakdown of passed checks and flags on this page.
Who maintains GregDog/mcp-server-abnormal?
+
GregDog/mcp-server-abnormal is maintained by GregDog. The last recorded GitHub activity is dated 2026-09-10, with 0 open issues.
Are there alternatives to mcp-server-abnormal?
+
Yes. On ClaudeWave you can browse similar mcp servers at /categories/mcp, sorted by popularity or recent activity.
Deploy mcp-server-abnormal to your cloud
Ship this repo to production in minutes. Each platform spins up its own environment with editable env vars.
Maintain this repo? Add a badge to your README
Drop the badge into your GitHub README to show it's tracked on ClaudeWave. Each badge links back to this page and reflects the live Trust Score.
[](https://claudewave.com/repo/gregdog-mcp-server-abnormal)<a href="https://claudewave.com/repo/gregdog-mcp-server-abnormal"><img src="https://claudewave.com/api/badge/gregdog-mcp-server-abnormal" alt="Featured on ClaudeWave: GregDog/mcp-server-abnormal" width="320" height="64" /></a>More MCP Servers
Fair-code workflow automation platform with native AI capabilities. Combine visual building with custom code, self-host or cloud, 400+ integrations.
User-friendly AI Interface (Supports Ollama, OpenAI API, ...)
An open-source AI agent that brings the power of Gemini directly into your terminal.
Real-time global intelligence dashboard. AI-powered news aggregation, geopolitical monitoring, and infrastructure tracking in a unified situational awareness interface
The fastest path to AI-powered full stack observability, even for lean teams.
🕷️ An adaptive Web Scraping framework that handles everything from a single request to a full-scale crawl!