- 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
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.
Create a new workflow in a workspace.
Get metadata for a specific workflow.
Edit a draft workflow using RFC 6902 JSON Patch.
Update workflow metadata and optional inline YAML.
List workflows in a workspace.
List workflow folders and workflows under a path.
Create a workflow folder by absolute path.
Rename a workflow folder by absolute path.
Move a workflow folder under a new parent path.
Delete a workflow folder by absolute path.
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.
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.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.
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”.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/descriptionValidate a workflow’s draft state.Checks that the workflow DSL is structurally sound and that arguments are valid.
Prepare a staged template YAML upload for remote
/mcp clients.Validate a template action YAML file.Validates YAML parsing, template schema correctness, step action references, argument schemas, and expression references.
Publish (commit) a workflow, creating a new versioned definition.This validates the workflow, freezes registry dependencies, and creates a new workflow definition version.
Run a workflow from its current draft state (without publishing).Optionally update the workflow’s title/description before running.
Run the latest published version of a workflow.The workflow must have been published (committed) at least once.
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.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.
Get webhook configuration for a workflow.
Update webhook configuration for a workflow.
Get case trigger configuration for a workflow.
Update an existing case trigger for a workflow.
List workflow tag definitions in a workspace.Returns a JSON array of tag objects with
id, name, ref, and color.Create a workflow tag definition.
Update a workflow tag definition.
Delete a workflow tag definition.
List tags attached to a workflow.Returns a JSON array of tag objects with
id, name, ref, and color.Attach an existing workflow tag definition to a workflow.
Remove a workflow tag association from a workflow.
List cases in a workspace with default sorting.
Search cases with filtering and sorting.
Get a specific case with full details including fields, tags, and description.
Create a new case.
Update a case. Only provided fields are changed.
List all comments for a case.
List comment threads for a case. Each thread contains the root comment and its replies.
Create a new comment on a case. Provide
parent_id to reply to an existing comment.Update an existing comment on a case.
Delete a comment from a case.
List all tasks for a case.
Get a specific case task by ID.
Create a new task on a case.
Update a case task. Only provided fields are changed.
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.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.
List case tag definitions in a workspace.Returns a JSON array of tag objects with
id, name, ref, and color.Create a case tag definition.
Update a case tag definition.
Delete a case tag definition.
List tags attached to a case.Returns a JSON array of tag objects with
id, name, ref, and color.Attach a case tag to a case.
Remove a case tag association from a case.
List case field definitions in a workspace.Returns a JSON array of field objects with
id, type, description, nullable, default, reserved, options, and optional kind.Create a case field definition.Supports optional create-only
kind: LONG_TEXT requires type="TEXT" and URL requires type="JSONB".Update a case field definition.
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.Create a case dropdown definition with optional initial options. Requires the case add-ons entitlement.
Update a case dropdown definition. Only provided fields are changed. Requires the case add-ons entitlement.
Delete a case dropdown definition along with all its options and per-case values. Requires the case add-ons entitlement.
Add an option to a case dropdown definition. Requires the case add-ons entitlement.
Update an option within a case dropdown definition. Only provided fields are changed. Requires the case add-ons entitlement.
Delete an option from a case dropdown definition. Requires the case add-ons entitlement.
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.List workspace tables.
Create a table with optional columns.
Get table definition and index metadata.
Update table metadata.
Insert a table row.
Insert multiple table rows.
Update a table row.
Update multiple table rows with the same values.
Search rows in a table.
Export table data as a staged download URL.
Create a unique index on a table column. Only one unique index per table is allowed.
Drop the unique index on a table column.
List workspace variables.
Get a workspace variable.
List secret metadata without secret values.
Get secret metadata by name without secret values.
List workspace integrations useful for workflow and preset authoring.
Get models, integrations,
output_type guidance, and other preset authoring context.Create an agent preset in the selected workspace.Use
skills to attach published skill versions. Each binding requires skill_id and skill_version_id from list_skills and publish_skill.Update an existing agent preset in the selected workspace.Use
skills to replace attached published skill-version bindings. Each binding requires skill_id and skill_version_id. Omit skills to leave bindings unchanged, or pass an empty list to detach all skills.List agent folders and presets under a path.
Create an agent folder by absolute path.
Rename an agent folder by absolute path.
Move an agent folder under a new parent path.
Delete an agent folder by absolute path.
Move agent presets into or out of a folder by preset slug.
List workspace skills with IDs, names, and current published versions.Use this before updating, publishing, or attaching skills to agent presets.
Upload a local skill directory into Tracecat as a workspace skill.This creates a new logical skill. Use
update_skill when replacing an existing skill draft to avoid duplicate skill rows with the same name.Agents should read the local directory themselves, preserve relative paths, include the root SKILL.md file, and pass every file in files using content_base64.Replace an existing skill draft with a local skill directory.This does not publish the draft. Call
publish_skill after the update if the skill should be attachable to agent presets.Publish a skill draft into an immutable skill version.Only published skill versions can be attached to agent presets.
List saved agent preset slugs and names.Use
get_agent_preset for the full preset definition.Get the full configuration for a saved agent preset by slug.
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.