# backplane_mcp_protocol v1.10.52 - Table of Contents > Model Context Protocol (MCP) implementation in Elixir with Phoenix integration ## Pages - Getting Started - [Backplane.McpProtocol MCP](readme.md) - [Welcome to Backplane.McpProtocol MCP](introduction.md) - Building with Backplane.McpProtocol - [Building a Client](building-a-client.md) - [Building a Server](building-a-server.md) - Patterns & Reference - [Recipes](recipes.md) - [API Reference](reference.md) - [Authorization](authorization.md) - [Request ownership and cleanup](ownership-and-cleanup.md) - Project Info - [Changelog](changelog.md) - [Contributing](contributing.md) - [LICENSE](license.md) ## Modules - [Backplane.McpProtocol.Client](Backplane.McpProtocol.Client.md): MCP (Model Context Protocol) client for connecting to MCP servers. - [Backplane.McpProtocol.Client.Authorization](Backplane.McpProtocol.Client.Authorization.md): HTTP client authorization helpers for the modern MCP protocol. - [Backplane.McpProtocol.Client.Authorization.CredentialStore](Backplane.McpProtocol.Client.Authorization.CredentialStore.md): Facade for persisted OAuth client credentials bound to an exact issuer. - [Backplane.McpProtocol.Client.Catalog](Backplane.McpProtocol.Client.Catalog.md): Compiles a tool list into an immutable snapshot for parameter-header projection. - [Backplane.McpProtocol.Client.EventCancellation](Backplane.McpProtocol.Client.EventCancellation.md): Opaque cancellation control for one owner waiting on an event request. - [Backplane.McpProtocol.Client.EventRequest](Backplane.McpProtocol.Client.EventRequest.md): Opaque caller-owned handle for an asynchronous event descriptor page. - [Backplane.McpProtocol.Client.Operation](Backplane.McpProtocol.Client.Operation.md): Represents an operation to be performed by the MCP client. - [Backplane.McpProtocol.Client.ResourceCancellation](Backplane.McpProtocol.Client.ResourceCancellation.md): Opaque cancellation control for one owner waiting on a resource request. - [Backplane.McpProtocol.Client.ResourceRequest](Backplane.McpProtocol.Client.ResourceRequest.md): Opaque caller-owned handle for an asynchronous resource operation. - [Backplane.McpProtocol.Client.Subscription](Backplane.McpProtocol.Client.Subscription.md): Cancellable client handle and owner process for one modern subscription. - [Backplane.McpProtocol.Client.ToolCall](Backplane.McpProtocol.Client.ToolCall.md): Caller-owned handle for one asynchronous tool call. - [Backplane.McpProtocol.MCP.ElicitationSchema](Backplane.McpProtocol.MCP.ElicitationSchema.md): Validator for the restricted JSON Schema subset allowed in elicitation requests. - [Backplane.McpProtocol.MCP.Error](Backplane.McpProtocol.MCP.Error.md): Fluent API for building MCP protocol errors. - [Backplane.McpProtocol.MCP.Message](Backplane.McpProtocol.MCP.Message.md): Handles parsing and validation of MCP (Model Context Protocol) messages using the Peri library. - [Backplane.McpProtocol.MCP.Response](Backplane.McpProtocol.MCP.Response.md): Represents successful responses in the MCP protocol. - [Backplane.McpProtocol.Protocol](Backplane.McpProtocol.Protocol.md): MCP protocol version management. - [Backplane.McpProtocol.Protocol.Behaviour](Backplane.McpProtocol.Protocol.Behaviour.md): Behaviour that each MCP protocol version module must implement. - [Backplane.McpProtocol.Protocol.CacheHint](Backplane.McpProtocol.Protocol.CacheHint.md): Cache metadata carried by cacheable MCP `2026-07-28` results. - [Backplane.McpProtocol.Protocol.Profile](Backplane.McpProtocol.Protocol.Profile.md): Describes the lifecycle and wire surface of an MCP protocol version. - [Backplane.McpProtocol.Protocol.Registry](Backplane.McpProtocol.Protocol.Registry.md): Registry for MCP protocol version modules. - [Backplane.McpProtocol.Protocol.V2024_11_05](Backplane.McpProtocol.Protocol.V2024_11_05.md): Protocol implementation for MCP specification version 2024-11-05. - [Backplane.McpProtocol.Protocol.V2025_03_26](Backplane.McpProtocol.Protocol.V2025_03_26.md): Protocol implementation for MCP specification version 2025-03-26. - [Backplane.McpProtocol.Protocol.V2025_06_18](Backplane.McpProtocol.Protocol.V2025_06_18.md): Protocol implementation for MCP specification version 2025-06-18. - [Backplane.McpProtocol.Protocol.V2025_11_25](Backplane.McpProtocol.Protocol.V2025_11_25.md): Protocol implementation for MCP specification version 2025-11-25. - [Backplane.McpProtocol.Protocol.V2026_07_28](Backplane.McpProtocol.Protocol.V2026_07_28.md): Independent protocol profile for MCP specification version 2026-07-28. - [Backplane.McpProtocol.SchemaValidator](Backplane.McpProtocol.SchemaValidator.md): Adapter boundary between JSON Schema wire documents and local validation. - [Backplane.McpProtocol.SchemaValidator.Peri](Backplane.McpProtocol.SchemaValidator.Peri.md): Conservative JSON Schema 2020-12 adapter backed by Peri. - [Backplane.McpProtocol.Server](Backplane.McpProtocol.Server.md): Build MCP servers that extend language model capabilities. - [Backplane.McpProtocol.Server.Authorization](Backplane.McpProtocol.Server.Authorization.md): OAuth 2.1 resource server authorization support. - [Backplane.McpProtocol.Server.Authorization.IntrospectionValidator](Backplane.McpProtocol.Server.Authorization.IntrospectionValidator.md): Token validator using RFC 7662 Token Introspection. - [Backplane.McpProtocol.Server.Authorization.JWTValidator](Backplane.McpProtocol.Server.Authorization.JWTValidator.md): JWT validator using JWKS (requires the `:jose` dependency). - [Backplane.McpProtocol.Server.Authorization.Validator](Backplane.McpProtocol.Server.Authorization.Validator.md): Behaviour for token validators. - [Backplane.McpProtocol.Server.Authorization.WellKnown](Backplane.McpProtocol.Server.Authorization.WellKnown.md): Plug serving the RFC 9728 protected resource metadata document. - [Backplane.McpProtocol.Server.Component.Prompt](Backplane.McpProtocol.Server.Component.Prompt.md): Defines the behaviour for MCP prompts. - [Backplane.McpProtocol.Server.Component.Resource](Backplane.McpProtocol.Server.Component.Resource.md): Defines the behaviour for MCP resources. - [Backplane.McpProtocol.Server.Component.Tool](Backplane.McpProtocol.Server.Component.Tool.md): Defines the behaviour for MCP tools. - [Backplane.McpProtocol.Server.Component.URITemplate](Backplane.McpProtocol.Server.Component.URITemplate.md): RFC 6570 URI Template parser and matcher (Levels 1 and 2). - [Backplane.McpProtocol.Server.Context](Backplane.McpProtocol.Server.Context.md): Read-only session and request context, set by the SDK before each callback. - [Backplane.McpProtocol.Server.Frame](Backplane.McpProtocol.Server.Frame.md): The Backplane.McpProtocol Frame — pure user state + read-only context. - [Backplane.McpProtocol.Server.Modern.Discovery](Backplane.McpProtocol.Server.Modern.Discovery.md): Builds the raw result for the mandatory modern `server/discover` method. - [Backplane.McpProtocol.Server.Modern.Executor](Backplane.McpProtocol.Server.Modern.Executor.md): Executes one modern MCP request without creating or retaining session state. - [Backplane.McpProtocol.Server.Modern.Headers](Backplane.McpProtocol.Server.Modern.Headers.md): Pure validation for the HTTP fields mirrored by modern MCP requests. - [Backplane.McpProtocol.Server.Modern.RequestContext](Backplane.McpProtocol.Server.Modern.RequestContext.md): Validated, request-local context for the stateless modern server path. - [Backplane.McpProtocol.Server.Modern.Result](Backplane.McpProtocol.Server.Modern.Result.md): Normalizes callback outcomes for the stateless modern server path. - [Backplane.McpProtocol.Server.Modern.Subscription](Backplane.McpProtocol.Server.Modern.Subscription.md): Immutable data and filtering helpers for one modern MCP subscription. - [Backplane.McpProtocol.Server.Modern.Subscriptions](Backplane.McpProtocol.Server.Modern.Subscriptions.md): Monitored, in-process subscription hub for modern MCP notification streams. - [Backplane.McpProtocol.Server.ProfileRouter](Backplane.McpProtocol.Server.ProfileRouter.md): Selects the session-oriented legacy path or a stateless modern profile. - [Backplane.McpProtocol.Server.Registry](Backplane.McpProtocol.Server.Registry.md): Behaviour for pluggable session registries and deterministic naming utilities. - [Backplane.McpProtocol.Server.Registry.Local](Backplane.McpProtocol.Server.Registry.Local.md): ETS-based session registry for HTTP transports. - [Backplane.McpProtocol.Server.Registry.None](Backplane.McpProtocol.Server.Registry.None.md): No-op registry for STDIO transport. - [Backplane.McpProtocol.Server.Registry.PG](Backplane.McpProtocol.Server.Registry.PG.md): Distributed session registry backed by Erlang's `:pg` (process groups) module. - [Backplane.McpProtocol.Server.Response](Backplane.McpProtocol.Server.Response.md): Fluent interface for building MCP component responses. - [Backplane.McpProtocol.Server.Session](Backplane.McpProtocol.Server.Session.md): Per-client MCP session process. - [Backplane.McpProtocol.Server.Session.Store](Backplane.McpProtocol.Server.Session.Store.md): Behaviour for session persistence adapters. - [Backplane.McpProtocol.Server.Session.Store.Redis](Backplane.McpProtocol.Server.Session.Store.Redis.md): Redis-based session store implementation. - [Backplane.McpProtocol.Server.Task](Backplane.McpProtocol.Server.Task.md): Represents an MCP task — a durable state machine wrapping a long-running request. - [Backplane.McpProtocol.Server.TaskStore](Backplane.McpProtocol.Server.TaskStore.md): Behaviour for pluggable MCP task storage backends. - [Backplane.McpProtocol.Server.TaskStore.Local](Backplane.McpProtocol.Server.TaskStore.Local.md): In-memory `Backplane.McpProtocol.Server.TaskStore` adapter backed by a single GenServer. - [Backplane.McpProtocol.Server.Transport.SSE](Backplane.McpProtocol.Server.Transport.SSE.md): SSE (Server-Sent Events) transport implementation for MCP servers. - [Backplane.McpProtocol.Server.Transport.SSE.Plug](Backplane.McpProtocol.Server.Transport.SSE.Plug.md): A Plug implementation for the SSE (Server-Sent Events) transport. - [Backplane.McpProtocol.Server.Transport.STDIO](Backplane.McpProtocol.Server.Transport.STDIO.md): STDIO transport implementation for MCP servers. - [Backplane.McpProtocol.Server.Transport.StreamableHTTP](Backplane.McpProtocol.Server.Transport.StreamableHTTP.md): StreamableHTTP transport implementation for MCP servers. - [Backplane.McpProtocol.Server.Transport.StreamableHTTP.ModernRequest](Backplane.McpProtocol.Server.Transport.StreamableHTTP.ModernRequest.md): Dispatches one stateless modern MCP request over Streamable HTTP. - [Backplane.McpProtocol.Server.Transport.StreamableHTTP.ModernSubscription](Backplane.McpProtocol.Server.Transport.StreamableHTTP.ModernSubscription.md): Owns one modern subscriptions/listen POST and its request-scoped SSE stream. - [Backplane.McpProtocol.Server.Transport.StreamableHTTP.Plug](Backplane.McpProtocol.Server.Transport.StreamableHTTP.Plug.md): A Plug implementation for the Streamable HTTP transport. - [Backplane.McpProtocol.Server.Transport.WellKnown](Backplane.McpProtocol.Server.Transport.WellKnown.md): Plug that serves the RFC 9728 OAuth Protected Resource metadata document at `/.well-known/oauth-protected-resource`. - [Backplane.McpProtocol.Transport](Backplane.McpProtocol.Transport.md): Functional behaviour for MCP transport implementations. - [Backplane.McpProtocol.Transport.Behaviour](Backplane.McpProtocol.Transport.Behaviour.md): Defines the behavior that all transport implementations must follow. - [Backplane.McpProtocol.Transport.RequestContext](Backplane.McpProtocol.Transport.RequestContext.md): Immutable protocol context captured for one outbound transport send. - [Backplane.McpProtocol.Transport.SSE](Backplane.McpProtocol.Transport.SSE.md): A transport implementation that uses Server-Sent Events (SSE) for receiving messages and HTTP POST requests for sending messages back to the server. - [Backplane.McpProtocol.Transport.STDIO](Backplane.McpProtocol.Transport.STDIO.md): A transport implementation that uses standard input/output. - [Backplane.McpProtocol.Transport.StreamableHTTP](Backplane.McpProtocol.Transport.StreamableHTTP.md): A transport implementation that uses Streamable HTTP as specified in MCP 2025-03-26. - [Backplane.McpProtocol.Transport.StreamableHTTP.Headers](Backplane.McpProtocol.Transport.StreamableHTTP.Headers.md): Builds request-local Streamable HTTP headers for legacy and modern MCP sends. - [Backplane.McpProtocol.Transport.StreamableHTTP.Stream](Backplane.McpProtocol.Transport.StreamableHTTP.Stream.md): Owns one modern request-scoped POST/SSE exchange. - [Backplane.McpProtocol.Transport.WebSocket](Backplane.McpProtocol.Transport.WebSocket.md): A transport implementation that uses WebSockets for bidirectional communication with the MCP server. - Exceptions - [Backplane.McpProtocol.Server.ConfigurationError](Backplane.McpProtocol.Server.ConfigurationError.md): Raised when required MCP server configuration is missing or invalid. ## Mix Tasks - [mix backplane.mcp.stdio.build](Mix.Tasks.Backplane.Mcp.Stdio.Build.md): Builds the package-owned Linux/macOS POSIX guardian. No ordinary Mix compiler, application startup or transport activation invokes a compiler. - [mix backplane.mcp_protocol.sse.interactive](Mix.Tasks.Backplane.McpProtocol.Sse.Interactive.md): Mix task to test the SSE transport implementation, interactively sending commands. - [mix backplane.mcp_protocol.stdio.interactive](Mix.Tasks.Backplane.McpProtocol.Stdio.Interactive.md): Mix task to test the STDIO transport implementation, interactively sending commands. - [mix backplane.mcp_protocol.streamable_http.interactive](Mix.Tasks.Backplane.McpProtocol.StreamableHttp.Interactive.md): Mix task to test the Streamable HTTP transport implementation, interactively sending commands. - [mix backplane.mcp_protocol.websocket.interactive](Mix.Tasks.Backplane.McpProtocol.Websocket.Interactive.md): Mix task to test the WebSocket transport implementation, interactively sending commands.