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,
)
|