Skip to main content
Glama
WYRE-AI

ironscales-mcp

by WYRE-AI

Ironscales MCP Server

License Node.js

A Model Context Protocol (MCP) server for Ironscales email security. Enables AI assistants to investigate phishing incidents, manage email classification, execute remediations, and view security statistics.

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

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

Interactive Incident Card (MCP Apps)

ironscales_incidents_get renders as an interactive card in MCP Apps hosts (Claude Desktop/web) showing the phishing incident's subject, status, severity, sender, affected recipients, and threat indicators; plain-JSON behavior is unchanged in other hosts. The card is read-only — remediation stays with the model-driven remediation tools. It is neutral by default and 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.

Related MCP server: avanan-mcp

Installation

npm install @wyre-ai/ironscales-mcp

Configuration

Set the following environment variables:

Variable

Required

Description

IRONSCALES_API_KEY

Yes

Your Ironscales API key

IRONSCALES_COMPANY_ID

Yes

Your Ironscales company ID

MCP_TRANSPORT

No

Transport mode: stdio (default) or http

Usage

Running with Claude Desktop

Add to your Claude Desktop claude_desktop_config.json:

{
  "mcpServers": {
    "ironscales-mcp": {
      "command": "npx",
      "args": ["@wyre-ai/ironscales-mcp"],
      "env": {
        "IRONSCALES_API_KEY": "your-ironscales-api-key"
        "IRONSCALES_COMPANY_ID": "your-ironscales-company-id"
      }
    }
  }
}

Running with Claude Code (CLI)

claude mcp add ironscales-mcp \
  -e IRONSCALES_API_KEY=your-value \
  -e IRONSCALES_COMPANY_ID=your-value \
  -- npx -y @wyre-ai/ironscales-mcp

Docker

docker build -t ironscales-mcp .
docker run \
  -e IRONSCALES_API_KEY=your-value \
  -e IRONSCALES_COMPANY_ID=your-value \
  -p 8080:8080 ironscales-mcp

Available Domains

Allowlist

Manage email allowlists and blocklists

Email

Email investigation and classification

Incidents

Phishing incident management and triage

Remediation

Execute email remediations and quarantine

Stats

Security statistics and reporting

Development

# Clone the repository
git clone https://github.com/WYRE-AI/ironscales-mcp.git
cd ironscales-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.

Available Tools

2 tools
ironscales_navigateA

Navigate to a domain to see its available tools. Domains: incidents (phishing incidents), email (email classification), remediation (incident remediation), stats (company statistics), allowlist (sender allowlist management).

ParametersJSON Schema
NameRequiredDescriptionDefault
domainYesThe domain to navigate to

TDQS

A4.4/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations provided, so the description must do more. It implies a non-destructive read operation ('see its available tools'), but does not confirm no side effects or specify behavior beyond navigation. Slightly vague.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two sentences with a clear list. Every sentence is necessary and no redundancy. Extremely concise and well-structured.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple navigation tool with one parameter and no output schema, the description is fully complete. It lists all domains with brief explanations, and no additional context is needed for correct usage.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters5/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The description adds significant meaning to the 'domain' parameter by explaining each enum value (e.g., 'incidents (phishing incidents)'), which goes beyond the schema's simple description. Schema coverage is 100% but description enhances clarity.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states 'Navigate to a domain to see its available tools,' uses a specific verb and resource, and lists all valid domains. It distinguishes itself from the sibling tool 'ironscales_status' which likely checks status.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Provides explicit guidance on when to use (to see tools for a specific domain) and enumerates valid domains. However, it does not explicitly mention when not to use or alternative tools, though the context is clear.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

ironscales_statusA

Check Ironscales API connection status and available domains.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A3.6/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description must fully convey behavioral traits. It states the tool checks status (a read operation), but omits any details about authentication, rate limits, or side effects. The minimal description leaves the agent with limited understanding of the tool's behavior.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single sentence with 8 words, conveying the essential purpose without any extraneous information. It is optimally concise and front-loaded.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The tool has no output schema, so the description should explain the return value format to enable the agent to interpret results. It does not mention what the status response contains or how domains are listed, leaving a significant information gap for a simple tool.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The tool has zero parameters, and schema coverage is 100% (empty). Per the guidelines, 0 parameters warrants a baseline of 4. The description adds full context for what the tool does, compensating for the lack of schema complexity.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description uses a specific verb 'Check' and clearly identifies the resource 'Ironscales API connection status and available domains'. It distinguishes itself from the sibling tool 'ironscales_navigate' by focusing on status rather than navigation.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies usage for checking API connectivity and domains, but does not explicitly state when to use versus alternatives, nor does it provide any exclusions or specific context for invocation.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

  1. 2 tool updatesv1.0.1
    • First observedironscales_navigate
    • First observedironscales_status

TDQS

A3.6/5.0

Scored across 2 tools

Disambiguation5/5

The two tools have clearly distinct purposes: one navigates to specific domains to view their tools, and the other checks API connection status. No ambiguity.

Naming Consistency4/5

Both tools share the consistent 'ironscales_' prefix and use snake_case. However, one is a verb ('navigate') and the other is a noun ('status'), which is a minor inconsistency.

Tool Count2/5

With only 2 tools for a server that claims to cover multiple domains (incidents, email, remediation, stats, allowlist), the count is far too low to be useful.

Completeness1/5

The server lacks any tools for actual operations on the listed domains, such as viewing incidents, classifying emails, or managing remediation. It only has navigation and status checks, leaving massive gaps.

Maintenance

ActivityActive
ResponsivenessNo issues

Related MCP Connectors

Related MCP Servers

  • A
    license
    A
    quality
    A
    maintenance
    MCP server for Checkpoint Harmony Email & Collaboration (Avanan). Enables AI assistants to manage email security, anti-phishing, anti-malware, and threat detection via the Avanan API.
    13
    1
    Apache 2.0
  • A
    license
    B
    quality
    A
    maintenance
    MCP server for Proofpoint Email Protection - email security, threat intelligence, TAP (Targeted Attack Protection), and email filtering API integration
    40
    3
    Apache 2.0