attack-query-mcp
MCP server for ATT&CK queries via AI assistants.
Overview
This package provides a Model Context Protocol (MCP) server that enables AI assistants like Claude to query MITRE ATT&CK data using natural language.
Installation
pip install attack-query-mcp
Usage
With Claude Desktop
Add to your Claude Desktop configuration (claude_desktop_config.json):
{
"mcpServers": {
"attack-query": {
"command": "attack-query-mcp"
}
}
}
Standalone
attack-query-mcp
Tools
The MCP server provides 8 tools for querying ATT&CK data:
| Tool | Description |
|---|---|
query_attack |
Natural language queries (e.g., "techniques used by APT28") |
get_technique |
Get technique details by ID (e.g., T1566) |
get_group |
Get group info by name, ID, or alias |
compare_groups |
Compare techniques between two groups with similarity metrics |
find_similar_groups |
Find groups with similar technique profiles |
get_mitigations |
Get mitigations for a technique |
export_navigator_layer |
Export techniques as Navigator layer JSON |
get_group_techniques_temporal |
Get techniques used by a group during a specific time period |
Example Tool Usage
User: What techniques does APT28 use for initial access?
AI: [calls query_attack with "techniques used by APT28 for initial access"]
User: Compare APT28 and APT29
AI: [calls compare_groups with group1="APT28", group2="APT29"]
User: What mitigations address phishing?
AI: [calls get_mitigations with technique_id="T1566"]
User: What techniques did APT28 use in 2023?
AI: [calls get_group_techniques_temporal with group="APT28", year=2023]
User: What techniques did APT29 use between 2020 and 2023?
AI: [calls get_group_techniques_temporal with group="APT29", start_year=2020, end_year=2023]
Note: Temporal queries approximate group activity by cross-referencing campaign data. Results only include techniques documented in campaigns, not all techniques attributed to the group.
Resources
The MCP server exposes 6 resources for browsing ATT&CK data:
| URI | Description |
|---|---|
attack://groups |
List all threat groups with IDs, names, and aliases |
attack://techniques |
List all techniques with IDs, names, and tactics |
attack://tactics |
List all tactics in kill chain order |
attack://software |
List all software (malware and tools) |
attack://mitigations |
List all mitigations with technique counts |
attack://campaigns |
List all campaigns with dates and attribution |
Example Resource Usage
User: Show me all APT groups in ATT&CK
AI: [reads attack://groups resource]
User: What tactics are in the kill chain?
AI: [reads attack://tactics resource]
Resource Templates
The MCP server also provides resource templates for detailed lookups:
| URI Template | Description |
|---|---|
attack://groups/{id} |
Get details for a specific group (by ID, name, or alias) |
attack://techniques/{id} |
Get details for a specific technique (by ID like T1566) |
Example Resource Template Usage
User: Tell me about APT28
AI: [reads attack://groups/APT28 resource]
User: What is technique T1566?
AI: [reads attack://techniques/T1566 resource]
User: Who is Fancy Bear?
AI: [reads attack://groups/Fancy%20Bear resource]
Requirements
- Python 3.10+
- attack-query library
License
MIT
Metadata
Release files for attack-query-mcp 0.4.1
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| attack_query_mcp-0.4.1.tar.gz | 19.4 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| attack_query_mcp-0.4.1-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 34.2 kB
Release files / attack_query_mcp-0.4.1.tar.gz
| Download URL | attack_query_mcp-0.4.1.tar.gz |
|---|---|
| Size | 19.4 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
fa5390a1e17dcaabb28e99654f08c08c51b0d55e0f2b31b3abc7043a00de8608
|
|
BLAKE2b-256 checksum How to use checksums |
9670d4420f907b26ff9dd9a592b498174ae57b7bf3281cf6406a63125ca6fb86
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
uv/0.9.24 {"installer":{"name":"uv","version":"0.9.24","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
|
Release files / attack_query_mcp-0.4.1-py3-none-any.whl
| Download URL | attack_query_mcp-0.4.1-py3-none-any.whl |
|---|---|
| Size | 14.8 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
8a730be4a402386abcd6f9723c5634548939853388c061e0a8eac80f1dc4601d
|
|
BLAKE2b-256 checksum How to use checksums |
2ea0cef4b0428b85428f4323a2c27b5b2cbdb05cc79a64acaa4990152a7baac9
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
uv/0.9.24 {"installer":{"name":"uv","version":"0.9.24","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
|