Skip to main content

Tools

The AI MCP Server exposes a set of tools that Robi AI can invoke to interact with Universal Controller. These tools are used by the Robi AI Assistant during conversations.

By default, all tools are allowed for the AI Assistant. This allows Robi AI to utilize its full set of capabilities while assisting you.

warning

It is possible to disallow specific tools in application.yml, but be aware that doing so will limit the functionality of Robi AI. We recommend leaving all tools whitelisted unless you have a specific reason to disable one.

The AI Analyze feature uses a subset of the available tools by default. Again, it is possible to disable any of these tools, but we do not recommend doing so. It is also possible to whitelist more tools for AI Analyze, but this is not recommended either. The AI Analyze tools are intentionally limited to keep its functionality focused on task instance analysis.

All Tools

The tables below list all available tools, organized by category.

By default, all tools are allowed for the AI Assistant. The column on the right indicates if the tool is allowed by default for AI Analyze.

Task Tools

Tools for managing Task definitions: listing, retrieving details, launching, and auditing.

ToolDescriptionAllowed for AI Analyze
launch_taskLaunch a task by exact task definition name. Returns a taskInstanceId for tracking the execution.
list_tasksList task definitions with optional filtering. Supports wildcards (*, ?) in taskName.
get_taskGet full details of a specific task definition by ID or exact name. For workflows, includes graph information (edges and vertices).
get_task_auditGet Audit records showing all configuration changes made to a task definition. Audit information returned by this tool may be limited based on a user's roles.
get_task_schemaGet an example JSON template for a specific task type from the UC OpenAPI specification.

Task Instance Tools

Tools for managing Task Instances (runtime executions): retrieving details, listing, updating, rerunning, and retrieving output.

ToolDescriptionAllowed for AI Analyze
get_task_instanceGet full details of a specific task instance, including all properties, execution details, status, status history, and optionally, any output from the current attempt if includeOutput=true.
get_workflow_instanceGet workflow instance information, including base task instance details.
get_task_instance_dependenciesGet dependencies of a task instance. Shows which tasks or conditions it is waiting for.
update_task_instance_fieldsUpdate task instance fields using a JSON object matching the get_task_instance output format.
rerun_task_instanceRerun a task instance after fixing its command or when retry is needed.
retrieve_task_instance_outputActively retrieve task instance output from the agent. Use when get_task_instance with includeOutput=true returns empty output for agent-based tasks.
get_task_instance_universal_templateGet Universal Template information for a Universal task instance, including fields, output mapping, exit codes, and optionally scripts or extension source code.
list_task_instances_by_nameList task instances by instance name. Supports wildcards (*, ?).
list_task_instances_by_task_nameList task instances created from a specific task definition by exact task name.
list_task_instances_by_task_idList task instances created from a specific task definition by task definition sysId.
list_task_instances_by_workflow_instance_nameList task instances within a specific workflow instance by workflow instance name.
list_task_instances_by_workflow_instance_idList task instances within a specific workflow instance by workflow instance sysId.
list_task_instances_by_top_level_workflow_instance_idList all task instances across an entire workflow hierarchy (including nested sub-workflows) in a single call.
get_task_instance_auditGet Audit records for a specific task instance showing user actions and system operations on that instance. Audit information returned by this tool may be limited based on a user's roles.
list_task_instance_variablesList variables associated with a task instance.
update_task_instance_variableUpdate a variable value for a specific task instance.

Trigger Tools

Tools for listing and retrieving Trigger definitions.

ToolDescriptionAllowed for AI Analyze
list_triggersList triggers with optional filtering. Supports wildcards (*, ?) in triggerName.
get_triggerGet full details of a specific trigger definition by ID or exact name.

Agent Tools

Tools for managing Agents and Agent Clusters.

ToolDescriptionAllowed for AI Analyze
list_universal_agentsList Universal Agents with optional filtering by name, type, and status.
get_universal_agentGet details of a specific Universal Agent by exact name or ID.
list_agent_clustersList Agent Clusters with optional filtering. Supports wildcards (*, ?).
get_agent_clusterGet details of a specific agent cluster by exact ID or name.

Script Tools

Tools for managing Scripts: retrieving, updating content, and auditing.

ToolDescriptionAllowed for AI Analyze
get_scriptGet details of a specific Script by ID or name, including content, type, and configuration.
update_script_contentUpdate the content of a Script by name without changing other script properties.
get_script_auditGet Audit records for a Script showing all changes. Audit information returned by this tool may be limited based on a user's roles.

Variable Tools

Tools for managing Global Variables.

ToolDescriptionAllowed for AI Analyze
get_global_variableGet a global variable by name. Global variables are system-wide and apply to all tasks unless overridden.
update_global_variableUpdate a global variable value. Affects all task instances unless overridden at task or workflow level.

Other Tools

Tools which do not manage Controller records.

ToolDescriptionAllowed for AI Analyze
search_documentation

Search the documentation if the user prompt is a request for product knowledge, or information from the docs is needed to perform an analysis.

Unlike all other tools, search_documentation is not an MCP tool. This is a tool the AI Service provides directly to allow the AI to query the docs when additional information is needed.

Configuring Tools

Both the AI Assistant and AI Analyze features support a configurable tool whitelist, which you can use to restrict which tools are available to each service. When a whitelist is configured, only the listed tools will be exposed to the AI.

This provides administrators with fine-grained control over what operations the AI is permitted to perform. This is an advanced configuration option. We generally recommend against disabling tools, as this can diminish the effectiveness of the AI Assistant and AI Analyze features. However, you may want to customize tool availability in some scenarios, such as:

  • Restricting write operations (e.g., remove update_* and rerun_* tools) for read-only deployments
  • Limiting tool access based on security or compliance requirements
  • Gradually rolling out new tools by adding them to the whitelist as they are validated

You can configure the tool whitelist in application.yml. The default (recommended) configuration is given below:

application.yml
stonebranch:
ai:
# Tool access control - defines which tools are available in each mode
# Use wildcard "*" to allow all tools, or specify a list of tool names
#
# Environment variable override (comma-separated):
# export STONEBRANCH_AI_TOOLS_CHAT_ALLOWED="*"
# export STONEBRANCH_AI_TOOLS_ANALYZE_ALLOWED="get_task_instance,update_task_instance_command,search_documentation"
#
# Spring Boot relaxed binding converts comma-separated env vars to List<String>
# Environment variables override the YAML defaults below
tools:
chat-allowed:
- "*"
analyze-allowed:
- get_task_instance
- get_workflow_instance
- get_task_instance_dependencies
- list_task_instances_by_workflow_instance_id
- list_task_instances_by_top_level_workflow_instance_id
- update_task_instance_fields
- rerun_task_instance
- retrieve_task_instance_output
- get_task_instance_universal_template
- get_task_instance_audit
- list_task_instance_variables
- update_task_instance_variable
- get_global_variable
- update_global_variable
- get_task_audit
- get_script_audit
- get_universal_agent
- list_universal_agents
- get_agent_cluster
- list_agent_clusters
- get_task
- get_script
- update_script_content
- search_documentation