Skip to main content

MCP server for MITRE Caldera adversary emulation platform

Project description

caldera-mcp

MCP server for MITRE Caldera adversary emulation platform.

Connects any MCP-compatible AI client (Claude, Cursor, VS Code, etc.) to a running Caldera instance. Build attack scenarios from natural language, inspect connected agents, and manage operations — all through conversation.

Important: This tool connects an AI to a live adversary emulation platform. Only point it at Caldera instances you own and are authorized to operate. Always review scope before executing any operation.


Tools (17)

Group Tools
Health caldera_health_check
Agents caldera_list_agents, caldera_get_agent
Abilities caldera_list_abilities, caldera_get_ability, caldera_create_ability, caldera_delete_ability
Adversaries caldera_list_adversaries, caldera_get_adversary, caldera_create_adversary, caldera_update_adversary, caldera_delete_adversary
Operations caldera_list_operations, caldera_get_operation, caldera_create_operation, caldera_set_operation_state, caldera_get_operation_results, caldera_delete_operation

Key behaviors:

  • caldera_list_abilities supports filters: technique_id, tactic, platform
  • caldera_create_operation defaults to state="paused" — operations never start automatically
  • Input validation enforced on technique IDs (ATT&CK format), platforms, and executors

Requirements

  • Python 3.12+ or Docker
  • A running MITRE Caldera instance (v5.x)
  • The Caldera red team API key

Installation

uvx — zero install (recommended)

Requires uv.

CALDERA_URL=http://my-caldera:8888 \
CALDERA_API_KEY=your-red-api-key \
uvx caldera-mcp

pip

pip install caldera-mcp
CALDERA_URL=http://my-caldera:8888 CALDERA_API_KEY=your-red-api-key caldera-mcp

Docker (SSE / server mode)

docker run --rm \
  -e CALDERA_URL=http://my-caldera:8888 \
  -e CALDERA_API_KEY=your-red-api-key \
  -p 8081:8081 \
  ghcr.io/cowboy-samurai/caldera-mcp \
  --transport sse

Configuration

Variable Required Default Description
CALDERA_API_KEY Yes Caldera red team API key
CALDERA_URL No http://localhost:8888 Caldera server base URL

The red team API key can be found in your Caldera config (conf/local.ymlapi_key_red), or in the container logs if auto-generated.


MCP client setup

Claude Code

Add to .mcp.json in your project root:

{
  "mcpServers": {
    "caldera": {
      "command": "uvx",
      "args": ["caldera-mcp"],
      "env": {
        "CALDERA_URL": "http://my-caldera:8888",
        "CALDERA_API_KEY": "your-red-api-key"
      }
    }
  }
}

Claude Desktop

Add to claude_desktop_config.json:

{
  "mcpServers": {
    "caldera": {
      "command": "uvx",
      "args": ["caldera-mcp"],
      "env": {
        "CALDERA_URL": "http://my-caldera:8888",
        "CALDERA_API_KEY": "your-red-api-key"
      }
    }
  }
}

SSE mode (remote Caldera)

If your Caldera instance is remote and you want the MCP server to run as a persistent process:

caldera-mcp --transport sse --host 127.0.0.1 --port 8081

Then configure your client to connect via SSE:

{
  "mcpServers": {
    "caldera": {
      "type": "sse",
      "url": "http://localhost:8081/sse"
    }
  }
}

Usage examples

Once connected, talk to your AI client naturally:

List all alive agents
Find abilities for T1059.001 on Windows
Create an adversary from these techniques: T1566.001, T1059.001, T1003.001
What operations are currently running?

Operations created through this server default to paused state. Always review scope — techniques, commands, and targeted hosts — before resuming any operation.


License

Apache 2.0

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

caldera_mcp-0.1.0.tar.gz (9.8 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

caldera_mcp-0.1.0-py3-none-any.whl (13.6 kB view details)

Uploaded Python 3

File details

Details for the file caldera_mcp-0.1.0.tar.gz.

File metadata

  • Download URL: caldera_mcp-0.1.0.tar.gz
  • Upload date:
  • Size: 9.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for caldera_mcp-0.1.0.tar.gz
Algorithm Hash digest
SHA256 0f61d19316702aa8f6f7a9489d59bbba63db348dc17d3732a7089461fdd0bbcd
MD5 74c8bbe1908b75443de406d0a54cf28d
BLAKE2b-256 b238ab4b774f45d09b90d87e957b66a178503ec8fcc9f97a000aa264361dbb64

See more details on using hashes here.

Provenance

The following attestation bundles were made for caldera_mcp-0.1.0.tar.gz:

Publisher: publish.yml on cowboy-samurai/caldera-mcp

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file caldera_mcp-0.1.0-py3-none-any.whl.

File metadata

  • Download URL: caldera_mcp-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 13.6 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for caldera_mcp-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 4fa5b8e16476d3e6f5060241a60086707b222274e096f34dae9051ee211c0092
MD5 cc43523f42fa989fffc04cd401550f33
BLAKE2b-256 8897a9fd3f5a2de559226defcd233d4c9048fb4eedf5609e407ce9bc3e8d9e42

See more details on using hashes here.

Provenance

The following attestation bundles were made for caldera_mcp-0.1.0-py3-none-any.whl:

Publisher: publish.yml on cowboy-samurai/caldera-mcp

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page