Install
$ agentstack add skill-adrojis-tracecat-skills-tracecat-mcp-tools-expert ✓ scanned · ✓ verified — works with Claude Code, Cursor, and more.
Security review
✓ PassedNo issues found. Passed automated security review. · v0.1.0 How review works →
- ✓ Prompt-injection patterns
- ✓ Secret / credential exfiltration
- ✓ Dangerous shell & filesystem operations
- ✓ Untrusted network calls
- ✓ Known-malicious package signatures
What it can access
- ✓ Network access No
- ✓ Filesystem access No
- ✓ Shell / process execution No
- ✓ Environment & secrets No
- ✓ Dynamic code execution No
From automated source analysis of v0.1.0. “Used” means the capability is present in the source — more access means more to trust, not that it’s unsafe.
About
Tracecat MCP Tools Expert
You are an expert at using Tracecat MCP tools to manage workflows, cases, executions, and secrets in a Tracecat SOAR platform.
Critical Rule: Always Use Native Action Types
When creating actions with tracecat_create_action, ALWAYS use native/official action types before falling back to generic ones:
- Cases →
core.cases.create_case,core.cases.update_case,core.cases.create_comment(NEVER reshape) - Integrations →
tools.virustotal.*,tools.crowdstrike.*,tools.splunk.*,tools.okta.*,tools.microsoft_defender.*,tools.sharepoint.*(NEVER core.http_request when native exists) core.http_request→ ONLY when no native integration existscore.transform.reshape→ ONLY for data transformation, never for CRUDcore.script.run_python→ ONLY when logic can't be expressed otherwise
Available Tools (51 total)
System (1)
tracecat_health_check— Always start here to verify Tracecat is running
Workflows (8)
tracecat_list_workflows— List all workflowstracecat_create_workflow— Create a new workflow (title + description)tracecat_get_workflow— Get workflow details by IDtracecat_update_workflow— Update title, description, or statustracecat_deploy_workflow— Commit/deploy a workflow to make it activetracecat_export_workflow— Export workflow YAML definitiontracecat_delete_workflow— Delete a workflow permanentlytracecat_validate_workflow— Validate workflow without deploying (checks actions, inputs, expressions, graph connectivity)
Actions (5)
tracecat_list_actions— List all actions in a workflowtracecat_create_action— Create a new action (type + title, requires workflow_id)tracecat_get_action— Get action details by IDtracecat_update_action— Update title, description, inputs, control_flowtracecat_delete_action— Delete an action
Executions (5)
tracecat_run_workflow— Execute a workflow with optional payloadtracecat_list_executions— List executions (optionally filter by workflow)tracecat_get_execution— Get full execution details with eventstracecat_get_execution_compact— Get compact execution (action-level status, inputs, results, errors)tracecat_cancel_execution— Cancel a running execution
Cases (7)
tracecat_list_cases— List cases (optionally filter by status)tracecat_create_case— Create a case linked to a workflowtracecat_get_case— Get a specific case by IDtracecat_update_case— Update case status, priority, etc.tracecat_delete_case— Delete a case permanentlytracecat_add_comment— Add a comment to a casetracecat_list_comments— List all comments on a case
Secrets (5)
tracecat_search_secrets— Search secrets by nametracecat_create_secret— Create a new secret with key-value pairstracecat_get_secret— Get secret metadata by nametracecat_update_secret— Update secret keys or descriptiontracecat_delete_secret— Delete a secret permanently
Tables (5)
tracecat_list_tables— List all tablestracecat_create_table— Create a new tabletracecat_get_table— Get table details by ID (includes columns)tracecat_update_table— Update table name or descriptiontracecat_delete_table— Delete a table
Table Columns (2)
tracecat_create_column— Create a column (types: TEXT, INTEGER, NUMERIC, DATE, BOOLEAN, TIMESTAMP, TIMESTAMPTZ, JSONB, UUID, SELECT, MULTI_SELECT)tracecat_delete_column— Delete a column
Table Rows (6)
tracecat_list_rows— List rows with optional paginationtracecat_get_row— Get a specific row by IDtracecat_insert_row— Insert a new rowtracecat_update_row— Update an existing rowtracecat_delete_row— Delete a rowtracecat_batch_insert_rows— Insert multiple rows at once
Schedules (5)
tracecat_list_schedules— List schedules (optionally filter by workflow)tracecat_create_schedule— Create a cron or interval schedule for a workflowtracecat_get_schedule— Get schedule detailstracecat_update_schedule— Update cron, interval, status, or inputstracecat_delete_schedule— Delete a schedule
Webhooks (1)
tracecat_create_webhook_key— Generate/rotate a webhook API key
Graph (5)
tracecat_get_graph— Get workflow graph (nodes, edges, positions, version)tracecat_add_edges— Add connections between actions (source_type: 'trigger' or 'udf')tracecat_delete_edges— Remove connections between actionstracecat_move_nodes— Reposition action nodes (recommended: trigger at x=500,y=0, 160px vertical spacing)tracecat_update_trigger_position— Reposition the trigger node
Documentation (1)
tracecat_docs— Get inline documentation (topics: actiontypes, expressions, functions, controlflow, common_mistakes)
Recommended Operation Order
Creating a new workflow from scratch
tracecat_health_check— Verify connectivitytracecat_list_workflows— Check existing workflowstracecat_create_workflow— Create the workflowtracecat_create_action— Add actions one by onetracecat_update_action— Configure inputs and control flow for each actiontracecat_add_edges— Connect trigger → actions → actions (use source_type 'trigger' for first edge)tracecat_move_nodes— Position all nodes (trigger at 500,0; first action at 500,300; 160px spacing)tracecat_validate_workflow— Check for errors before deployingtracecat_deploy_workflow— Deploy to make it activetracecat_run_workflow— Test executiontracecat_get_execution_compact— Check results
Investigating an incident
tracecat_list_caseswith status filtertracecat_get_case— Get full case detailstracecat_update_case— Set toin_progresstracecat_add_comment— Document findingstracecat_run_workflow— Trigger remediation workflowstracecat_update_case— Set toresolved
Checking execution results
tracecat_list_executions— Find the executiontracecat_get_execution_compact— Quick triage (action status + errors)tracecat_get_execution— Deep investigation (full event history)
Setting up a scheduled workflow
- Create and deploy the workflow first
tracecat_create_schedule— Set cron or intervaltracecat_list_schedules— Verify it's active
Working with tables
tracecat_create_table— Create the tabletracecat_insert_row/tracecat_batch_insert_rows— Add datatracecat_list_rows— Query datatracecat_update_row— Modify entries
Graph API — Node Positioning
Use the Graph tools (tracecat_get_graph, tracecat_add_edges, tracecat_delete_edges, tracecat_move_nodes, tracecat_update_trigger_position) to manage node connections and positions. When creating actions, nodes default to (0, 0) and overlap. You MUST reposition nodes after creating/wiring them.
API Endpoint
PATCH /api/workflows/{workflow_id}/graph?workspace_id={workspace_id}
Requires cookie-based auth (login via POST /auth/login first), NOT service key.
move_nodes Operation (validated format)
{
"base_version": ,
"operations": [
{
"type": "move_nodes",
"payload": {
"positions": [
{"action_id": "", "x": 250, "y": 200},
{"action_id": "", "x": 250, "y": 400}
]
}
}
]
}
CRITICAL format rules:
- Field is
action_id(NOTnode_id, NOTid) - Coordinates
xandyare flat at root level (NOT nested inposition: {x, y}) positionsis a list (NOT a dict)base_versionmust match the current graph version (get it with GET on the graph endpoint)
Other Graph Operations
| Operation | Payload fields | |---|---| | add_edge | source_id, source_type ("trigger" or "udf"), target_id | | delete_edge | source_id, source_type, target_id | | update_node | action_id, plus fields to update | | move_nodes | positions: list of {action_id, x, y} | | update_trigger_position | x, y | | update_viewport | x, y, zoom |
Node Layout Best Practices
Spacing rules (validated in Tracecat UI):
- Vertical spacing between levels: 200px minimum — Nodes are ~100px tall. Less than 200px causes overlap.
- Horizontal spacing between siblings: 350px minimum — Nodes are ~250px wide. Less than 350px causes overlap for case/action nodes with long titles.
- Branch offset: 250-300px from center axis — When a node branches (e.g. if/else), offset children left and right from parent's x.
Layout algorithm for common patterns:
- Linear chain (A → B → C): Same x, increment y by 200
`` A (250, 0) → B (250, 200) → C (250, 400) ``
- Binary branch (A → B | C): Parent centered, children offset ±300
`` A (250, 600) B (0, 850) C (600, 850) ``
- Triple fan-out (A → B | C | D): Parent centered, children at -350, 0, +350
`` A (0, 1000) B (-350, 1250) C (0, 1250) D (350, 1250) ``
- Full workflow example (trigger → chain → branch → fan-out):
`` Trigger (250, 0) Step 1 (250, 250) Step 2 (250, 450) Decision (250, 650) Left branch (0, 880) Right branch (600, 880) Sub-step (0, 1100) Case A (-350, 1350) Case B (0, 1350) Case C (350, 1350) ``
Key principles:
- Keep the main chain centered on x=250 (aligns with default trigger position)
- Use consistent vertical gaps (200-230px for tight layouts, 250px for readability)
- For branches, offset symmetrically from the parent's x coordinate
- For fan-outs of 3+ nodes, calculate:
parent_x + (i - (n-1)/2) * 350for each child i
Tips
- Workflow IDs are UUIDs like
wf:abc123... - Always deploy a workflow after making changes
- Always reposition nodes after creating them — MCP-created nodes default to (0,0)
- Executions are asynchronous; use
tracecat_get_execution_compactfor quick status checks - The workspace ID is auto-detected on server start
- Use
tracecat_create_actionwithtypematching the action registry (e.g.core.transform.reshape,core.http_request,core.script.run_python) tracecat_update_actionacceptsinputsas a YAML string (not JSON object) andcontrol_flow(runif, foreach, retry_policy)- Actions require
workflow_idon every operation (get, update, delete) - Tables require columns to be created before inserting rows (use
tracecat_create_column) - Batch insert rows expects flat objects (keys = column names), not wrapped in
data - Expression operators: use
&&and||(NOTand/or) - Use
tracecat_validate_workflowbefore deploying to catch common errors early - Use
tracecat_docsto get inline reference on action types, expressions, functions, or common mistakes
Related Skills
- tracecat-workflow-patterns — Design patterns and templates for SOAR workflows
- tracecat-yaml-syntax — YAML syntax reference for workflow definitions
- tracecat-integration-expert — Configure external tool integrations
- tracecat-case-management — Case lifecycle and incident tracking
- tracecat-validation-debug — Debug failed executions and troubleshoot errors
- tracecat-code-python — Write Python scripts for run_python actions
Reference Files
- [Common Mistakes](./COMMON_MISTAKES.md)
- [Examples](./EXAMPLES.md)
- [README](./README.md)
Source & license
This open-source skill is cataloged on AgentStack and links to its original source — we do not rehost the code.
- Author: adrojis
- Source: adrojis/tracecat-skills
- License: MIT
Install and usage instructions live in the source repository linked above.
Reviews
No reviews yet — be the first.
Write a review
Versions
- v0.1.0 Imported from the upstream source.