Backplane.McpProtocol.Server.Modern.RequestContext (backplane_mcp_protocol v0.5.0)

Copy Markdown

Validated, request-local context for the stateless modern server path.

The protocol envelope remains separate from transport state. In particular, the protocol version and client capabilities must be present in the body even when equivalent HTTP headers are available.

Summary

Types

t()

@type t() :: %Backplane.McpProtocol.Server.Modern.RequestContext{
  assigns: map(),
  auth: term(),
  client_capabilities: map(),
  client_info: map() | nil,
  headers: %{optional(String.t()) => String.t()},
  input_responses: map() | nil,
  log_level: String.t() | nil,
  method: String.t(),
  profile: Backplane.McpProtocol.Protocol.Profile.t(),
  progress_token: String.t() | number() | nil,
  protocol_version: String.t(),
  remote_ip: :inet.ip_address() | nil,
  request: map(),
  request_id: String.t() | integer(),
  request_meta: map(),
  request_state: String.t() | nil,
  transport: atom()
}

Functions

build(profile, request, transport_context)

to_server_context(context)

@spec to_server_context(t()) :: Backplane.McpProtocol.Server.Context.t()