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 |
|
server_label
|
A label for this MCP server, used to identify it in tool calls. Required. |
|
server_url
|
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
|
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'>]