Skip to content

require

autogen.beta.mcp.security.require #

require(*schemes, resource_url, verifier, required_scopes=(), resource_name=None, resource_documentation=None)

Build a :class:Requirement from one or more authorization-server schemes.

resource_url is this MCP server's public endpoint (the RFC 9728 resource identifier); verifier validates presented bearer tokens; a token must carry every scope in required_scopes.

Example::

from autogen.beta.mcp.security import oauth2_scheme, require

security = require(
    oauth2_scheme(url="https://auth.example.com"),
    resource_url="https://api.example.com/mcp",
    verifier=my_verifier,
    required_scopes=["mcp.read"],
)
app = MCPServer(agent, security=security)
Source code in autogen/beta/mcp/security.py
def require(
    *schemes: Scheme,
    resource_url: str,
    verifier: TokenVerifier,
    required_scopes: Sequence[str] = (),
    resource_name: str | None = None,
    resource_documentation: str | None = None,
) -> Requirement:
    """Build a :class:`Requirement` from one or more authorization-server schemes.

    ``resource_url`` is this MCP server's public endpoint (the RFC 9728 resource
    identifier); ``verifier`` validates presented bearer tokens; a token must
    carry every scope in ``required_scopes``.

    Example::

        from autogen.beta.mcp.security import oauth2_scheme, require

        security = require(
            oauth2_scheme(url="https://auth.example.com"),
            resource_url="https://api.example.com/mcp",
            verifier=my_verifier,
            required_scopes=["mcp.read"],
        )
        app = MCPServer(agent, security=security)
    """
    return Requirement(
        schemes=schemes,
        verifier=verifier,
        resource_url=resource_url,
        required_scopes=tuple(required_scopes),
        resource_name=resource_name,
        resource_documentation=resource_documentation,
    )