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_abilitiessupports filters:technique_id,tactic,platformcaldera_create_operationdefaults tostate="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.yml → api_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
pausedstate. Always review scope — techniques, commands, and targeted hosts — before resuming any operation.
License
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file caldera_mcp-0.1.1.tar.gz.
File metadata
- Download URL: caldera_mcp-0.1.1.tar.gz
- Upload date:
- Size: 10.1 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
663ed96fd0fa8927febe7ebaf268009b599a0d36ef6ccccb2886babf1467fac4
|
|
| MD5 |
0f7143b34615c8fd071f6f1d97fa8cd8
|
|
| BLAKE2b-256 |
9d2f184e0a08292fd2760982c481cb8893a59fa7ef6bdba40585edc65204360d
|
Provenance
The following attestation bundles were made for caldera_mcp-0.1.1.tar.gz:
Publisher:
publish.yml on cowboy-samurai/caldera-mcp
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
caldera_mcp-0.1.1.tar.gz -
Subject digest:
663ed96fd0fa8927febe7ebaf268009b599a0d36ef6ccccb2886babf1467fac4 - Sigstore transparency entry: 1544479554
- Sigstore integration time:
-
Permalink:
cowboy-samurai/caldera-mcp@38443c08e3acb88ef404b41199712fd6685880d4 -
Branch / Tag:
refs/tags/v0.1.1 - Owner: https://github.com/cowboy-samurai
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@38443c08e3acb88ef404b41199712fd6685880d4 -
Trigger Event:
push
-
Statement type:
File details
Details for the file caldera_mcp-0.1.1-py3-none-any.whl.
File metadata
- Download URL: caldera_mcp-0.1.1-py3-none-any.whl
- Upload date:
- Size: 13.7 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
06da5a9a20d76dc8d5c3028353a370998f22cb0be1e540972d7cbf97430bccd2
|
|
| MD5 |
dc35a4926b5a255082499d892ad857be
|
|
| BLAKE2b-256 |
072a0f00cd2c5ae471ed92ba361bf91d76783626b69af8bd9331e87c47cfd6fd
|
Provenance
The following attestation bundles were made for caldera_mcp-0.1.1-py3-none-any.whl:
Publisher:
publish.yml on cowboy-samurai/caldera-mcp
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
caldera_mcp-0.1.1-py3-none-any.whl -
Subject digest:
06da5a9a20d76dc8d5c3028353a370998f22cb0be1e540972d7cbf97430bccd2 - Sigstore transparency entry: 1544479655
- Sigstore integration time:
-
Permalink:
cowboy-samurai/caldera-mcp@38443c08e3acb88ef404b41199712fd6685880d4 -
Branch / Tag:
refs/tags/v0.1.1 - Owner: https://github.com/cowboy-samurai
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@38443c08e3acb88ef404b41199712fd6685880d4 -
Trigger Event:
push
-
Statement type: