Share via


MCPTool Class

Give the model access to additional tools via remote Model Context Protocol (MCP) servers. Learn more about MCP.

Constructor

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

Variables

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

The type of the MCP tool. Always mcp. Required.

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. Required.

headers

Optional HTTP headers to send to the MCP server. Use for authentication or other purposes.

allowed_tools

List of allowed tool names or a filter object. Is either a [str] type or a MCPToolAllowedTools1 type.

require_approval

Specify which of the MCP server's tools require approval. Is one of the following types: MCPToolRequireApproval1, Literal["always"], Literal["never"]

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 D.

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: D[k] if k in D, else d. :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 D is empty.

setdefault

Same as calling D.get(k, d), and setting D[k]=d if k not found :param str key: The key to look up. :param any default: The value to set if key is not in the dictionary :returns: D[k] if k in D, else d. :rtype: any

update

Updates D from mapping/iterable E and F. :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 D.

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: D[k] if k in D, else d. :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

set-like object providing a view on D's items

keys

keys() -> KeysView[str]

Returns

Type Description

a set-like object providing a view on D'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 D is empty.

popitem() -> tuple[str, Any]

setdefault

Same as calling D.get(k, d), and setting D[k]=d if k not found :param str key: The key to look up. :param any default: The value to set if key is not in the dictionary :returns: D[k] if k in D, else d. :rtype: any

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

Parameters

Name Description
key
Required
default

update

Updates D from mapping/iterable E and F. :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 D's values

Attributes

allowed_tools

List of allowed tool names or a filter object. Is either a [str] type or a MCPToolAllowedTools1 type.

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

headers

Optional HTTP headers to send to the MCP server. Use for authentication or other purposes.

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

Specify which of the MCP server's tools require approval. Is one of the following types: MCPToolRequireApproval1, Literal["always"], Literal["never"]

require_approval: _models.MCPToolRequireApproval1 | Literal['always'] | Literal['never'] | 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. Required.

server_url: str

type

The type of the MCP tool. Always mcp. Required.

type: MCP: 'mcp'>]