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. |
| Updated Time | Date and time when the toolset's configuration was last updated. |
| 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. |
| 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. |
| Author | Name of the toolset creator. |
| Topics | Tags or categories assigned for toolsets for discovery, filtering, or grouping on UI (e.g. "finance," "support"). |
Create Toolset
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.External Endpoint Conditional Define a Toolset API endpoint for MCP calls. Applies for External Endpoint source type. Container Conditional Select one of the available MCP containers from the list. Applies for MCP Container source type. -
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.

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 in not authenticated with the related MCP server. - Logged in (Personal): The toolset is authenticated for your user only. - Logged in (Organization): The toolset is authenticated for all users in your organization. |
| 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 | Tag that associates a toolsets with one or more topics or categories (e.g. "finance", "support"). |
| 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. |
| 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. |
| Transport | Yes | Yes | Transport supported by a related endpoint. Available options: HTTP (default) or SSE. Choose SSE for server-sent events when supported. |
| 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. |
| 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 personal or organization authentication
Having selected and configured any authentication method, click Save and Log In to authenticate a toolset with the related MCP server. At this step, prior to the actual authentication, you will be prompted to select between Personal and Organization authentication:
- Personal: the toolset will be authenticated for your user only with the authentication state labeled Logged in (Personal).
- Organization: the toolset will be authenticated for all users in your organization with the authentication state labeled Logged in (Organization). Any user will be able to log out and log back in with personal credentials.
Important: 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.
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 to enter the Try out mode.
In the Try out mode, you can test each enabled tool by sending a sample request to the server. When sending a request, you can use the rendered UI form to populate the request input fields or enter JSON view mode to get access to all the fields supported by the input schema.

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 lean 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
On this screen, you can access a detailed preview and revert any changes made to the selected toolset.
TIP: This section mimics the functionality available in the global Audit → Activities menu, 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.
Delete
Use the Delete button in the Configuration screen toolbar to permanently remove the selected toolset.