VoiceAgentMcpTool Class

An MCP tool available to a voice agent.

Constructor

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

Variables

Name Description
server_label
str

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

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.

tool_configs

Deprecated. This property is deprecated and will be removed in a future version.

type
str

Required. Default value is "mcp".

server_url
str

The URL for the MCP server.

response_scheduling

When the MCP invocation creates a follow-up response. Defaults to when_idle. Known values are: "silent", "when_idle", "interrupt", and "skip_if_busy".

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

defer_loading

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

defer_loading: bool | None

headers

headers: dict[str, 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

response_scheduling

When the MCP invocation creates a follow-up response. Defaults to when_idle. Known values are: "silent", "when_idle", "interrupt", and "skip_if_busy".

response_scheduling: str | _models.VoiceAgentToolResponseScheduling | 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.

server_url: str | None

tool_configs

Deprecated. This property is deprecated and will be removed in a future version.

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

type

Required. Default value is "mcp".

type: Literal['mcp']