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.
POST
tools/callCost: 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://mcp.precursorintelligence.com \
-H "Authorization: Bearer $PRECURSOR_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.precursor 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.