MCP server providing 50+ tools for MITRE ATT&CK techniques, groups, and mitigations
AI-Native Access to the World's Leading Threat Intelligence Framework
Features โข Installation โข Quick Start โข Tools โข Examples โข Roadmap
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:
Perfect for: Security teams, threat hunters, detection engineers, AI researchers, and anyone building intelligent security systems.
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:
No scraping.
No fragile APIs.
Just official MITRE data, structured and reliable.
pip install mitre-mcp-server
npm install -g @imouiche/mitre-attack-mcp-server
npx @imouiche/mitre-attack-mcp-server
uv pip install mitre-mcp-server
git clone https://github.com/imouiche/complete-mitre-attack-mcp-server.git
cd complete-mitre-attack-mcp-server
npm install
git clone https://github.com/imouiche/complete-mitre-attack-mcp-server.git
cd complete-mitre-attack-mcp-server
uv sync
pip install mitre-mcp-server
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"]
}
}
}
Quit Claude Desktop completely (Cmd+Q on macOS) and reopen it.
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/).
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
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
The server exposes 50+ MCP tools covering all major MITRE ATT&CK entities and relationships.
| 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 |
| 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 |
| 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 |
| 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 |
| 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 |
| 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 |
| 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 |
"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?"
"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)?"
"What techniques use PowerShell?"
"Show me lateral movement techniques for Linux"
"Which groups use Cobalt Strike?"
"What persistence techniques target macOS?"
"What mitigations exist for phishing attacks?"
"Show me all mitigations for privilege escalation"
"What techniques does MFA mitigate?"
"Generate a layer for all techniques our EDR covers"
"Compare APT29 TTPs against our detection capabilities"
"Show unmitigated techniques in our environment"
The generate_layer tool produces ATT&CK Navigatorโcompatible JSON.
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
Threat Investigation:
Read my Medium blog demonstrating how a multi-agent LangGraph system leverages these tools to perform a real-world threat investigation.
Live Demo:
Explore the interactive Gradio 6.2 demo on Hugging Face Spaces.
mitreattack-python (v5.3.0+)~/.mitre-mcp-server/data/v{version}/This project is the first component of a larger vision to build comprehensive agentic security automation by integrating multiple security knowledge bases and frameworks.
Enable AI agents to autonomously:
We welcome contributions from:
Areas of Interest:
๐ฌ Interested? Open an issue, start a discussion, or reach out directly!
Found a bug? Have a feature request? Want to contribute to the roadmap?
All contributions welcome!
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
Apache License 2.0
See LICENSE for full details.
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
๐ Award Nomination
๐ผ Open to opportunities in:
MITRE ATT&CKยฎ is a registered trademark of The MITRE Corporation.
โญ Star this repo if you find it useful!
Interested in collaborating on agentic engineering systems? Let's connect!
Made with โค๏ธ for the cybersecurity and AI communities
Source-derived launch command. Check the maintainerโs required arguments and credentials before running:
npx -y @imouiche/mitre-attack-mcp-serverMerge this template into ~/Library/Application Support/Claude/claude_desktop_config.json. Keep existing servers. Add any arguments, credentials, and permissions required by the maintainer; this template has not been install-tested.
{
"mcpServers": {
"io-github-imouiche-mitre-attack-mcp-server": {
"command": "npx",
"args": [
"-y",
"@imouiche/mitre-attack-mcp-server"
]
}
}
}Restart Claude Desktop completely for changes to take effect. Confirm the server appears connected in the clientโs tool list, then try a read-only example from its documentation.
Claude Desktop setup reference@imouiche/mitre-attack-mcp-servernpmio.github.imouiche/mitre-attack-mcp-server works with any MCP-compatible client. Copy the config snippet from the Configuration section above and add it to the file shown for your client, then restart the application.
~/Library/Application Support/Claude/claude_desktop_config.jsonRestart Claude Desktop completely for changes to take effect.~/.cursor/mcp.jsonRestart Cursor for changes to take effect..vscode/mcp.jsonReload VS Code window for changes to take effect.~/.codeium/windsurf/mcp_config.jsonRestart Windsurf for changes to take effect..mcp.jsonSave at the project root, then start Claude Code in that project and review the MCP server approval prompt. Keep real credentials out of shared files.