# backplane_mcp_protocol v1.6.3 - 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)

- 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.Operation](Backplane.McpProtocol.Client.Operation.md): Represents an operation to be performed by the MCP client.
- [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.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.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.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.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.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.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.

