Atomic Red Team
list_art_techniques
Returns the Atomic Red Team technique index (324 techniques), with an optional substring filter on technique ID or name. Costs 1 credit.
Cost: 1 credit per successful call · Response shape: jsonb
Parameters
querystringoptionalSubstring to match against technique ID or name. Must be 1–80 characters. Omit to return all techniques up to the limit.
limitintegeroptionaldefault 50Maximum number of techniques to return. Accepted range: 1–100.
Example invocation
Ask your agent: "Show me which Atomic Red Team techniques cover credential dumping."
curl -s https://api.edgeprotect.io/functions/v1/mcp \
-H "Authorization: Bearer $EDGEPROTECT_API_KEY" \
-H "Content-Type: application/json" \
-d '{"jsonrpc":"2.0","id":1,"method":"tools/call","params":{"name":"list_art_techniques","arguments":{"query":"credential","limit":10}}}'
Response
{
"count": 4,
"query": "credential",
"limit": 10,
"items": [
{
"id": 47,
"attack_technique": "T1003",
"display_name": "OS Credential Dumping"
},
{
"id": 48,
"attack_technique": "T1003.001",
"display_name": "LSASS Memory"
},
{
"id": 49,
"attack_technique": "T1003.006",
"display_name": "DCSync"
},
{
"id": 182,
"attack_technique": "T1552",
"display_name": "Unsecured Credentials"
}
],
"generated_at": "2026-05-29T10:24:31.118Z"
}
The full MCP envelope (including _meta.edgeprotect with request ID and credit details) is described in Response Format.
Response fields
| Field | Type | Description |
|---|---|---|
count |
integer | Number of items returned (equals items.length, not the total index size). |
query |
string or null | The substring filter that was applied, or null if no filter was provided. |
limit |
integer | The effective limit that was applied. |
items |
array | Matched techniques, ordered by technique ID. |
items[].id |
integer | Internal technique row identifier. |
items[].attack_technique |
string | ATT&CK technique or sub-technique ID (e.g. T1003, T1003.001). |
items[].display_name |
string | Human-readable technique name. |
generated_at |
string | ISO 8601 timestamp when the response was generated. |
Errors
| Code | Message | When |
|---|---|---|
-32602 |
invalid_params: query: length:1..80 |
query is an empty string or exceeds 80 characters. |
-32602 |
invalid_params: limit: min:1 |
limit is less than 1. |
-32602 |
invalid_params: limit: max:100 |
limit exceeds 100. |
-32001 |
unauthorized |
API key is invalid, revoked, or not permitted from this IP. |
-32002 |
insufficient_credits |
Credit balance is zero. Top up from the dashboard. |
-32603 |
internal |
Unexpected server error. The credit is automatically refunded. |
For the complete error reference, see Errors.

