Skip to main content

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

npm npm downloads License MCP Registry GitHub release

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


โœจ 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

Via PyPI (recommended) - Python Users

pip install mitre-mcp-server

npm

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

npx (no installation required)

npx @imouiche/mitre-attack-mcp-server

Via uv (Modern Python)

uv pip install mitre-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

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

{
  "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

  1. Visit MCP Registry
  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?"
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:

  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

  4. 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!

Join the Discussion โ†’


๐Ÿค Contributing

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

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

๐ŸŽ“ Award Nomination

๐Ÿ’ผ Open to opportunities in:

  • AI/ML Engineering & Research
  • Cybersecurity & Threat Intelligence
  • Agentic AI Development
  • Security Automation & Orchestration
  • Academic & Industry Collaborations

๐Ÿ™ Acknowledgments

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

โฌ† Back to Top

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

mitre_mcp_server-0.1.1.tar.gz (9.8 MB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

mitre_mcp_server-0.1.1-py3-none-any.whl (10.1 MB view details)

Uploaded Python 3

File details

Details for the file mitre_mcp_server-0.1.1.tar.gz.

File metadata

  • Download URL: mitre_mcp_server-0.1.1.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

Hashes for mitre_mcp_server-0.1.1.tar.gz
Algorithm Hash digest
SHA256 006e6584782c175d433d51cc6dd90a7de3aaad8fe19461db8162049765f03694
MD5 3830c4c9b62b468d0ef7b9cf3464722c
BLAKE2b-256 1d597022990f71c210e6b53fa2f68b5c8c1dd2b8651d7040c861040c878def97

See more details on using hashes here.

File details

Details for the file mitre_mcp_server-0.1.1-py3-none-any.whl.

File metadata

File hashes

Hashes for mitre_mcp_server-0.1.1-py3-none-any.whl
Algorithm Hash digest
SHA256 3ca70f6c7ab8c18ca343e52f2985788ef9ebdb96c80e348529827b2737d2d77f
MD5 d8ed25d18f435c3659b690483e4666c5
BLAKE2b-256 63188cf9bff72086af6afeba3d061f3e25359a5bdbf11d37abf83fd4152e86b3

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page