MCP server providing access to MITRE ATT&CK threat intelligence framework
Project description
๐ก๏ธ MITRE ATT&CK MCP Server
AI-Native Access to the World's Leading Threat Intelligence Framework
Features โข Installation โข Quick Start โข Tools โข Examples โข Roadmap
๐ฏ 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
- Key Features
- Installation
- Quick Start
- MCP Registry
- Available Tools
- Example Queries
- ATT&CK Navigator
- Technical Details
- Roadmap & Vision
- Contributing
- License
- About the Author
- Acknowledgments
โจ Key Features
- โ 50+ 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
npm (recommended)
npm install -g @imouiche/mitre-attack-mcp-server
npx (no installation required)
npx @imouiche/mitre-attack-mcp-server
Local Development
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)
git clone https://github.com/imouiche/complete-mitre-attack-mcp-server.git
cd complete-mitre-attack-mcp-server
uv sync
โก Quick Start
1. Install
npm install -g @imouiche/mitre-attack-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
{
"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
Installation Options
Option 1: Direct NPM
npm install -g @imouiche/mitre-attack-mcp-server
Option 2: NPX (no installation)
npx @imouiche/mitre-attack-mcp-server
Option 3: Discover via Registry
- Visit MCP Registry
- Search for "mitre-attack"
- Click the server card for installation instructions
๐ ๏ธ Available Tools
The server exposes 80+ 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?"
Blog demo coming soon...
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)?"
Blog demo coming soon...
Threat Hunting
"What techniques use PowerShell?"
"Show me lateral movement techniques for Linux"
"Which groups use Cobalt Strike?"
"What persistence techniques target macOS?"
Blog demo coming soon...
Mitigation & Defense
"What mitigations exist for phishing attacks?"
"Show me all mitigations for privilege escalation"
"What techniques does MFA mitigate?"
Blog demo coming soon...
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"
Blog demo coming soon...
๐ ATT&CK Navigator Visualization
The generate_layer tool produces ATT&CK Navigatorโcompatible JSON.
Usage:
-
Ask Claude to generate a layer:
"Generate an ATT&CK Navigator layer for all techniques used by APT29"
-
Save the JSON output to a file (e.g.,
apt29_layer.json) -
Upload to ATT&CK Navigator
-
Visualize technique coverage, threat actor usage, or mitigation mapping
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!
๐ค Contributing
Found a bug? Have a feature request? Want to contribute to the roadmap?
- ๐ Report Issues
- ๐ก Request Features
- ๐ง Submit Pull Requests
- ๐ฌ Start a Discussion
All contributions welcome!
Development Setup
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 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
- ๐ง Email: mouiche@uwindsor.ca
- ๐ผ LinkedIn: Inoussa Mouiche, Ph.D.
- ๐ Google Scholar: Publications
๐ผ 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ยฎ - the industry standard for adversary tactics and techniques
- Powered by mitreattack-python - official MITRE library
- Implements Model Context Protocol - Anthropic's standard for AI-tool integration
- Inspired by the amazing MCP developer community including R. Jasper
MITRE ATT&CKยฎ is a registered trademark of The MITRE Corporation.
โญ Star this repo if you find it useful!
Interested in collaborating on agentic security systems? Let's connect!
Made with โค๏ธ for the cybersecurity and AI communities
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 mitre_mcp_server-0.1.0.tar.gz.
File metadata
- Download URL: mitre_mcp_server-0.1.0.tar.gz
- Upload date:
- Size: 9.8 MB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
1bd0f69cc9f19035a10f6212873ad505a436ba3d1cb30acf150f8a31e22f103a
|
|
| MD5 |
3ec40073a45786ce49ee5078399f4851
|
|
| BLAKE2b-256 |
bf4652eda36e70bc671e9acdfc12793a8bd480a7c8ba89b9861e12d83af68449
|
File details
Details for the file mitre_mcp_server-0.1.0-py3-none-any.whl.
File metadata
- Download URL: mitre_mcp_server-0.1.0-py3-none-any.whl
- Upload date:
- Size: 10.1 MB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
ada25eecb4b017f06bfc09216c44d33b79d72d3d0bf55bb739f589a615e0ffc4
|
|
| MD5 |
e11049c11b94dd454824e31af54228f0
|
|
| BLAKE2b-256 |
c2a912337464806c3477842b348b2601dc8020c95d455d705d47c1f0abccfe72
|