datarobot_genai.drmcpbase.middleware
middleware
FastMCP middleware utilities shared across DataRobot MCP servers.
These middleware classes are runtime-specific (FastMCP).
Callers inject header and auth-context hooks so
each server can wire its own auth resolution (for example drmcputils.auth).
RequestHeadersMiddleware
Bases: Middleware
Read FastMCP request headers and forward them to an injector callback.
Source code in datarobot_genai/drmcpbase/middleware.py
OAuthMiddleWare
Bases: Middleware
Inject HTTP headers and authorization context for FastMCP tool calls.
Parameters
inject_headers:
Called with request headers (for example drmcputils.auth.set_request_headers).
extract_auth_context:
Parses authorization context from headers; return None when unavailable.
set_auth_context:
Stores parsed authorization context for the current request.
auth_context_state_key:
Key used when attaching auth context to FastMCP context state.
attach_to_fastmcp_state:
When True, also persist auth context on context.fastmcp_context state.
Source code in datarobot_genai/drmcpbase/middleware.py
read_http_headers
Return current FastMCP HTTP headers, including authorization headers.
Source code in datarobot_genai/drmcpbase/middleware.py
register_oauth_middleware
Register a middleware instance with a FastMCP server.