Skip to content

MCPServerTool

autogen.beta.tools.builtin.mcp_server.MCPServerTool #

MCPServerTool(*, server_url, server_label, authorization_token=None, description=None, allowed_tools=None, blocked_tools=None, headers=None)

Bases: Tool

Source code in autogen/beta/tools/builtin/mcp_server.py
def __init__(
    self,
    *,
    server_url: str | Variable,
    server_label: str | Variable,
    authorization_token: str | Variable | None = None,
    description: str | Variable | None = None,
    allowed_tools: list[str] | Variable | None = None,
    blocked_tools: list[str] | Variable | None = None,
    headers: dict[str, str] | Variable | None = None,
) -> None:
    self._params: dict[str, object] = {
        "server_url": server_url,
        "server_label": server_label,
    }
    if authorization_token is not None:
        self._params["authorization_token"] = authorization_token
    if description is not None:
        self._params["description"] = description
    if allowed_tools is not None:
        self._params["allowed_tools"] = allowed_tools
    if blocked_tools is not None:
        self._params["blocked_tools"] = blocked_tools
    if headers is not None:
        self._params["headers"] = headers

schemas async #

schemas(context)
Source code in autogen/beta/tools/builtin/mcp_server.py
async def schemas(self, context: "Context") -> list[MCPServerToolSchema]:
    resolved = {k: resolve_variable(v, context, param_name=k) for k, v in self._params.items()}
    return [MCPServerToolSchema(**resolved)]

register #

register(stack, context, *, middleware=())
Source code in autogen/beta/tools/builtin/mcp_server.py
def register(
    self,
    stack: "ExitStack",
    context: "Context",
    *,
    middleware: Iterable["BaseMiddleware"] = (),
) -> None:
    pass