MITRE ATT&CK MCP Server
<div align="center">
# ๐ก๏ธ MITRE ATT&CK MCP Server
**AI-Native Access to the World's Leading Threat Intelligence Framework**
[](https://www.npmjs.com/package/@imouiche/mitre-attack-mcp-server)
[](https://www.npmjs.com/package/@imouiche/mitre-attack-mcp-server)
[](LICENSE)
[](https://registry.modelcontextprotocol.io)
[](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>
---
## ๐ฏ 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 **50+ 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
Scored across 65 tools
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.
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.
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.
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.