MCPToolboxTool Class

An MCP tool stored in a toolbox.

Constructor

MCPToolboxTool(*args: Any, **kwargs: Any)

Variables

Name Description
name
str

Optional user-defined name for this tool or configuration.

description
str

Optional user-defined description for this tool or configuration.

tool_configs

Per-tool configuration map. Keys are tool names or * (catch-all default). Resolution order: exact tool name match takes priority over *. Unknown tool names are silently ignored at runtime.

type
str or <xref:azure.ai.projects.models.MCP>

Required. MCP.

server_label
str

A label for this MCP server, used to identify it in tool calls. Required.

server_url
str

The URL for the MCP server. One of server_url, connector_id, or tunnel_id must be provided.

connector_id
str or str or str or str or str or str or str or str

Identifier for service connectors, like those available in ChatGPT. One of server_url, connector_id, or tunnel_id must be provided. Learn more about service connectors here. Currently supported connector_id values are:

  • Dropbox: connector_dropbox

  • Gmail: connector_gmail

  • Google Calendar: connector_googlecalendar

  • Google Drive: connector_googledrive

  • Microsoft Teams: connector_microsoftteams

  • Outlook Calendar: connector_outlookcalendar

  • Outlook Email: connector_outlookemail

  • SharePoint: connector_sharepoint. Is one of the following types: Literal["connector_dropbox"], Literal["connector_gmail"], Literal["connector_googlecalendar"], Literal["connector_googledrive"], Literal["connector_microsoftteams"], Literal["connector_outlookcalendar"], Literal["connector_outlookemail"], Literal["connector_sharepoint"]

tunnel_id
str

The Secure MCP Tunnel ID to use instead of a direct server URL. One of server_url, connector_id, or tunnel_id must be provided.

authorization
str

An OAuth access token that can be used with a remote MCP server, either with a custom MCP server URL or a service connector. Your application must handle the OAuth authorization flow and provide the token here.

server_description
str

Optional description of the MCP server, used to provide more context.

headers
allowed_tools

Is either a [str] type or a MCPToolFilter type.

allowed_callers
require_approval

Is one of the following types: MCPToolRequireApproval, Literal["always"], Literal["never"]

defer_loading

Whether this MCP tool is deferred and discovered via tool search.

project_connection_id
str

The connection ID in the project for the MCP server. The connection stores authentication and other connection details needed to connect to the MCP server.

Methods

as_dict

Return a dict that can be turned into json using json.dump.

clear

Remove all items from the dictionary.

copy
get

Get the value for key if key is in the dictionary, else default. :param str key: The key to look up. :param any default: The value to return if key is not in the dictionary. Defaults to None :returns: The value for key if key is in the dictionary, else default. :rtype: any

items
keys
pop

Removes specified key and return the corresponding value. :param str key: The key to pop. :param any default: The value to return if key is not in the dictionary :returns: The value corresponding to the key. :rtype: any :raises KeyError: If key is not found and default is not given.

popitem

Removes and returns some (key, value) pair :returns: The (key, value) pair. :rtype: tuple :raises KeyError: if the dictionary is empty.

setdefault

Return the value for key if key is in the dictionary; otherwise set the key to default and return default. :param str key: The key to look up. :param any default: The value to set if key is not in the dictionary :returns: The value for key if key is in the dictionary, else default. :rtype: any

update

Update the dictionary from a mapping or an iterable of key-value pairs. :param any args: Either a mapping object or an iterable of key-value pairs.

values

as_dict

Return a dict that can be turned into json using json.dump.

as_dict(*, exclude_readonly: bool = False) -> dict[str, Any]

Keyword-Only Parameters

Name Description
exclude_readonly

Whether to remove the readonly properties.

Default value: False

Returns

Type Description

A dict JSON compatible object

clear

Remove all items from the dictionary.

clear() -> None

copy

copy() -> Model

get

Get the value for key if key is in the dictionary, else default. :param str key: The key to look up. :param any default: The value to return if key is not in the dictionary. Defaults to None :returns: The value for key if key is in the dictionary, else default. :rtype: any

get(key: str, default: Any = None) -> Any

Parameters

Name Description
key
Required
default
Default value: None

items

items() -> ItemsView[str, Any]

Returns

Type Description

a set-like object providing a view on the mapping's items

keys

keys() -> KeysView[str]

Returns

Type Description

a set-like object providing a view on the mapping's keys

pop

Removes specified key and return the corresponding value. :param str key: The key to pop. :param any default: The value to return if key is not in the dictionary :returns: The value corresponding to the key. :rtype: any :raises KeyError: If key is not found and default is not given.

pop(key: str, default: ~typing.Any = <object object>) -> Any

Parameters

Name Description
key
Required
default

popitem

Removes and returns some (key, value) pair :returns: The (key, value) pair. :rtype: tuple :raises KeyError: if the dictionary is empty.

popitem() -> tuple[str, Any]

setdefault

Return the value for key if key is in the dictionary; otherwise set the key to default and return default. :param str key: The key to look up. :param any default: The value to set if key is not in the dictionary :returns: The value for key if key is in the dictionary, else default. :rtype: any

setdefault(key: str, default: ~typing.Any = <object object>) -> Any

Parameters

Name Description
key
Required
default

update

Update the dictionary from a mapping or an iterable of key-value pairs. :param any args: Either a mapping object or an iterable of key-value pairs.

update(*args: Any, **kwargs: Any) -> None

values

values() -> ValuesView[Any]

Returns

Type Description

an object providing a view on the mapping's values

Attributes

allowed_callers

allowed_callers: list[typing.Union[str, ForwardRef('_models.CallableToolAllowedCaller')]] | None

allowed_tools

Is either a [str] type or a MCPToolFilter type.

allowed_tools: list[str] | _models.MCPToolFilter | None

authorization

An OAuth access token that can be used with a remote MCP server, either with a custom MCP server URL or a service connector. Your application must handle the OAuth authorization flow and provide the token here.

authorization: str | None

connector_id

Identifier for service connectors, like those available in ChatGPT. One of server_url, connector_id, or tunnel_id must be provided. Learn more about service connectors here. Currently supported connector_id values are:

  • Dropbox: connector_dropbox

  • Gmail: connector_gmail

  • Google Calendar: connector_googlecalendar

  • Google Drive: connector_googledrive

  • Microsoft Teams: connector_microsoftteams

  • Outlook Calendar: connector_outlookcalendar

  • Outlook Email: connector_outlookemail

  • SharePoint: connector_sharepoint. Is one of the following types: Literal["connector_dropbox"], Literal["connector_gmail"], Literal["connector_googlecalendar"], Literal["connector_googledrive"], Literal["connector_microsoftteams"], Literal["connector_outlookcalendar"], Literal["connector_outlookemail"], Literal["connector_sharepoint"]

connector_id: Literal['connector_dropbox', 'connector_gmail', 'connector_googlecalendar', 'connector_googledrive', 'connector_microsoftteams', 'connector_outlookcalendar', 'connector_outlookemail', 'connector_sharepoint'] | None

defer_loading

Whether this MCP tool is deferred and discovered via tool search.

defer_loading: bool | None

description

Optional user-defined description for this tool or configuration.

description: str | None

headers

headers: dict[str, str] | None

name

Optional user-defined name for this tool or configuration.

name: str | None

project_connection_id

The connection ID in the project for the MCP server. The connection stores authentication and other connection details needed to connect to the MCP server.

project_connection_id: str | None

require_approval

MCPToolRequireApproval, Literal["always"], Literal["never"]

require_approval: _models.MCPToolRequireApproval | Literal['always'] | Literal['never'] | None

server_description

Optional description of the MCP server, used to provide more context.

server_description: str | None

server_label

A label for this MCP server, used to identify it in tool calls. Required.

server_label: str

server_url

The URL for the MCP server. One of server_url, connector_id, or tunnel_id must be provided.

server_url: str | None

tool_configs

Per-tool configuration map. Keys are tool names or * (catch-all default). Resolution order: exact tool name match takes priority over *. Unknown tool names are silently ignored at runtime.

tool_configs: dict[str, '_models.ToolConfig'] | None

tunnel_id

The Secure MCP Tunnel ID to use instead of a direct server URL. One of server_url, connector_id, or tunnel_id must be provided.

tunnel_id: str | None

type

Required. MCP.

type: MCP: 'mcp'>]