Abnormal MCP Server
An open-source MCP server for Abnormal Security that allows agents to query threats, search messages, remediate issues, manage ATO cases, and download evidence via stdio or HTTP. It acts as a client against the Abnormal Security REST API, supporting read-only operations by default with opt-in response and evidence download capabilities.
Package and access
Local package with source-attributed installation metadata. Koskamo does not execute packages during review.
What you can do with it
- Query threat logs and search messages with ergonomic filters
- Remediate threats or move messages to inbox
- Manage ATO case status and analysis
- Download message EMLs and attachment evidence
Source and maintenance
- Maintenance checked
Packages and installation
Source-provided package data. Koskamo has not executed or live-probed this package.
ghcr.io/gregdog/mcp-server-abnormal:v1.1.0
{
"transport": "stdio",
"identifier": "ghcr.io/gregdog/mcp-server-abnormal:v1.1.0",
"registryType": "oci",
"packageArguments": [
{
"type": "positional",
"value": "serve"
}
],
"environmentVariables": [
{
"name": "ABNORMAL_API_TOKEN",
"isRequired": true,
"description": "Abnormal REST API bearer token"
},
{
"name": "ABNORMAL_BASE_URL",
"default": "https://api.abnormalplatform.com/v1",
"description": "Abnormal API base URL"
},
{
"name": "ABNORMAL_ALLOW_RESPONSE",
"default": "false",
"description": "Enable response MCP tools (remediation)"
},
{
"name": "ABNORMAL_ALLOW_EVIDENCE_DOWNLOAD",
"default": "false",
"description": "Enable evidence download MCP tools (EML and attachments)"
},
{
"name": "ABNORMAL_MAX_EVIDENCE_BYTES",
"default": "10485760",
"description": "Max bytes per evidence download from Abnormal"
}
]
}Tools
Reported by the attributed source; not independently observed by Koskamo.
Connect from your client
Each snippet configures the same source-provided package; replace placeholders before use.
Cursor
{
"mcpServers": {
"abnormal-mcp-server": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"-e",
"ABNORMAL_API_TOKEN=<YOUR_ABNORMAL_API_TOKEN>",
"-e",
"ABNORMAL_BASE_URL=<YOUR_ABNORMAL_BASE_URL>",
"-e",
"ABNORMAL_ALLOW_RESPONSE=<YOUR_ABNORMAL_ALLOW_RESPONSE>",
"-e",
"ABNORMAL_ALLOW_EVIDENCE_DOWNLOAD=<YOUR_ABNORMAL_ALLOW_EVIDENCE_DOWNLOAD>",
"-e",
"ABNORMAL_MAX_EVIDENCE_BYTES=<YOUR_ABNORMAL_MAX_EVIDENCE_BYTES>",
"ghcr.io/gregdog/mcp-server-abnormal:v1.1.0",
"serve"
],
"env": {
"ABNORMAL_API_TOKEN": "<YOUR_ABNORMAL_API_TOKEN>",
"ABNORMAL_BASE_URL": "<YOUR_ABNORMAL_BASE_URL>",
"ABNORMAL_ALLOW_RESPONSE": "<YOUR_ABNORMAL_ALLOW_RESPONSE>",
"ABNORMAL_ALLOW_EVIDENCE_DOWNLOAD": "<YOUR_ABNORMAL_ALLOW_EVIDENCE_DOWNLOAD>",
"ABNORMAL_MAX_EVIDENCE_BYTES": "<YOUR_ABNORMAL_MAX_EVIDENCE_BYTES>"
}
}
}
}Cline
{
"mcpServers": {
"abnormal-mcp-server": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"-e",
"ABNORMAL_API_TOKEN=<YOUR_ABNORMAL_API_TOKEN>",
"-e",
"ABNORMAL_BASE_URL=<YOUR_ABNORMAL_BASE_URL>",
"-e",
"ABNORMAL_ALLOW_RESPONSE=<YOUR_ABNORMAL_ALLOW_RESPONSE>",
"-e",
"ABNORMAL_ALLOW_EVIDENCE_DOWNLOAD=<YOUR_ABNORMAL_ALLOW_EVIDENCE_DOWNLOAD>",
"-e",
"ABNORMAL_MAX_EVIDENCE_BYTES=<YOUR_ABNORMAL_MAX_EVIDENCE_BYTES>",
"ghcr.io/gregdog/mcp-server-abnormal:v1.1.0",
"serve"
],
"env": {
"ABNORMAL_API_TOKEN": "<YOUR_ABNORMAL_API_TOKEN>",
"ABNORMAL_BASE_URL": "<YOUR_ABNORMAL_BASE_URL>",
"ABNORMAL_ALLOW_RESPONSE": "<YOUR_ABNORMAL_ALLOW_RESPONSE>",
"ABNORMAL_ALLOW_EVIDENCE_DOWNLOAD": "<YOUR_ABNORMAL_ALLOW_EVIDENCE_DOWNLOAD>",
"ABNORMAL_MAX_EVIDENCE_BYTES": "<YOUR_ABNORMAL_MAX_EVIDENCE_BYTES>"
}
}
}
}VS Code
{
"servers": {
"abnormal-mcp-server": {
"type": "stdio",
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"-e",
"ABNORMAL_API_TOKEN=<YOUR_ABNORMAL_API_TOKEN>",
"-e",
"ABNORMAL_BASE_URL=<YOUR_ABNORMAL_BASE_URL>",
"-e",
"ABNORMAL_ALLOW_RESPONSE=<YOUR_ABNORMAL_ALLOW_RESPONSE>",
"-e",
"ABNORMAL_ALLOW_EVIDENCE_DOWNLOAD=<YOUR_ABNORMAL_ALLOW_EVIDENCE_DOWNLOAD>",
"-e",
"ABNORMAL_MAX_EVIDENCE_BYTES=<YOUR_ABNORMAL_MAX_EVIDENCE_BYTES>",
"ghcr.io/gregdog/mcp-server-abnormal:v1.1.0",
"serve"
],
"env": {
"ABNORMAL_API_TOKEN": "<YOUR_ABNORMAL_API_TOKEN>",
"ABNORMAL_BASE_URL": "<YOUR_ABNORMAL_BASE_URL>",
"ABNORMAL_ALLOW_RESPONSE": "<YOUR_ABNORMAL_ALLOW_RESPONSE>",
"ABNORMAL_ALLOW_EVIDENCE_DOWNLOAD": "<YOUR_ABNORMAL_ALLOW_EVIDENCE_DOWNLOAD>",
"ABNORMAL_MAX_EVIDENCE_BYTES": "<YOUR_ABNORMAL_MAX_EVIDENCE_BYTES>"
}
}
}
}Claude Desktop
{
"mcpServers": {
"abnormal-mcp-server": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"-e",
"ABNORMAL_API_TOKEN=<YOUR_ABNORMAL_API_TOKEN>",
"-e",
"ABNORMAL_BASE_URL=<YOUR_ABNORMAL_BASE_URL>",
"-e",
"ABNORMAL_ALLOW_RESPONSE=<YOUR_ABNORMAL_ALLOW_RESPONSE>",
"-e",
"ABNORMAL_ALLOW_EVIDENCE_DOWNLOAD=<YOUR_ABNORMAL_ALLOW_EVIDENCE_DOWNLOAD>",
"-e",
"ABNORMAL_MAX_EVIDENCE_BYTES=<YOUR_ABNORMAL_MAX_EVIDENCE_BYTES>",
"ghcr.io/gregdog/mcp-server-abnormal:v1.1.0",
"serve"
],
"env": {
"ABNORMAL_API_TOKEN": "<YOUR_ABNORMAL_API_TOKEN>",
"ABNORMAL_BASE_URL": "<YOUR_ABNORMAL_BASE_URL>",
"ABNORMAL_ALLOW_RESPONSE": "<YOUR_ABNORMAL_ALLOW_RESPONSE>",
"ABNORMAL_ALLOW_EVIDENCE_DOWNLOAD": "<YOUR_ABNORMAL_ALLOW_EVIDENCE_DOWNLOAD>",
"ABNORMAL_MAX_EVIDENCE_BYTES": "<YOUR_ABNORMAL_MAX_EVIDENCE_BYTES>"
}
}
}
}Let your agent find its tools
Find servers like Abnormal MCP Server from your agent. Add Koskamo once to search the index for endpoints, access requirements, and client setup. Public discovery needs no key.