- Agents
- Workflows
- Tables (local and remote)
- Integrations (HTTP, gRPC, SQL)
- Scripts (Python, docker run)
- Cases (local and remote)
Setup
If you are self-hosted, replacehttps://platform.tracecat.com with your
PUBLIC_APP_URL (e.g. http://localhost or https://tracecat.example.com).
Authentication uses a built-in OIDC provider—your agent is redirected to sign in
through the browser on first connection. For clients or environments that cannot
complete a browser sign-in, authenticate with a
personal access token (PAT) instead.
- Claude Code
- OpenAI Codex
- GitHub Copilot
- Cursor
Sign in with OAuth:Or authenticate with a personal access token (PAT).
Set
TRACECAT_MCP_PAT in your environment and reference it with single
quotes so the variable (not the token) is written to the saved config:Personal access tokens
OAuth is the default. For clients or environments that cannot complete a browser sign-in (CI, headless runners, shared dev containers), authenticate with a workspace-scoped personal access token (PAT) instead. PATs work the same on self-hosted and Tracecat Cloud.- In your workspace, go to Settings → MCP and create a token. Set a name and expiration.
- Copy the token when it is shown. It is only displayed once and cannot be retrieved again.
- Pass it as a bearer header from your MCP client — see the PAT option in each Setup tab above for Claude Code, Codex, Copilot, and Cursor.
Treat the PAT like a secret. It grants MCP access scoped to the workspace it
was created in. Always send it in the
Authorization header—never in the URL
or a query string, where it leaks into server, proxy, and browser logs. Keep it
out of command output and application logs, and supply it through an environment
variable or secrets vault rather than hardcoding it in a config file. Revoke it
from Settings → MCP if it is exposed, and prefer short expirations.Starter prompts
Recreate automation from blog post
Audit and improve existing workflows
Build alert triage automation
Automate phishing email response
MCP tools
tool
List all workspaces accessible to the authenticated user.Returns paginated workspace summaries including workspace id/name and the owning org_id/org_slug. Multi-org users may receive workspaces from more than one organization in a single response.
tool
Create a new workflow in a workspace.
tool
Get metadata for a specific workflow.
tool
List the actions in a draft workflow as a compact index-and-ref table.Use this instead of
get_workflow when you only need to know which actions exist, their order, their depends_on wiring, or the current array index of a ref for edit_workflow. It returns one small row per action and no args, so it stays cheap on large workflows. Follow up with get_workflow_action to read one action in full, or get_workflow when you need the whole draft_document.tool
Get one action from a draft workflow by its
ref.Use this instead of get_workflow when you need the full definition of a single action (its args, run_if, for_each, retry policy, and so on) without loading the whole draft_document. Pair it with list_workflow_actions to discover refs. Edit the action afterwards with edit_workflow using /definition/actions/@<ref>/... paths.tool
Edit a draft workflow using RFC 6902 JSON Patch.Prefer this tool over
update_workflow for focused edits to an existing workflow. If the latest draft_document and draft_revision are already in the context window, reuse them and build the smallest patch that changes the intended fields. Call get_workflow only when the latest draft is missing, stale, or a revision conflict says the draft changed.Patch paths are rooted at draft_document, so action edits use /definition/actions/..., not /actions/....Address actions by ref, not index: /definition/actions/@<ref> (with any suffix, e.g. /definition/actions/@build_alert/args/url) and /layout/actions/@<ref> resolve to the action’s current index when each op runs, so you never need to test an index first or track how earlier ops shifted the array. add to /definition/actions/@<ref> appends a new action when the ref does not exist yet (the value’s ref must match); remove on /definition/actions/@<ref> deletes that action. An unknown ref fails the whole patch and names the known refs. Numeric paths (/definition/actions/N/...) still work with RFC 6902 array rules (/- appends, indexes shift after array edits), but the server re-sorts actions by ref on save, so prefer @<ref>.tool
Update workflow metadata and optional inline YAML.This tool does not accept
patch_ops. Use edit_workflow for RFC 6902 draft patches with a base_revision.tool
List workflows in a workspace.
tool
List workflow folders and workflows under a path.
tool
Create a workflow folder by absolute path.
tool
Rename a workflow folder by absolute path.
tool
Move a workflow folder under a new parent path.
tool
Delete a workflow folder by absolute path.
tool
Move workflows into or out of a folder.This tool is best-effort and non-atomic. If one workflow fails to move, the remaining workflow moves still proceed.
tool
Search or browse available actions and return compact context metadata.Supports three usage modes:
-> Search: provide
query to search by name/description across all namespaces. Example: list_actions(workspace_id, query=“send message”)
-> Browse by namespace: provide namespace without query to list all actions in a namespace. Example: list_actions(workspace_id, namespace=“core”)
-> Browse all: omit both to list all available actions.Common namespaces: core, tools, ai.tool
Sync the organization’s custom action registry from its remote git repository.Pulls the latest code from the custom registry repo registered in the caller’s organization, builds a versioned tarball, and makes the synced actions available to agents and workflows. Use this after pushing changes to the custom integrations repo, or to roll forward/back to a specific commit. Existing published workflows must be republished to pick up newly synced action versions.
tool
Get full schema and configuration context for a single action.Use this after discovering an action via
list_actions to get the complete parameter schema needed to write the args: block in a workflow definition.Example action names: “core.http_request”, “core.script.run_python”, “core.transform.reshape”.For grouped counts and metrics in workflows, use core.cases.aggregate_cases for cases or core.table.aggregate_rows for table rows. Pass either action name to this tool to get its input schema.tool
Get compact workflow authoring context for selected actions.Returns everything needed to write a workflow definition: action schemas, available secrets, and workspace variables. Use this before calling
create_workflow or update_workflow.Two input modes (provide one or neither):
-> By name: pass actions with an action_names list.
-> By search: pass query to search for actions by name/descriptiontool
Validate a workflow’s draft state.Checks that the workflow DSL is structurally sound and that arguments are valid.
tool
Prepare a staged template YAML upload for remote
/mcp clients.tool
Validate a template action YAML file.Validates YAML parsing, template schema correctness, step action references, argument schemas, and expression references.
tool
Publish (commit) a workflow, creating a new versioned definition.This validates the workflow, freezes registry dependencies, and creates a new workflow definition version.
tool
Run a workflow from its draft state or a published definition.By default runs the current draft (unpublished edits) so changes can be tested before publishing. Set
use_draft=False to run a published version instead.tool
List recent executions for a workflow.Use this to see run history, check which runs succeeded or failed, and find execution IDs for deeper inspection with
get_workflow_execution.tool
Get status and details of a specific workflow execution.Returns execution metadata (status, timing) and a compact event timeline showing each action’s status, timing, and any errors. Use this to debug failed runs or check the progress of running workflows.Each event’s
result is inlined only when its JSON is short; longer results appear as a cut-off result_truncated preview. To read one action’s complete result at any size, call get_execution_action_result.tool
Get the full stored result of one action in a workflow execution.Use this when
get_workflow_execution shows result_truncated for an action, or when the result was offloaded to blob storage, and you need the whole value (a findings list, a classification summary, an API payload). The result is returned as JSON text in byte windows: read total_bytes, and if truncated is true call again with offset=next_offset until next_offset is null. Concatenate the result strings in order to rebuild the JSON.tool
Get webhook configuration for a workflow.
tool
Update webhook configuration for a workflow.
tool
Get case trigger configuration for a workflow.
tool
Update an existing case trigger for a workflow.This tool replaces the whole trigger: every call sends
status, event_types and tag_filters, so pass all three. Omitting event_types or tag_filters clears them, and omitting status fails the write outright because the column is non-null. Call get_case_trigger first and send its current values back, changing only what you mean to change. Patching /case_trigger through edit_workflow is partial, unlike this tool.Valid event_types values: case_created, case_updated, case_closed, case_reopened, case_viewed, priority_changed, severity_changed, status_changed, fields_changed, assignee_changed, attachment_created, attachment_deleted, tag_added, tag_removed, payload_changed, task_created, task_deleted, task_status_changed, task_priority_changed, task_workflow_changed, task_assignee_changed, dropdown_value_changed, table_row_linked, table_row_unlinked, comment_created, comment_updated, comment_deleted, comment_reply_created, comment_reply_updated, comment_reply_deleted.tool
List workflow tag definitions in a workspace.Returns a JSON array of tag objects with
id, name, ref, and color.tool
Create a workflow tag definition.
tool
Update a workflow tag definition.
tool
Delete a workflow tag definition.
tool
List tags attached to a workflow.Returns a JSON array of tag objects with
id, name, ref, and color.tool
Attach an existing workflow tag definition to a workflow.
tool
Remove a workflow tag association from a workflow.
tool
List cases in a workspace with default sorting.
tool
Search cases with filtering and sorting.
tool
Get a specific case with full details including fields, tags, and description.
tool
Create a new case.
tool
Update a case. Only provided fields are changed.
tool
List all comments for a case.
tool
List comment threads for a case. Each thread contains the root comment and its replies.
tool
Create a new comment on a case. Provide
parent_id to reply to an existing comment.tool
Update an existing comment on a case.
tool
Delete a comment from a case.
tool
List all tasks for a case.
tool
Get a specific case task by ID.
tool
Create a new task on a case.
tool
Update a case task. Only provided fields are changed.
tool
Run the workflow associated with a case task.Fetches the task’s
workflow_id and default_trigger_values, merges them with case_id and task_id context (plus any caller-supplied overrides), then executes the latest published version of the workflow.tool
List activity events for a case. Events are system-generated audit entries that track every change to a case — status changes, priority changes, assignee changes, comments, tasks, tags, field changes, etc.
tool
List case tag definitions in a workspace.Returns a JSON array of tag objects with
id, name, ref, and color.tool
Create a case tag definition.
tool
Update a case tag definition.
tool
Delete a case tag definition.
tool
List tags attached to a case.Returns a JSON array of tag objects with
id, name, ref, and color.tool
Attach a case tag to a case.
tool
Remove a case tag association from a case.
tool
List case field definitions in a workspace.Returns a JSON array of field objects with
id, display_name, type, description, nullable, default, reserved, options, and optional kind.tool
Create a case field definition.Supports optional create-only
kind: LONG_TEXT requires type="TEXT" and URL requires type="JSONB".tool
Update a case field definition.
tool
List case dropdown definitions in a workspace. Requires the case add-ons entitlement.Returns a paginated JSON array of dropdown objects with
id, name, ref, icon_name, is_ordered, required_on_closure, position, and embedded options.tool
Create a case dropdown definition with optional initial options. Requires the case add-ons entitlement.
tool
Update a case dropdown definition. Only provided fields are changed. Requires the case add-ons entitlement.
tool
Delete a case dropdown definition along with all its options and per-case values. Requires the case add-ons entitlement.
tool
Add an option to a case dropdown definition. Requires the case add-ons entitlement.
tool
Update an option within a case dropdown definition. Only provided fields are changed. Requires the case add-ons entitlement.
tool
Delete an option from a case dropdown definition. Requires the case add-ons entitlement.
tool
Set or clear a dropdown value on a case. Provide exactly one of
definition_id or definition_ref, and at most one of option_id or option_ref; omit both option arguments to clear the value. Requires the case add-ons entitlement.tool
List workspace tables.
tool
Create a table with optional columns.
tool
Get table definition and index metadata.
tool
Update table metadata.
tool
Add a column to an existing table. Migrating a table is never needed to add a field. This alters the schema every workflow and view reads, so tell the user which table and column you are about to change and get their confirmation before calling this tool.
tool
Insert a table row.
tool
Insert multiple table rows.
tool
Update a table row.
tool
Update multiple table rows with the same values.
tool
Search rows in a table.
tool
Export table data as a staged download URL.
tool
Create a unique index on a table column. Only one unique index per table is allowed.
tool
Drop the unique index on a table column.
tool
List workspace variables.
tool
Get a workspace variable.
tool
List secret metadata without secret values.
tool
Get secret metadata by name without secret values.
tool
List workspace integrations useful for workflow and preset authoring.
tool
Get models, integrations,
output_type guidance, and other preset authoring context.tool
Create an agent preset in the selected workspace.Use
skills to attach published skills. Each binding contains skill_id.Attach tools via actions, mcp_integration_ids, or a skill’s metadata.tools.tool
Update an existing agent preset in the selected workspace.Use
skills to replace attached published skills. Each binding contains skill_id. Omit skills to leave bindings unchanged, or pass an empty list to detach all skills.Attach tools via actions, mcp_integration_ids, or a skill’s metadata.tools.Set clear_output_type=true to remove an existing output_type (agent returns plain text). Omitting output_type leaves it unchanged.tool
List agent folders and presets under a path.
tool
Create an agent folder by absolute path.
tool
Rename an agent folder by absolute path.
tool
Move an agent folder under a new parent path.
tool
Delete an agent folder by absolute path.
tool
Move agent presets into or out of a folder by preset slug.
tool
List workspace skills with IDs, names, and current published versions.Use this before updating, publishing, or attaching skills to agent presets.
tool
Get skill details and the mutable draft manifest, or read one draft file.Without
path, return the draft manifest: paths, SHA-256 digests, sizes, draft_revision, is_publishable, and validation_errors; it never returns file contents. Call this before updating an existing skill to reconcile after a draft_revision_conflict and to see what a complete-tree replacement would delete.With path, read that one file from the draft. Small UTF-8 text files are returned inline. Other files return a short-lived download URL whose bytes must be fetched to disk with a plain HTTP GET; never inline downloaded bytes into context.tool
Prepare direct HTTP downloads of the complete mutable skill draft.Pass the response to the local helper, which streams each file’s bytes to disk and verifies its SHA-256 digest. Never fetch these URLs into model context. Use
get_skill without path when only file digests are needed, and use get_skill with path to read one small text file inline.tool
Prepare direct HTTP uploads for a complete local skill directory.This is the preferred local-directory upload path. Pass file paths, SHA-256 digests, sizes, and content types only; never inline file contents or base64. Omit
skill_id and provide name to create a skill, or provide skill_id and omit name/description to replace an existing draft.Upload every file to its short-lived URL with the returned method and headers, then call complete_skill_upload with the returned skill_id, base_revision, paths, and upload IDs.Declare the skill’s tools in its SKILL.md frontmatter metadata.tools.tool
Attach staged uploads and replace a skill draft with the local file set.Call this only after every URL returned by
prepare_skill_upload has received its raw file bytes. Files absent from this complete set are removed. base_revision prevents overwriting a concurrent draft edit. This does not publish the draft.tool
Publish a skill draft into an immutable skill version.Only published skill versions can be attached to agent presets.
tool
List saved agent preset slugs and names.Use
get_agent_preset for the full preset definition.tool
Get the full configuration for a saved agent preset by slug.
tool
Run an agent preset with a prompt and return text or approval status.Creates an ephemeral session, triggers the agent workflow, and waits for the response. The agent has access to all tools configured on the preset and its skills.