Skip to main content
Glama
MITRE ATT&CK MCP Server

MITRE ATT&CK MCP Server

by imouiche
README.md
<div align="center">

# ๐Ÿ›ก๏ธ MITRE ATT&CK MCP Server

**AI-Native Access to the World's Leading Threat Intelligence Framework**

[![npm](https://img.shields.io/npm/v/@imouiche/mitre-attack-mcp-server.svg)](https://www.npmjs.com/package/@imouiche/mitre-attack-mcp-server)
[![npm downloads](https://img.shields.io/npm/dm/@imouiche/mitre-attack-mcp-server.svg)](https://www.npmjs.com/package/@imouiche/mitre-attack-mcp-server)
[![License](https://img.shields.io/badge/license-Apache--2.0-blue.svg)](LICENSE)
[![MCP Registry](https://img.shields.io/badge/MCP-Registered-success)](https://registry.modelcontextprotocol.io)
[![GitHub release](https://img.shields.io/github/v/release/imouiche/complete-mitre-attack-mcp-server)](https://github.com/imouiche/complete-mitre-attack-mcp-server/releases)

[Features](#-key-features) โ€ข [Installation](#-installation) โ€ข [Quick Start](#-quick-start) โ€ข [Tools](#-available-tools) โ€ข [Examples](#-example-queries) โ€ข [Roadmap](#-roadmap--vision)

</div>

---
<div align="center">
 <a href="https://mcprush.com/to/imouiche-mitre-attack-mcp?ref=badge"><img width="380" height="200" src="https://mcprush.com/badge/imouiche-mitre-attack-mcp/card.svg" alt="MITRE Attack MCP server" /></a>
</div>
## ๐ŸŽฏ Overview

The **MITRE ATT&CK MCP Server** transforms the world's leading adversary knowledge base into an **AI-native interface**. Built for the **Model Context Protocol**, it enables LLMs and agentic systems to:

- ๐Ÿ” **Query** 200+ techniques, 140+ groups, 700+ software entries
- ๐Ÿง  **Reason** over complex threat relationships and TTPs  
- ๐Ÿ“Š **Visualize** coverage gaps with ATT&CK Navigator layers
- โšก **Scale** threat intelligence workflows with structured tools

**Perfect for**: Security teams, threat hunters, detection engineers, AI researchers, and anyone building intelligent security systems.

### What is this?

`mitre-attack-mcp-server` is a **self-contained MCP server** that provides **machine-callable access** to the MITRE ATT&CK framework using official STIX data with **LLMs** friendly **structured outputs**.

It enables:

- ๐Ÿค– **LLMs** to reason about ATT&CK techniques, groups, software, and mitigations
- ๐Ÿง  **Agentic workflows** to generate threat explanations and coverage maps
- ๐Ÿ” **Security teams** to query ATT&CK relationships programmatically
- ๐Ÿ“Š **Visualization** via ATT&CK Navigator layers

No scraping.  
No fragile APIs.  
Just **official MITRE data**, structured and reliable.

---

## ๐Ÿ“‘ Table of Contents

- [Overview](#-overview)
- [Key Features](#-key-features)
- [Installation](#-installation)
- [Quick Start](#-quick-start)
- [MCP Registry](#-mcp-registry)
- [Available Tools](#-available-tools)
- [Example Queries](#-example-queries)
- [ATT&CK Navigator](#-attck-navigator-visualization)
- [Technical Details](#-technical-details)
- [Roadmap & Vision](#-roadmap--vision)
- [Contributing](#-contributing)
- [License](#-license)
- [About the Author](#-about-the-author)
- [Acknowledgments](#-acknowledgments)

---

## โœจ Key Features

- โœ… **65+ MCP tools** across ATT&CK domains (Enterprise, Mobile, ICS)
- โœ… Automatic **STIX download & caching** on first run
- โœ… Native **ATT&CK Navigator layer generation**
- โœ… Designed for **LLMs & MCP-compatible clients**
- โœ… **In-memory caching** for instant query responses
- โœ… **Type-safe** with Pydantic models
- โœ… Clean, production-ready, self-contained server
- โœ… Comprehensive test coverage

---

## ๐Ÿ“ฆ Installation

### Via PyPI  (recommended) - Python Users

```bash
pip install mitre-mcp-server
```

### npm

```bash
npm install -g @imouiche/mitre-attack-mcp-server
```

### npx (no installation required)

```bash
npx @imouiche/mitre-attack-mcp-server
```


### Via uv (Modern Python)
```bash
uv pip install mitre-mcp-server
```

### Local Development

```bash
git clone https://github.com/imouiche/complete-mitre-attack-mcp-server.git
cd complete-mitre-attack-mcp-server
npm install
```

### Using uv (Python package manager)

```bash
git clone https://github.com/imouiche/complete-mitre-attack-mcp-server.git
cd complete-mitre-attack-mcp-server
uv sync
```

---

## โšก Quick Start

### 1. Install

```bash
pip install mitre-mcp-server
```

### 2. Configure Claude Desktop

Add to your `claude_desktop_config.json`:

**macOS**: `~/Library/Application Support/Claude/claude_desktop_config.json`  
**Windows**: `%APPDATA%\Claude\claude_desktop_config.json`

```json
{
  "mcpServers": {
    "mitre-attack": {
      "command": "npx",
      "args": ["-y", "@imouiche/mitre-attack-mcp-server"]
    }
  }
}
```

### 3. Restart Claude Desktop

Quit Claude Desktop completely (Cmd+Q on macOS) and reopen it.

### 4. Start Querying!

Ask Claude:
> "What techniques does APT29 use for initial access?"  
> "Generate an ATT&CK Navigator layer for ransomware groups"  
> "Show me all Windows persistence techniques"

**Data downloads automatically on first run** (~59MB, cached at `~/.mitre-mcp-server/data/`).

---

## ๐Ÿ“ฆ MCP Registry

This server is officially registered in the **Model Context Protocol (MCP) Registry**.

**Registry ID**: `io.github.imouiche/mitre-attack-mcp-server`

**View in Official Registry**: [https://registry.modelcontextprotocol.io/?q=mitre-attack-mcp-server](https://registry.modelcontextprotocol.io/?q=mitre-attack-mcp-server)

### Installation Options

**Option 1: Direct NPM**
```bash
npm install -g @imouiche/mitre-attack-mcp-server
```

**Option 2: NPX (no installation)**
```bash
npx @imouiche/mitre-attack-mcp-server
```

**Option 3: Discover via Registry**
1. Visit [MCP Registry](https://registry.modelcontextprotocol.io)
2. Search for "mitre-attack"
3. Click the server card for installation instructions

---

## ๐Ÿ› ๏ธ Available Tools

The server exposes **65+ MCP tools** covering all major MITRE ATT&CK entities and relationships.

---

### ๐Ÿ“Š Infrastructure & Metadata

| Tool | Description |
|---|---|
| `get_data_stats` | Show download status, file paths, sizes, and ATT&CK release version |
| `generate_layer` | Generate an ATT&CK Navigator layer (JSON output) |
| `get_layer_metadata` | Return Navigator layer metadata template |

---

### ๐ŸŽฏ Techniques

| Tool | Description |
|---|---|
| `get_technique_by_id` | Get a technique by ATT&CK ID (e.g., T1055) |
| `search_techniques` | Search techniques by name or description |
| `get_all_techniques` | Retrieve all techniques |
| `get_all_parent_techniques` | Parent techniques only |
| `get_all_subtechniques` | All subtechniques |
| `get_subtechniques_of_technique` | Subtechniques of a parent |
| `get_parent_technique_of_subtechnique` | Parent of a subtechnique |
| `get_technique_tactics` | Tactics associated with a technique |
| `get_techniques_by_tactic` | Techniques under a tactic |
| `get_techniques_by_platform` | Techniques for a platform |
| `get_revoked_techniques` | Revoked techniques |

---

### ๐Ÿง‘โ€๐Ÿ’ป Groups (Threat Actors)

| Tool | Description |
|---|---|
| `get_group_by_name` | Find group by name or alias |
| `search_groups` | Search groups |
| `get_all_groups` | All ATT&CK groups |
| `get_groups_by_alias` | Lookup groups by alias |
| `get_groups_using_technique` | Groups using a technique |
| `get_groups_using_software` | Groups using software |
| `get_groups_attributing_to_campaign` | Groups attributed to a campaign |

---

### ๐Ÿงช Software (Malware & Tools)

| Tool | Description |
|---|---|
| `get_software` | Get all software |
| `search_software` | Search software |
| `get_software_by_alias` | Lookup software by alias |
| `get_software_used_by_group` | Software used by a group |
| `get_software_used_by_campaign` | Software used in campaigns |
| `get_software_using_technique` | Software using a technique |

---

### ๐Ÿ“Œ Campaigns

| Tool | Description |
|---|---|
| `get_all_campaigns` | Get all campaigns |
| `get_campaigns_by_alias` | Lookup campaigns by alias |
| `get_campaigns_using_technique` | Campaigns using a technique |
| `get_campaigns_using_software` | Campaigns using software |
| `get_campaigns_attributed_to_group` | Campaign attribution |

---

### ๐Ÿ›ก๏ธ Mitigations

| Tool | Description |
|---|---|
| `get_all_mitigations` | Get all mitigations |
| `get_mitigations_mitigating_technique` | Mitigations for a technique |
| `get_techniques_mitigated_by_mitigation` | Techniques mitigated by a mitigation |

---

### ๐Ÿงญ Tactics, Data Sources & ICS

| Tool | Description |
|---|---|
| `get_all_tactics` | Get all tactics |
| `get_all_datasources` | Get all data sources |
| `get_all_datacomponents` | Get all data components |
| `get_datacomponents_detecting_technique` | Data components detecting a technique |
| `get_all_assets` | Get ICS assets |
| `get_assets_targeted_by_technique` | Assets targeted by a technique |

---

## ๐Ÿ’ก Example Queries

### Threat Intelligence
```
"What techniques does APT29 use for initial access?"
"Which groups target financial institutions?"
"Show me all ransomware-related software"
"What are the aliases for the Lazarus Group?"
```

### Detection Engineering
```
"What data sources detect credential dumping?"
"Generate a coverage map for EDR capabilities"
"List all techniques for Windows privilege escalation"
"What can detect T1055 (Process Injection)?"
```

### Threat Hunting
```
"What techniques use PowerShell?"
"Show me lateral movement techniques for Linux"
"Which groups use Cobalt Strike?"
"What persistence techniques target macOS?"
```

### Mitigation & Defense
```
"What mitigations exist for phishing attacks?"
"Show me all mitigations for privilege escalation"
"What techniques does MFA mitigate?"
```

### Compliance & Gap Analysis
```
"Generate a layer for all techniques our EDR covers"
"Compare APT29 TTPs against our detection capabilities"
"Show unmitigated techniques in our environment"
```

---

## ๐Ÿ“Š ATT&CK Navigator Visualization

The `generate_layer` tool produces **ATT&CK Navigatorโ€“compatible JSON**.

### Usage:

1. Ask Claude to generate a layer:
   > "Generate an ATT&CK Navigator layer for all techniques used by APT29"

2. Save the JSON output to a file (e.g., `apt29_layer.json`)

3. Upload to [ATT&CK Navigator](https://mitre-attack.github.io/attack-navigator/)

4. Visualize technique coverage, threat actor usage, or mitigation mapping

### Real-World Example Using LangGraph

- **Threat Investigation:**  
  [Read my Medium blog demonstrating how a multi-agent LangGraph system leverages these tools to perform a real-world threat investigation.](https://medium.com/@nsangouinoussa515/from-mitre-att-ck-to-agentic-threat-investigation-58336c22f482)

- **Live Demo:**  
  [Explore the interactive Gradio 6.2 demo on Hugging Face Spaces.](https://huggingface.co/spaces/Inoussa-guru/mitre-agentic-threat-investigation)

### Example Layer Use Cases:

- **Red Team Coverage**: Map all techniques used in an exercise
- **Detection Gaps**: Highlight unmonitored techniques
- **Threat Actor Profile**: Visualize group TTPs
- **Mitigation Coverage**: Show what's protected vs. exposed

---

## ๐Ÿ”ง Technical Details

### Architecture

- **Language**: Python 3.12+
- **Framework**: FastMCP for Model Context Protocol
- **Data Library**: Official `mitreattack-python` (v5.3.0+)
- **Async/Await**: Optimal performance for concurrent queries
- **Type Safety**: Full Pydantic models for all data structures
- **Testing**: Comprehensive pytest coverage

### Data

- **Enterprise ATT&CK**: v18.1+ (~50.9MB)
- **Mobile ATT&CK**: v18.1+ (~4.9MB)
- **ICS ATT&CK**: v18.1+ (~3.5MB)
- **Total**: ~59MB cached locally
- **Storage**: `~/.mitre-mcp-server/data/v{version}/`
- **Update**: Auto-downloads on install, uses cached data on subsequent runs

### Performance

- **In-memory caching**: All domains loaded at startup
- **Query speed**: Sub-second for most operations
- **Graph traversal**: Efficient relationship queries
- **Concurrent**: Handles multiple simultaneous requests

### Requirements

- **Python**: 3.12 or higher
- **Node.js**: 16+ (for NPM installation)
- **Disk Space**: ~150MB (includes dependencies + data)
- **Memory**: ~200MB RAM when running

---

## ๐Ÿš€ Roadmap & Vision

This project is the **first component** of a larger vision to build **comprehensive agentic security automation** by integrating multiple security knowledge bases and frameworks.

### Current Status
- โœ… **MITRE ATT&CK** - Threat intelligence & adversary TTPs (v18.1)

### Planned Integrations
- ๐Ÿ”œ **CVE/NVD** - Vulnerability intelligence and exploit mapping
- ๐Ÿ”œ **MITRE D3FEND** - Defensive countermeasure knowledge graph
- ๐Ÿ”œ **Sigma Rules** - Detection rule translation and management
- ๐Ÿ”œ **CAPEC** - Common Attack Pattern Enumeration
- ๐Ÿ”œ **CWE** - Software weakness enumeration
- ๐Ÿ”œ **Agentic Pentesting** - Multi-agent autonomous security testing

### Ultimate Goal

Enable **AI agents to autonomously**:
- ๐ŸŽฏ Map attack surfaces and identify vulnerabilities
- ๐Ÿ›ก๏ธ Recommend defensive countermeasures
- ๐Ÿ” Generate detection rules and validate coverage
- ๐Ÿค– Orchestrate multi-stage security assessments
- ๐Ÿ“Š Reason about complete attack-defense lifecycles

### Get Involved

**We welcome contributions from:**
- ๐ŸŽ“ **Students** working on thesis projects (cybersecurity, AI, agentic systems)
- ๐Ÿ”ฌ **Researchers** in AI security, threat intelligence, or agent frameworks
- ๐Ÿ’ป **Developers** passionate about security automation
- ๐Ÿข **Organizations** interested in research partnerships or commercial applications

**Areas of Interest:**
- Integrating additional security frameworks (CVE, D3FEND, Sigma)
- Building agentic workflows for pentesting and red teaming
- Developing detection rule generation pipelines
- Creating threat intelligence reasoning systems
- Improving MCP tooling and documentation

๐Ÿ“ฌ **Interested?** Open an issue, start a discussion, or reach out directly!

[Join the Discussion โ†’](https://github.com/imouiche/complete-mitre-attack-mcp-server/discussions)

---

## ๐Ÿค Contributing

Found a bug? Have a feature request? Want to contribute to the roadmap?

- ๐Ÿ› [Report Issues](https://github.com/imouiche/complete-mitre-attack-mcp-server/issues)
- ๐Ÿ’ก [Request Features](https://github.com/imouiche/complete-mitre-attack-mcp-server/issues/new)
- ๐Ÿ”ง [Submit Pull Requests](https://github.com/imouiche/complete-mitre-attack-mcp-server/pulls)
- ๐Ÿ’ฌ [Start a Discussion](https://github.com/imouiche/complete-mitre-attack-mcp-server/discussions)

All contributions welcome!

### Development Setup

```bash
git clone https://github.com/imouiche/complete-mitre-attack-mcp-server.git
cd complete-mitre-attack-mcp-server
uv sync
# uv run pytest (test/ folder not yet released)
uv run python -m mitre_mcp_server.server
```

---

## ๐Ÿ“œ License

Apache License 2.0

See [LICENSE](LICENSE) for full details.

---

## ๐Ÿ‘จโ€๐Ÿ’ป About the Author

**Inoussa Mouiche, Ph.D.**  
AI/ML Researcher | Cybersecurity | Agentic AI Systems | Software Engineering

๐ŸŽ“ **University of Windsor** - WASP Lab  
๐Ÿ”ฌ **Research Focus**: Threat Intelligence Automation, Machine Learning, Multi-Agent Security Systems, LLM-Powered Security Operations

๐Ÿ“ซ **Connect**
- ๐Ÿ™ GitHub: [@imouiche](https://github.com/imouiche)
- ๐Ÿ“ง Email: mouiche@uwindsor.ca
- ๐Ÿ’ผ LinkedIn: [Inoussa Mouiche, Ph.D.](https://www.linkedin.com/in/inoussa-mouiche-ph-d-b5b5138b/)
- ๐Ÿ“š Google Scholar: [Publications](https://scholar.google.com/citations?user=_d4cEVoAAAAJ&hl=en)

๐ŸŽ“ **Award Nomination** 
- Gold Medal: [The Governor General's Academic Medal ](https://www.gg.ca/en/honours/governor-generals-awards/governor-generals-academic-medal)

๐Ÿ’ผ **Open to opportunities** in:
- AI/ML Engineering & Research
- Cybersecurity & Threat Intelligence
- Agentic AI Development
- Security Automation & Orchestration
- Academic & Industry Collaborations

---

## ๐Ÿ™ Acknowledgments

- Built on [MITRE ATT&CKยฎ](https://attack.mitre.org/) - the industry standard for adversary tactics and techniques
- Powered by [mitreattack-python](https://github.com/mitre-attack/mitreattack-python) - official MITRE library
- Implements [Model Context Protocol](https://modelcontextprotocol.io) - Anthropic's standard for AI-tool integration
- Inspired by the amazing MCP developer community including [R. Jasper](https://www.remyjaspers.com/blog/mitre_attack_mcp_server/), and more...

**MITRE ATT&CKยฎ** is a registered trademark of The MITRE Corporation.

---

<div align="center">

**โญ Star this repo if you find it useful!**

**Interested in collaborating on agentic engineering systems?** [Let's connect!](https://www.linkedin.com/in/inoussa-mouiche-ph-d-b5b5138b/)

Made with โค๏ธ for the cybersecurity and AI communities

[โฌ† Back to Top](#-mitre-attck-mcp-server)

</div>

TDQS

A3.8/5.0

Scored across 65 tools

Disambiguation5/5

Each tool targets a distinct ATT&CK entity or relationship. No two tools have identical purposes; even closely related tools differ by input parameters or entity type, ensuring clear separation.

Naming Consistency4/5

Most tools follow a consistent 'verb_noun' pattern (e.g., get_all_*, search_*, generate_layer). A minor inconsistency exists with both 'get_software' and 'get_all_software' having overlapping functionality, but overall the naming is predictable.

Tool Count3/5

65 tools is high but appropriate for the comprehensive ATT&CK framework. The tool set covers many entity types and relationships, though some consolidation could reduce redundancy without losing functionality.

Completeness5/5

The tool set covers all major ATT&CK entities (techniques, groups, software, campaigns, etc.) and their relationships, plus utility tools for layer generation, search, and object resolution. No obvious gaps in the surface.

Maintenance

ActivityMaintained
ResponsivenessNo recent community issues