Toolsets
Introduction
Toolsets in DIAL are connections with MCP servers that can be used as tools by any internal or external application to perform specific actions. Refer to Video Demo to watch how tools are used in DIAL Quick Apps 2.0.
In DIAL, you can use self-hosted toolsets based on the deployed MCP containers and external toolsets deployed outside of DIAL using their endpoints.
DIAL Core API allows to access available toolset deployments and to add and manage toolsets. You can also add toolsets via a direct configuration of DIAL Core.
This documentation section describes how to manage toolsets in DIAL Admin.
Main Screen
On this screen, you can find all toolset deployments existing in your DIAL instance that were added via a direct modification of DIAL Core config file or via DIAL Admin. Here you can view, filter, and add new toolset definitions.
Note: Published toolsets (toolsets located in the Public folder in DIAL file system) are available in the Assets/Toolsets section.

Toolsets grid
| Field | Description |
|---|---|
| Display Name | Name of a toolset displayed on UI (e.g. GitHub, Google Maps). |
| Description | Description of a toolset. |
| ID | Unique key under the toolsets section of DIAL Admin. |
| Source Type | Source type of the toolset: - MCP Container: Toolset is based on a running MCP container. - External Endpoint: External API endpoint for externally-deployed custom toolsets. - MCP Registry: MCP server from the registry. |
| Source | Identifier of a toolset source. - For the MCP Container source type, it is a container ID. - For External Endpoint - a URL of the external endpoint. - For MCP Registry - MCP server name based on MCP Registry. |
| Author | Name of the toolset creator. |
| Topics | Tags or categories assigned for toolsets for discovery, filtering, or grouping on UI (e.g. "finance," "support"). |
| Creation Time | Entity creation timestamp. |
| Updated Time | Timestamp of the latest update of the entity. |
| Actions | Actions you can perform on the selected toolsets: - Open in a new tab: Opens the toolset's properties, features, and parameters in a new tab. - Duplicate: Creates a copy of the toolset. Refer to Duplicate to learn more. - Delete: Removes the toolset. Refer to Delete to learn more. |
Create
Follow these steps to add a new toolset definition:
-
Click + Create on the main screen to invoke a Create Toolset modal.
-
Define parameters:
Field Required Description ID Yes Define a unique identifier of a toolset. Display Name Yes Define a name of a toolset shown across the UI (e.g. GitHub, Google Maps). Description No Enter a free-text note about the this toolset’s purpose, capabilities, or any other relevant details. Source Type Yes Choose between the available source types of toolset:
- MCP Container: Toolset is based on a running MCP container.
- External Endpoint: External API endpoint for externally-deployed custom toolsets.
- MCP Registry: MCP Registry for Model Context Protocol (MCP) servers.External Endpoint Conditional Define a Toolset API endpoint for MCP calls.
Applies for External Endpoint source type.Container Conditional Select one of the available and running MCP containers from the list.
Applies for MCP Container source type.MCP server name Conditional Applies for MCP Registry source type.
Select one of the available MCP servers in the registry.
Important: MCP servers must support Remotesstreamable-httpandsse. -
Click Create to close the dialog and open the configuration screen. When done with toolset configuration, click Save. It may take some time for changes to take effect after saving.

Duplicate
You can duplicate an existing toolset to create a copy of it.
Note: When duplicating a toolset that requires authentication, you will be prompted to enter authentication credentials that will apply to a duplicate for security purposes.
To create a duplicate of a toolset:
- Click Duplicate in the actions menu of a toolset on the main screen.
- In the Duplicate Toolsets window:
- Enter Display Name and ID for the duplicated toolset.
- Enter OAuth credentials that will apply for the duplicate.
- Click Duplicate to complete the procedure.

Delete
There are several ways to delete a toolset or a specific version of it:
- Click Delete in the toolbar on the Configuration screen to permanently remove the selected toolset from your DIAL instance.
- Use the Delete option in the toolset context menu.
Configuration
You can access the toolset configuration screen by clicking any toolset on the main screen and also when adding a new toolset. In this section, you can view and configure the selected toolset.
- Properties: Main definitions.
- Tools Overview: Optional capabilities and custom endpoints.
- Roles: User groups that can access the toolset.
- Audit: Detailed logs of individual configuration changes.
Properties
In the Properties tab, you can view and edit main definitions and settings of the selected toolset.
| Field | Required | Editable | Description |
|---|---|---|---|
| ID | - | No | Unique key under the toolsets section of DIAL Admin. |
| Updated Time | - | No | Date and time when the toolset's configuration was last updated. |
| Creation Time | - | No | Date and time when the toolset's configuration was created. |
| Authentication | - | No | Current authentication status of the selected toolset: - Logged out: The toolset is not authenticated with the related MCP server. - Logged in (Personal): The toolset is authenticated with your personal credentials only. - Logged in (Organization): The toolset is authenticated with organization credentials only. - Logged in: The toolset is authenticated at both personal and organization levels. |
| Sync with core | - | No | Indicates the state of the entity's configuration synchronization between Admin and DIAL Core. Synchronization occurs automatically every 2 mins (configurable via CONFIG_AUTO_RELOAD_SCHEDULE_DELAY_MILLISECONDS).Important: Sync state is not available for sensitive information (API keys/tokens/auth settings). Synced: Entity's states are identical in Admin and in Core for valid entities or entity is missing in Core for invalid entities. In progress...: If Synced conditions are not met and changes were applied within last 2 mins (this period is configurable via CONFIG_EXPORT_SYNC_DURATION_THRESHOLD_MS).Out of sync: If Synced conditions are not met and changes were applied more than 2 mins ago (this period is configurable via CONFIG_EXPORT_SYNC_DURATION_THRESHOLD_MS).Unavailable: Displayed when it is not possible to determine the entity's state in Core. This occurs if: - The config was not received from Core for any reason. - The configuration of entities in Core is not entirely compatible with the one in the Admin service. |
| Display Name | Yes | Yes | Name of a toolset shown across the UI (e.g. GitHub, Google Maps). |
| Description | No | Yes | Description of a toolset. |
| Maintainer | No | Yes | Name of the user overseeing the toolset's configuration. |
| Icon | No | Yes | Logo to visually distinguish toolsets in the UI. |
| Topics | No | Yes | Topics are semantic labels that you can assign to toolsets (e.g. "finance", "support") for better navigation on UI. Click to display a list of available topics. You can add your own custom topics to the list following these rules: - The topic name must not exceed 255 characters. - The topic name must not contain leading or trailing spaces. |
| Source Type | Yes | Yes | The source type of the selected toolset: - MCP Container: Toolset is based on a running MCP container. - External Endpoint: External API endpoint for externally-deployed custom toolsets. - MCP Registry: MCP Registry for Model Context Protocol (MCP) servers. |
| External Endpoint | Conditional | Yes | Toolset endpoint for MCP calls. Applies for External Endpoint source type. |
| Container | Conditional | Yes | MCP server container ID. Applies for MCP Container deployment source type. |
| MCP server name | Conditional | Yes | Name of MCP server from the MCP Registry. Start typing in the text box to search for available MCP servers or click Select from registry to display a window with a list of available MCP servers and their details. Applies for MCP Registry source type. |
| Transport | Yes | Yes | Transport supported by a related endpoint. Available options: HTTP (default) or SSE (deprecated) |
| Forward per request key | No | Yes | Set this flag to true if you want a per-request key to be forwarded to the toolset endpoint allowing a toolset to access files in the DIAL storage. Note: it is not allowed to create toolsets with authType.API_KEY and forwardPerRequestKey=true. |
| Forward auth token | No | Yes | This parameter allows to determine whether to forward an Auth Token to your toolset's endpoint. If enabled, HTTP header with authorization token is forwarded to toolset endpoint. |
| Max retry attempts | Yes | Yes | Number of times DIAL Core will retry routing a failed call to a toolset endpoint (due to timeouts or 5xx errors). |
| Authentication | Yes | Yes | Toolset authentication configuration. |

Authentication
If the toolset you have chosen requires authentication at the related MCP server, you will have to sign in before you can use it. For example, if you are using an application that relies on the MCP toolset and authentication is required, you will not be able to access it unless you are logged in. Therefore, make sure you are authenticated with MCP server you are about to use.
Refer to DIAL Core to learn more about toolset authentication.
Step 1: Select and configure the authentication method
DIAL supports several authentication methods for toolsets:
- OAuth: Authenticate via OAuth 2.0 with an external identity provider. If this option is selected, you have to populate the authentication form with correct values provided by the identity provider:
- Redirect URI: Redirect URI used during sign in flows. After authentication, the MCP Server redirects the User to the provided URI.
- Client ID: The unique identifier of the client/application requesting access to the resource.
- Client Secret: A confidential key used by the client to authenticate itself with the authentication server.
- Scopes Supported: List of supported scopes that define access levels. May be discovered via .well-known endpoints.
- Default authorization endpoint: URL for performing authorization. Can be discovered via .well-known metadata if provided by the Authorization Server.
- Default token endpoint: The URL where the client exchanges the authorization code for an access token. Can be discovered via .well-known metadata if provided by the Authorization Server.
- PKCE method: The method used for Proof Key for Code Exchange (PKCE), usually
plainorS256.
- API Key: Authenticate using API key. If this option is selected, you have to provide the API key and header name in the configuration.
- Without authentication: No authentication enforced, endpoint is publicly accessible.

Step 2: Choose authentication level(s)
Having selected and configured any authentication method, click Save and Log In to authenticate a toolset with the related MCP server. At this step, choose the level you want to authenticate:
- Personal: the toolset is authenticated for your user only with the state Logged in (Personal).
- Organization: the toolset is authenticated for all users in your organization with the state Logged in (Organization).
- Both: You can keep both personal and organization authentication active for the same toolset. In this case, authentication status is displayed as Logged in. When you use Log out, you can also choose the level to sign out from (Personal, Organization, or both).
Tip: At this step, for authentication with API keys, you will be prompted to provide a valid API key value.

Tools Overview
Tools are specific functions supported by a related MCP server that can be used by clients to perform specific actions. On this screen, you can find and manage all tools supported by the related MCP server.
In case your toolset was created based on the MCP container deployed in DIAL, the content of this screen is inherited from the related MCP container and displays all the enabled tools. Click Manage tools to access, try and enable all the available tools.
Use all tools
Enable Use all available tools toggle to automatically include all tools supported by the related MCP server. When enabled, you cannot add or remove tools manually.
Click on any tool to preview its details or try it out.

Manage tools
Disable Use all available tools toggle to enable a manual tools management mode.

- Disable Use all available tools toggle and click Manage tool button to open the Manage tools modal.
- The modal displays all tools available to your user. You can preview and enable/disable each tool individually.
- MCP sever can support other tools that are not available to your user and therefore are not rendered in the list of available tools. If you know their names, you can manually add them. Manually-added tools are labeled accordingly on the Tools Overview screen.
- Click Confirm to apply changes.
- On the Tools overview screen, use the filter to see all tools, just auto-detected tools or manually added tools.
- Hover over any tool to see its details or try it out.

Try tools
Click or hover over any enabled tool and click Try out to enter the Try out mode.
In the Try out mode, you can test each enabled tool by sending a request to the server. When sending a request, you can use the rendered UI form or a raw JSON mode to populate the request input fields.
To try tool
- Click any available tool to access its description and input schema parameters. You can display input schema in both table and JSON view modes.
- Click Try out to open a side bar for sending requests.
- Populate the Request body. You can display request body in both table and JSON view modes.
- Click Send Request to send the request. The response from the server will be displayed in the Response body area.

Roles
You can create and manage roles in the Access Management section.
In the Roles tab, you can define user groups that are authorized to use a specific toolset.
- Refer to Access & Cost Control to learn more about access control in DIAL.
- Refer to Roles to learn more about roles in DIAL.
- Refer to tutorials to learn how to configure access and limits for JWT and API keys

Roles grid
| Column | Description |
|---|---|
| ID | Unique role's identifier. |
| Display Name | Role's name. |
| Description | Description of the role's purpose (e.g., "DIAL Prompt Engineering Team"). |
| Actions | Additional role-specific actions: When Make available to specific roles toggle is off - opens the Roles section in a new tab. When Make available to specific roles toggle is on, you can open the Roles section in a new tab or remove the role from the list. |
Role-Specific Access
Use Make available to specific roles toggle to define access to the toolset:
- Off: Toolset is callable by any authenticated user. All existing user roles are in the grid.
- On: Toolset is restricted - only the roles you explicitly add to the grid can invoke it.

Add
You can add a role only if Make available to specific roles toggle is On.
- Click + Add (top-right of the Roles Grid).
- Select one or more roles in the modal. The list or roles is defined in the Access Management section.
- Confirm to add role(s) to the table.
Remove
You can remove a role only if Make available to specific roles toggle is On.
- Click the actions menu in the role's line.
- Choose Remove in the menu.

Audit
In the Audit tab, you can monitor key metrics, activities and usage related to the selected toolset. This tab provides comprehensive insights into performance, user interactions, and operational changes. You can track real-time and historical data, identify usage patterns, audit and roll back all modifications made to the selected toolset for compliance and troubleshooting purposes.
Note: This section mimics the functionality available in the global Dashboard, Activity and Usage Log sections, but is scoped specifically to the selected toolset.

JSON Editor
Advanced users with technical expertise can work with the toolset properties in a JSON editor view mode. It is useful for advanced scenarios of bulk updates, copy/paste between environments, or tweaking settings not exposed on UI.
TIP: You can switch between UI and JSON only if there are no unsaved changes.
In JSON editor, you can use the view dropdown to select between Admin format and Core format. Note, that these formatting options are for your convenience only and do not render properties as they are defined in DIAL Core. After making changes, the Sync with core indicator on the main configuration screen will inform you about the synchronization state with DIAL Core.

Working with JSON Editor
- Navigate to Entities → Toolsets, then select the toolset you want to edit.
- Click the JSON Editor toggle (top-right). The UI reveals the raw JSON.
- Chose between the Admin and Core format to see and work with properties in the necessary format. Note: Core format view mode does not render the actual configuration stored in DIAL Core but the configuration in Admin service displayed in the DIAL Core format.
- Make changes and click Save to apply them.
- After making changes, the Sync with core indicator on the main configuration screen will inform you about the synchronization state with DIAL Core.