Publish and manage MCP tools
The Model Context Protocol (MCP) is an open protocol that provides a channel for communication between large models and external tools. This product allows you to convert your enterprise's standard operating procedures (SOPs) into automated workflows, which an AI agent can then invoke as MCP Tools.
For an example of the development and usage process, see Develop an MCP Tool for agent invocation.
Key concepts
This section introduces MCP-related concepts and product-specific extensions.
Supported MCP protocol version: 2025-03-26.
This product provides two types of MCP Servers:
Category
Description
System MCP Server
Provides common MCP Tools, such as querying task status and results by TaskId.
The product provides one system MCP Server by default, named
aiworker_system. You cannot add, modify, or delete this MCP Server or the MCP Tools it contains.You can decide whether to use the system MCP Server based on your integration plan.
Business MCP Server
Tools published from automated workflows can only belong to a business MCP Server.
The product provides one business MCP Server by default, named
aiworker_default.You can create multiple business MCP Servers to meet your needs, such as categorizing them by department (for example, finance or marketing).
MCP Tool
This product supports publishing content only as MCP Tools. It does not support MCP Resources, Prompts, or other types.
This product extends the MCP protocol with the concept of a "tool version". This concept is used only for tool definition and management. The MCP Client is not aware of tool versions during invocation.
Relationship with MCP Server. This product adds the following constraints on top of the MCP protocol:
Tool names must be unique within your tenant (RPA enterprise).
A tool can only belong to one MCP Server.
MCP gateway instance
The MCP gateway centrally controls all MCP calls. This product includes a built-in MCP gateway instance, allowing you to invoke tools immediately after publishing.
Tool management
When you open the MCP Server menu, the tool management interface appears by default. The tree structure on the left lists all MCP Servers and MCP Tools for the current tenant (RPA enterprise). By default, the root node is selected, displaying basic information for all tools and allowing you to search them. When you select a tool under a business MCP Server, you can view all its versions and their publishing status. You can also perform operations such as renaming the tool in the tree structure.

Add a tool
Select the application and application version, specify the Tool Name, and select the Owning MCP server.

Parameter
Description
Application and application version
ImportantRelationship between tools and RPA applications:
You can only create an MCP Tool from a published application.
There is a one-to-one relationship between an application and a tool, as well as between an application version and a tool version.
Tool Name
The Tool Name can be up to 100 characters long. Chinese characters are not supported. We recommend using underscores (_) to separate words.
ImportantWe recommend not using the application name as the Tool Name.
In on-premises robot scenarios, users can also filter and execute applications by name in the robot client. The large model uses the Tool Name and Tool Description to find the tool, so the name should be easy for the model to understand.
Owning MCP server
You can only select a business MCP Server.
Add the tool description and define the input parameters for this tool version.

Parameter
Description
Description (Tool description)
The product provides a default Description template that you can customize.
Input parameters
Input parameters are divided into two types: input parameters for the automated workflow and system input parameters.
System input parameters cannot be modified or deleted.
For automated workflow input parameters, the parameter name, parameter type, and required status are defined during the workflow development phase.
ImportantThis step validates the parameter name and type. If validation fails, you cannot proceed. Follow the error message to make corrections in the editor's parameter panel, republish the application, and then add the tool for the new version.
The parameter name, type, and required status must be defined or modified in the editor's parameter panel, as shown in the following figure.

Input parameters for the automated workflow
Item
Details
Parameter name
Define and edit in the editor's parameter panel.
Format requirements: Must consist of uppercase or lowercase letters, numbers, or underscores. It must start with a letter and must not end with an underscore.
Parameter type
Editor's parameter panel
NoteWhen you develop an MCP Tool by using RPA, use the "text box" type for all parameters, as shown in the preceding figure. Perform format conversions within the automated workflow as needed. This approach prevents data transmission issues caused by format conversion.
Tool parameter type
The MCP protocol uses JSON-RPC to describe tool definitions. Therefore, when you define tool input parameters in this step, use only basic JSON types and JSON Schema.
For recommendations on using specific parameter types, see the following sections.
Required
Define and edit in the editor's parameter panel.
Parameter description
You must provide a detailed description to inform the large model about the purpose of this input parameter and any additional requirements for its content, such as format rules.
Parameters can be classified into three types based on their purpose: basic types, structured strings, and files.
Basic types
Supported basic types include string, integer, date, and datetime. You can also set validation conditions for basic types, such as default values and enum values.
Structured strings
Automated workflows often need to operate on a set of data, such as sending different messages to multiple people. In these cases, an input parameter may require a specific data structure. When you develop an MCP Tool by using RPA, keep the structure of input parameters simple. Complex schemas make it difficult for the large model to generate tool inputs.
For structured input parameters, you can select the "JSON structure" type and follow the guide to complete the definition.
The complexity of the parameter structure should not exceed that of the following examples:
Type
Example
Simple array
["1","2","3"]Two-dimensional array
[ ["1","2","3"], ["a","b","c"] ]Key-value structure
{ "name":"Tom", "age":21, "address":"Beijing" }Array of key-value structures
[ { "name": "Tom", "age": 21, "address": "Beijing" }, { "name": "Jerry", "age": 19, "address": "Hangzhou" } ]You can use the built-in feature to automatically generate the parameter definition.
Select "JSON structure" for the parameter type to open the JSON definition window. If you are familiar with JSON Schema, you can define the data structure directly in the window or import existing JSON Schema content.

You can also use the "Quick JSON Data Import" feature to automatically generate the corresponding JSON schema from JSON data.


NoteWe recommend defining structured input parameters to help the large model understand and generate the required tool parameters.
We recommend using the "Quick JSON Data Import" feature to automatically generate the definition from sample data.
Files
Automated workflows often need to handle files, such as reading data from an Excel file to fill out a web form. In such cases, you need to consider how to pass file content to the automated workflow.
Method 1: If the file content is small and has a clear structure (such as Excel or CSV), you can parse the content and pass it as a structured input parameter as described earlier.
Method 2: If the file is large, we recommend passing a file link. The input parameter for the automated workflow is a file link (for example, a file stored in Object Storage Service (OSS)). The workflow then downloads the file, parses it, and performs the subsequent operations. For more information, see Download and upload files by using Alibaba Cloud OSS.
System input parameters
Parameter
Type
Required
Description
RobotId
string
Yes
Specifies the robot that executes the automation task.
Both on-premises robots and service robots can be invoked by MCP.
TaskPriority
integer
No
The priority of the automation task. A positive integer from 0 to 100. The default value is 50.
This setting affects only the task's position in the robot's pending execution queue. Higher values indicate higher priority.
(Optional) Configure callback settings.
After you configure a callback, a notification is triggered when the status of a task created by this MCP Tool changes. The details of the callback notification depend on the robot type used. For a service robot, see CreateTask. For an on-premises robot, see createServiceTask.
When you configure a callback URL, an HTTP POST request is sent to the URL to verify connectivity.
ImportantValidation involves sending an empty POST request to the URL over the internet. The test passes if the server returns an HTTP 200 status code.
(Optional) You must publish a tool to an MCP gateway instance before it can be invoked. You can publish the newly defined tool directly in this step.
(Optional) Use a large model to evaluate the MCP Tool. This helps you refine the information you have added to the tool.
Evaluate a tool
Before an MCP Tool is invoked by a large model, you can use the AI-assisted evaluation feature. From the model's perspective, this feature evaluates whether the tool's information can be accurately understood and used. You can then decide whether to make changes based on the evaluation results.
The evaluation covers the Tool name, description, and input schema for this version of the MCP Tool.
The evaluation process is static and does not trigger an actual MCP Tool invocation.
The following figure shows an example of evaluation results:

Tool version management
Relationship between tools and RPA applications
Publishing a new version of an RPA application does not automatically create a new tool version. You must add the new version manually. As shown in the following figure, a tool can only run a specific version of an application.

Unpublishing an RPA application
The tool corresponding to the application is not automatically unpublished, but MCP invocations will fail.
Because the application is unpublished, you cannot add a new tool version for it.
Add a new tool version
When adding a new version, you cannot change the Tool Name. To modify the name, you must use the "Edit Tool Name" operation separately.
You need to provide the tool information. By default, you must fill in the Tool description and Tool input information for the new version. You can use the "Use Info from Another Version" feature to copy and modify information from an existing version.

Switch tool versions
You can use the Publish and Unpublish functions to control which version of a tool runs on the MCP gateway instance.

If a tool has multiple versions, at most one version can run on a single MCP gateway instance at any given time.
Testing and production for iterations
During the continuous development and iteration process after a tool is published, you may need to make the following types of changes:
Modifications to the tool's information, such as changing the description.
Adjustments to the automated workflow, which result in a new version of the corresponding RPA application.
In this case, you also need to test the tool before going live. Similar to the process for RPA applications (for more information, see Application iteration: testing and release), you can create a separate MCP Server and MCP Tool for testing purposes. Take get_city_weather as an example.
Test phase | Production | |
Project | The project name is | |
RPA application | Publish a test application named | Publish a production application named |
MCP Tool | Publish a test MCP Tool named | Publish a production MCP Tool named |
Other operations
Edit a specific tool version. You can modify the tool's description and input parameters. After modification, you must publish the tool to the MCP gateway instance for the changes to take effect.
Edit the Tool Name. You must unpublish all versions of the tool before you can modify its name.
Delete a tool version. You must unpublish the version before you can delete it.
Delete a tool. After you delete all versions of a tool, the tool is automatically deleted.
System built-in tools
For more information, see System built-in MCP Tools.
MCP invocation
MCP invocation authentication and permissions
All MCP requests require authentication. Anonymous invocations are not supported. You can manage credentials in MCP Server > Credential Management.

The permission scope for MCP invocation depends on the robot type used. For more information about robot types, see Choose a robot type.
On-premises robot
A robot can run only the applications that have been approved for its account in advance. For more information, see Publish and manage applications. The robot can be triggered by manual execution in the client or an OpenAPI call, among other methods.
If you use MCP to invoke this type of robot, the MCP Client still receives the list of all tools on the MCP gateway instance. However, tool execution may fail if the token lacks the required application permissions.
Service robot
A service robot can be triggered by an OpenAPI call. OpenAPI can run all published applications; your upstream system is responsible for controlling the execution scope.
Therefore, when you use MCP to invoke this type of robot, the MCP Client can invoke all available tools.
MCP connection information
In the MCP Server menu, you can select "Get MCP Server Connection Information" to obtain the invocation address and connection details for a specific MCP gateway instance.

The connection information includes connection and authentication details for multiple MCP Servers, including both business and system types. Some AI application development platforms (such as Alibaba Cloud Model Studio) and AI clients (such as Cherry Studio) allow you to add only one MCP Server at a time. In such cases, you must split the connection information and enter the details for each MCP Server separately.



