Publish and manage MCP tools

Updated at:

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.

Important

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.

image

Add a tool

  1. Select the application and application version, specify the Tool Name, and select the Owning MCP server.

    image

    Parameter

    Description

    Application and application version

    Important

    Relationship 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.

    Important

    We 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.

  2. Add the tool description and define the input parameters for this tool version.

    image

    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.

    Important
    1. This 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.

    2. The parameter name, type, and required status must be defined or modified in the editor's parameter panel, as shown in the following figure.

    image

    • 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

        Note

        When 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.

      • image

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

      Note
      • We 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.

  3. (Optional) Configure callback settings.

    1. 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.

    2. When you configure a callback URL, an HTTP POST request is sent to the URL to verify connectivity.

      Important

      Validation involves sending an empty POST request to the URL over the internet. The test passes if the server returns an HTTP 200 status code.

  4. (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.

  5. (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:

image

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.

    image

  • 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.

    image

Switch tool versions

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

image

Note

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 get_city_weather_project

RPA application

Publish a test application named get_city_weather_test

Publish a production application named get_city_weather

MCP Tool

Publish a test MCP Tool named get_city_weather_test to the test MCP Server (named test_server)

Publish a production MCP Tool named get_city_weather to the production MCP Server (named prd_server)

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.

image

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.

image

Note

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.

MCP invocation sequence

See OpenAPI triggers and MCP triggers.