# backplane_mcp_protocol v0.6.0 - 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 &amp; Reference
  - [Recipes](recipes.md)
  - [API Reference](reference.md)
  - [Authorization](authorization.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.Operation](Backplane.McpProtocol.Client.Operation.md): Represents an operation to be performed by the MCP client.
- [Backplane.McpProtocol.Client.Subscription](Backplane.McpProtocol.Client.Subscription.md): Cancellable client handle and owner process for one modern subscription.
- [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.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_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.

