tools
Creates, updates, deletes, gets or lists a tools resource.
Overview
| Name | tools |
| Type | Resource |
| Id | databricks_workspace.supervisoragents.tools |
Fields
The following fields are returned by SELECT queries:
- list
- get
| Name | Datatype | Description |
|---|---|---|
id | string | Deprecated: Use tool_id instead. |
name | string | Full resource name: supervisor-agents/{supervisor_agent_id}/tools/{tool_id} |
tool_id | string | User specified id of the Tool. |
app | object | Databricks app. Supported app: custom mcp, custom agent. |
catalog | object | Configuration for a UC catalog asset_search scope tool. |
dashboard | object | Lakeview dashboard tool. Replaces the deprecated ``lakeview_dashboard`` field. |
description | string | Description of what this tool does (user-facing). |
genie_space | object | |
knowledge_assistant | object | |
lakeview_dashboard | object | Deprecated: use ``dashboard`` instead. |
schema | object | Configuration for a UC schema asset_search scope tool. |
serving_endpoint | object | |
skill | object | Skill tool. Points to a folder containing skill subdirectories with SKILL.md files. Skills are discovered from the folder at runtime and loaded on demand via a read_skill tool. |
supervisor_agent | object | Nested Supervisor Agent tool. |
table | object | Unity Catalog table tool. Replaces the deprecated ``uc_table`` field. |
tool_type | string | |
uc_connection | object | Databricks UC connection. Supported connection: external mcp server. |
uc_function | object | |
uc_mcp | object | UC-registered MCP service tool. The ``name`` field on UcMcpService is the three-level UC FQN (catalog.schema.mcp_service); the supervisor resolves it at request build time, calls ``tools/list`` against the AI Gateway mcp-services proxy, and dynamically registers every discovered MCP sub-tool as a separately-callable tool. |
uc_table | object | Deprecated: use ``table`` instead. |
vector_search_index | object | Configuration for a Vector Search index tool. |
volume | object | |
web_search | object | Configuration for a public-web search tool. The supervisor collapses multiple web_search tools on the same agent into a single registered ``web_search`` tool at runtime. |
| Name | Datatype | Description |
|---|---|---|
id | string | Deprecated: Use tool_id instead. |
name | string | Full resource name: supervisor-agents/{supervisor_agent_id}/tools/{tool_id} |
tool_id | string | User specified id of the Tool. |
app | object | Databricks app. Supported app: custom mcp, custom agent. |
catalog | object | Configuration for a UC catalog asset_search scope tool. |
dashboard | object | Lakeview dashboard tool. Replaces the deprecated ``lakeview_dashboard`` field. |
description | string | Description of what this tool does (user-facing). |
genie_space | object | |
knowledge_assistant | object | |
lakeview_dashboard | object | Deprecated: use ``dashboard`` instead. |
schema | object | Configuration for a UC schema asset_search scope tool. |
serving_endpoint | object | |
skill | object | Skill tool. Points to a folder containing skill subdirectories with SKILL.md files. Skills are discovered from the folder at runtime and loaded on demand via a read_skill tool. |
supervisor_agent | object | Nested Supervisor Agent tool. |
table | object | Unity Catalog table tool. Replaces the deprecated ``uc_table`` field. |
tool_type | string | |
uc_connection | object | Databricks UC connection. Supported connection: external mcp server. |
uc_function | object | |
uc_mcp | object | UC-registered MCP service tool. The ``name`` field on UcMcpService is the three-level UC FQN (catalog.schema.mcp_service); the supervisor resolves it at request build time, calls ``tools/list`` against the AI Gateway mcp-services proxy, and dynamically registers every discovered MCP sub-tool as a separately-callable tool. |
uc_table | object | Deprecated: use ``table`` instead. |
vector_search_index | object | Configuration for a Vector Search index tool. |
volume | object | |
web_search | object | Configuration for a public-web search tool. The supervisor collapses multiple web_search tools on the same agent into a single registered ``web_search`` tool at runtime. |
Methods
The following methods are available for this resource:
| Name | Accessible by | Required Params | Optional Params | Description |
|---|---|---|---|---|
list | select | parent, deployment_name | page_size, page_token | Lists Tools under a Supervisor Agent. |
get | select | name, deployment_name | Gets a Tool. | |
create | insert | parent, tool_id, deployment_name, tool | Creates a Tool under a Supervisor Agent. Specify one of "genie_space", "knowledge_assistant", | |
update | update | name, update_mask, deployment_name, tool | Updates a Tool. Only the description field can be updated. To change immutable fields such as tool | |
delete | delete | name, deployment_name | Deletes a Tool. |
Parameters
Parameters can be passed in the WHERE clause of a query. Check the Methods section to see which parameters are required or optional for each operation.
| Name | Datatype | Description |
|---|---|---|
deployment_name | string | The Databricks Workspace Deployment Name (default: dbc-abcd0123-a1bc) |
name | string | The resource name of the Tool. Format: supervisor-agents/{supervisor_agent_id}/tools/{tool_id} |
parent | string | Parent resource where this tool will be created. Format: supervisor-agents/{supervisor_agent_id} |
tool_id | string | The ID to use for the tool, which will become the final component of the tool's resource name. |
update_mask | object | Field mask for fields to be updated. |
page_size | integer | |
page_token | string |
SELECT examples
- list
- get
Lists Tools under a Supervisor Agent.
SELECT
id,
name,
tool_id,
app,
catalog,
dashboard,
description,
genie_space,
knowledge_assistant,
lakeview_dashboard,
schema,
serving_endpoint,
skill,
supervisor_agent,
table,
tool_type,
uc_connection,
uc_function,
uc_mcp,
uc_table,
vector_search_index,
volume,
web_search
FROM databricks_workspace.supervisoragents.tools
WHERE parent = '{{ parent }}' -- required
AND deployment_name = '{{ deployment_name }}' -- required
AND page_size = '{{ page_size }}'
AND page_token = '{{ page_token }}'
;
Gets a Tool.
SELECT
id,
name,
tool_id,
app,
catalog,
dashboard,
description,
genie_space,
knowledge_assistant,
lakeview_dashboard,
schema,
serving_endpoint,
skill,
supervisor_agent,
table,
tool_type,
uc_connection,
uc_function,
uc_mcp,
uc_table,
vector_search_index,
volume,
web_search
FROM databricks_workspace.supervisoragents.tools
WHERE name = '{{ name }}' -- required
AND deployment_name = '{{ deployment_name }}' -- required
;
INSERT examples
- create
- Manifest
Creates a Tool under a Supervisor Agent. Specify one of "genie_space", "knowledge_assistant",
INSERT INTO databricks_workspace.supervisoragents.tools (
tool,
parent,
tool_id,
deployment_name
)
SELECT
'{{ tool }}' /* required */,
'{{ parent }}',
'{{ tool_id }}',
'{{ deployment_name }}'
RETURNING
id,
name,
tool_id,
app,
catalog,
dashboard,
description,
genie_space,
knowledge_assistant,
lakeview_dashboard,
schema,
serving_endpoint,
skill,
supervisor_agent,
table,
tool_type,
uc_connection,
uc_function,
uc_mcp,
uc_table,
vector_search_index,
volume,
web_search
;
# Description fields are for documentation purposes
- name: tools
props:
- name: parent
value: "{{ parent }}"
description: Required parameter for the tools resource.
- name: tool_id
value: "{{ tool_id }}"
description: Required parameter for the tools resource.
- name: deployment_name
value: "{{ deployment_name }}"
description: Required parameter for the tools resource.
- name: tool
value:
tool_type: "{{ tool_type }}"
app:
name: "{{ name }}"
catalog:
name: "{{ name }}"
dashboard:
dashboard_id: "{{ dashboard_id }}"
description: "{{ description }}"
genie_space:
id: "{{ id }}"
space_id: "{{ space_id }}"
id: "{{ id }}"
knowledge_assistant:
knowledge_assistant_id: "{{ knowledge_assistant_id }}"
serving_endpoint_name: "{{ serving_endpoint_name }}"
lakeview_dashboard:
dashboard_id: "{{ dashboard_id }}"
name: "{{ name }}"
schema:
name: "{{ name }}"
serving_endpoint:
name: "{{ name }}"
skill:
path: "{{ path }}"
supervisor_agent:
supervisor_agent_id: "{{ supervisor_agent_id }}"
table:
name: "{{ name }}"
tool_id: "{{ tool_id }}"
uc_connection:
name: "{{ name }}"
uc_function:
name: "{{ name }}"
uc_mcp:
name: "{{ name }}"
uc_table:
name: "{{ name }}"
vector_search_index:
name: "{{ name }}"
columns:
- "{{ columns }}"
volume:
name: "{{ name }}"
web_search: "{{ web_search }}"
UPDATE examples
- update
Updates a Tool. Only the description field can be updated. To change immutable fields such as tool
UPDATE databricks_workspace.supervisoragents.tools
SET
tool = '{{ tool }}'
WHERE
name = '{{ name }}' --required
AND update_mask = '{{ update_mask }}' --required
AND deployment_name = '{{ deployment_name }}' --required
AND tool = '{{ tool }}' --required
RETURNING
id,
name,
tool_id,
app,
catalog,
dashboard,
description,
genie_space,
knowledge_assistant,
lakeview_dashboard,
schema,
serving_endpoint,
skill,
supervisor_agent,
table,
tool_type,
uc_connection,
uc_function,
uc_mcp,
uc_table,
vector_search_index,
volume,
web_search;
DELETE examples
- delete
Deletes a Tool.
DELETE FROM databricks_workspace.supervisoragents.tools
WHERE name = '{{ name }}' --required
AND deployment_name = '{{ deployment_name }}' --required
;