# ex_mcp v1.0.0-rc.8 - Table of Contents

> Elixir implementation of MCP and ACP. Build MCP clients/servers with tools, resources, prompts over stdio, HTTP/SSE, and BEAM. Control coding agents via ACP with adapters for Claude Code, Codex, and more.

## GUIDES

- Introduction
  - [ExMCP](readme.md)

- Guides
  - [ExMCP User Guide](user_guide.md)
  - [Phoenix Integration Guide](phoenix_guide.md)
  - [ExMCP Server DSL Guide](dsl_guide.md)
  - [ExMCP Transport Guide](transport_guide.md)
  - [ExMCP Configuration Guide](configuration.md)
  - [Migration Guide](migration.md)
  - [ExMCP Security Guide](security.md)
  - [ExMCP Architecture Guide](architecture.md)
  - [ExMCP Development Guide](development.md)
  - [ExMCP Troubleshooting Guide](troubleshooting.md)
  - [ACP Guide](acp_guide.md)

- Changelog
  - [Changelog](changelog.md)

## Modules

- [ExMCP.ACP.AdapterEvents](ExMCP.ACP.AdapterEvents.md): Pure ACP event builders for agent adapters.

- [ExMCP.ACP.Adapters.ClaudeSDK.Mapper](ExMCP.ACP.Adapters.ClaudeSDK.Mapper.md): Pure Claude SDK message to ACP message mapping.

- [ExMCP.ACP.Adapters.ClaudeSDK.Protocol](ExMCP.ACP.Adapters.ClaudeSDK.Protocol.md): Pure helpers for Claude Code's SDK-flavoured stream-json protocol.
- [ExMCP.ACP.Adapters.ClaudeSDK.ToolInfo](ExMCP.ACP.Adapters.ClaudeSDK.ToolInfo.md): Pure Claude tool-use to ACP tool-call metadata conversion.

- [ExMCP.ACP.Adapters.Codex.Config](ExMCP.ACP.Adapters.Codex.Config.md): Pure config and mode helpers for the Codex ACP adapter.

- [ExMCP.ACP.Adapters.Codex.Events](ExMCP.ACP.Adapters.Codex.Events.md): Pure event-mapping helpers for the Codex ACP adapter.

- [ExMCP.ACP.Adapters.Codex.FileChanges](ExMCP.ACP.Adapters.Codex.FileChanges.md): Pure mappings for Codex file change lifecycle notifications.

- [ExMCP.ACP.Adapters.Codex.Sessions](ExMCP.ACP.Adapters.Codex.Sessions.md): Pure session and thread helpers for the Codex ACP adapter.

- [ExMCP.ACP.Adapters.Codex.SlashCommands](ExMCP.ACP.Adapters.Codex.SlashCommands.md): Pure slash-command parsing helpers for the Codex ACP adapter.

- [ExMCP.ACP.Agent.Transport](ExMCP.ACP.Agent.Transport.md): Transport behaviour for ACP agent runtimes.
- [ExMCP.ACP.Agent.Transport.Memory](ExMCP.ACP.Agent.Transport.Memory.md): In-memory ACP transport for tests and local integration.
- [ExMCP.ACP.Agent.Transport.Stdio](ExMCP.ACP.Agent.Transport.Stdio.md): Server-side stdio transport for ACP agents.
- [ExMCP.ACP.Capabilities](ExMCP.ACP.Capabilities.md): Pure helpers for ACP capability maps.
- [ExMCP.ACP.Envelope](ExMCP.ACP.Envelope.md): Pure JSON-RPC 2.0 envelope builders for ACP messages.
- [ExMCP.ACP.LifecycleParams](ExMCP.ACP.LifecycleParams.md): Pure normalization and validation for ACP session lifecycle parameters.

- [ExMCP.ACP.Maps](ExMCP.ACP.Maps.md): Small pure map helpers used by ACP protocol, client, agent, and adapters.
- [ExMCP.ACP.Meta](ExMCP.ACP.Meta.md): Pure helpers for ACP `_meta` extension placement.

- [ExMCP.ACP.NameValue](ExMCP.ACP.NameValue.md): Pure normalizers for ACP name/value list shapes.

- [ExMCP.ACP.PromptQueue](ExMCP.ACP.PromptQueue.md): Small functional queue core for ACP adapter prompt backlogs.

- [ExMCP.Approval](ExMCP.Approval.md): Behaviour for implementing approval handlers in MCP clients.
- [ExMCP.Authorization.AuthorizationServerMetadata](ExMCP.Authorization.AuthorizationServerMetadata.md): OAuth 2.1 Authorization Server Metadata Discovery (RFC 8414).
- [ExMCP.Authorization.ClientAssertion](ExMCP.Authorization.ClientAssertion.md): RFC 7523 Section 2.2 — JWT client assertions for `private_key_jwt` authentication.
- [ExMCP.Authorization.ClientIdMetadata](ExMCP.Authorization.ClientIdMetadata.md): OAuth Client ID Metadata Document support for MCP authorization.
- [ExMCP.Authorization.ClientRegistration](ExMCP.Authorization.ClientRegistration.md): Deprecated Dynamic Client Registration for OAuth 2.1.
- [ExMCP.Authorization.CredentialStore](ExMCP.Authorization.CredentialStore.md): Pluggable persistence boundary for issuer-bound OAuth credentials.
- [ExMCP.Authorization.CredentialStore.Registration](ExMCP.Authorization.CredentialStore.Registration.md): An OAuth client registration bound to one authorization-server issuer.
- [ExMCP.Authorization.CredentialStore.Token](ExMCP.Authorization.CredentialStore.Token.md): OAuth tokens together with their complete, non-secret authorization binding.
- [ExMCP.Authorization.DiscoveryFlow](ExMCP.Authorization.DiscoveryFlow.md): Full 401 -> discovery -> auth orchestrator for MCP OAuth.
- [ExMCP.Authorization.EnterpriseFlow](ExMCP.Authorization.EnterpriseFlow.md): Client-side enterprise SSO orchestrator for MCP.
- [ExMCP.Authorization.ErrorHandler](ExMCP.Authorization.ErrorHandler.md): Handles authorization-related errors and triggers appropriate OAuth flows.
- [ExMCP.Authorization.FullOAuthFlow](ExMCP.Authorization.FullOAuthFlow.md): Full OAuth 2.1 authorization code flow with PKCE for MCP.
- [ExMCP.Authorization.HTTPClient](ExMCP.Authorization.HTTPClient.md): HTTP client functionality for OAuth 2.1 requests.
- [ExMCP.Authorization.IdJag](ExMCP.Authorization.IdJag.md): ID-JAG (Identity JWT Authorization Grant) creation and validation.
- [ExMCP.Authorization.IdJagHandler](ExMCP.Authorization.IdJagHandler.md): Server-side handler for processing ID-JAG tokens in JWT bearer grants.
- [ExMCP.Authorization.Interceptor](ExMCP.Authorization.Interceptor.md): Request interceptor that automatically adds authorization headers.
- [ExMCP.Authorization.Issuer](ExMCP.Authorization.Issuer.md): Exact authorization-server issuer comparison.
- [ExMCP.Authorization.JWT](ExMCP.Authorization.JWT.md): General-purpose JWT module wrapping JOSE for MCP authorization.
- [ExMCP.Authorization.JWTBearerAssertion](ExMCP.Authorization.JWTBearerAssertion.md): RFC 7523 Section 2.1 — JWT Bearer Grant.
- [ExMCP.Authorization.MetadataFetcher](ExMCP.Authorization.MetadataFetcher.md): Fail-closed HTTP fetch boundary for OAuth metadata documents.
- [ExMCP.Authorization.OAuthFlow](ExMCP.Authorization.OAuthFlow.md): OAuth 2.1 flow implementations for MCP authorization.
- [ExMCP.Authorization.OAuthTransactionStore](ExMCP.Authorization.OAuthTransactionStore.md): Bounded, node-local single-use state for OAuth authorization-code flows.
- [ExMCP.Authorization.OIDCDiscovery](ExMCP.Authorization.OIDCDiscovery.md): OpenID Connect Discovery support for MCP authorization.
- [ExMCP.Authorization.PKCE](ExMCP.Authorization.PKCE.md): PKCE (Proof Key for Code Exchange) implementation for OAuth 2.1.
- [ExMCP.Authorization.ProtectedResourceMetadata](ExMCP.Authorization.ProtectedResourceMetadata.md): OAuth 2.0 Protected Resource Metadata Discovery (RFC 9728 - Draft).
- [ExMCP.Authorization.Provider](ExMCP.Authorization.Provider.md): Behaviour for pluggable OAuth/auth providers in MCP transports.
- [ExMCP.Authorization.Provider.OAuth](ExMCP.Authorization.Provider.OAuth.md): OAuth 2.1 authorization provider with PKCE, PRM discovery, and scope step-up.
- [ExMCP.Authorization.Provider.Static](ExMCP.Authorization.Provider.Static.md): Static token provider for pre-existing bearer tokens.
- [ExMCP.Authorization.RegistrationPolicy](ExMCP.Authorization.RegistrationPolicy.md): Selects the OAuth client registration mechanism for an authorization server.
- [ExMCP.Authorization.ScopeValidator](ExMCP.Authorization.ScopeValidator.md): Maps MCP operations to required OAuth scopes and validates them.
- [ExMCP.Authorization.SecureHTTP](ExMCP.Authorization.SecureHTTP.md): Bounded, redirect-free HTTP boundary for OAuth protocol requests.
- [ExMCP.Authorization.ServerConfig](ExMCP.Authorization.ServerConfig.md): Centralized configuration management for OAuth 2.1 authorization server settings.
- [ExMCP.Authorization.ServerGuard](ExMCP.Authorization.ServerGuard.md): OAuth 2.1 Resource Server guard for validating bearer tokens.
- [ExMCP.Authorization.TokenExchange](ExMCP.Authorization.TokenExchange.md): RFC 8693 Token Exchange implementation.
- [ExMCP.Authorization.TokenManager](ExMCP.Authorization.TokenManager.md): Manages OAuth tokens with automatic refresh and expiration tracking.
- [ExMCP.Authorization.TokenRevocation](ExMCP.Authorization.TokenRevocation.md): Client-side OAuth 2.0 Token Revocation (RFC 7009).
- [ExMCP.Authorization.Validator](ExMCP.Authorization.Validator.md): Validation functions for OAuth 2.1 parameters and endpoints.
- [ExMCP.Client.CallbackHandler](ExMCP.Client.CallbackHandler.md): Callback-based handler for MCP client events.
- [ExMCP.Client.ConnectionManager](ExMCP.Client.ConnectionManager.md): Connection lifecycle management for ExMCP client.
- [ExMCP.Client.DefaultHandler](ExMCP.Client.DefaultHandler.md): This module provides ExMCP extensions beyond the standard MCP specification.
- [ExMCP.Client.ElicitationHandler](ExMCP.Client.ElicitationHandler.md): Default elicitation handler for MCP clients.
- [ExMCP.Client.EraCache](ExMCP.Client.EraCache.md): Stores protocol-era observations independently of an individual client.
- [ExMCP.Client.EraProbe](ExMCP.Client.EraProbe.md): Performs the side-effect-free `server/discover` probe used to establish a
modern MCP connection before any application request is sent.
- [ExMCP.Client.Error](ExMCP.Client.Error.md): Enhanced error formatting and actionable guidance for MCP.
- [ExMCP.Client.Handler](ExMCP.Client.Handler.md): This module implements the standard MCP specification.
- [ExMCP.Client.InteractiveHandler](ExMCP.Client.InteractiveHandler.md): Interactive terminal handler for MCP client events.
- [ExMCP.Client.Middleware](ExMCP.Client.Middleware.md): Middleware pipeline for cross-cutting concerns in the ExMCP client.
- [ExMCP.Client.Operations.Prompts](ExMCP.Client.Operations.Prompts.md): Prompt operations for ExMCP client.
- [ExMCP.Client.Operations.Resources](ExMCP.Client.Operations.Resources.md): Resource operations for ExMCP client.
- [ExMCP.Client.Operations.Tasks](ExMCP.Client.Operations.Tasks.md): Client operations for legacy tasks and the modern Tasks extension.
- [ExMCP.Client.Operations.Tools](ExMCP.Client.Operations.Tools.md): Tool operations for ExMCP client.
- [ExMCP.Client.RequestHandler](ExMCP.Client.RequestHandler.md): Request/response processing for ExMCP client.
- [ExMCP.Client.Response](ExMCP.Client.Response.md): Response normalization and transformation utilities for MCP.
- [ExMCP.Client.Subscription](ExMCP.Client.Subscription.md): A client-owned MCP 2026-07-28 subscription stream.
- [ExMCP.Client.Subscription.Ref](ExMCP.Client.Subscription.Ref.md): A reference to an active subscription process.
- [ExMCP.Client.Types](ExMCP.Client.Types.md): Shared type definitions for ExMCP.Client modules.
- [ExMCP.ClientConfig](ExMCP.ClientConfig.md): Configuration builder for ExMCP clients.
- [ExMCP.ConsentHandler](ExMCP.ConsentHandler.md): A behaviour for handling user consent for accessing external resources.

- [ExMCP.ConsentHandler.CLI](ExMCP.ConsentHandler.CLI.md): A consent handler that prompts the user for consent via the command line.
Suitable for interactive `stdio` transport sessions.

- [ExMCP.ConsentHandler.Deny](ExMCP.ConsentHandler.Deny.md): A consent handler that denies all requests for external resource access.
This is the default, production-safe handler.

- [ExMCP.ConsentHandler.Web](ExMCP.ConsentHandler.Web.md): A consent handler for web applications.
- [ExMCP.Content.Builders](ExMCP.Content.Builders.md): Smart constructors and builder patterns for ExMCP content creation.
- [ExMCP.Content.Protocol](ExMCP.Content.Protocol.md): Content protocol for ExMCP - type-safe content handling system.
- [ExMCP.Content.Sanitizer](ExMCP.Content.Sanitizer.md): Content sanitization utilities for MCP content.
- [ExMCP.Content.SchemaPolicy](ExMCP.Content.SchemaPolicy.md): Fail-closed resource policy for JSON Schema compilation and validation.
- [ExMCP.Content.SchemaValidator](ExMCP.Content.SchemaValidator.md): Schema validation for MCP content.
- [ExMCP.Content.SecurityScanner](ExMCP.Content.SecurityScanner.md): Security scanning utilities for MCP content.
- [ExMCP.Content.Transformer](ExMCP.Content.Transformer.md): Content transformation utilities for MCP content.
- [ExMCP.Content.Validation](ExMCP.Content.Validation.md): Content validation and transformation utilities for ExMCP.
- [ExMCP.Content.ValidatorRegistry](ExMCP.Content.ValidatorRegistry.md): GenServer-based validator registry that replaces Process dictionary usage.
- [ExMCP.FeatureFlags](ExMCP.FeatureFlags.md): Feature flag system for controlling rollout of new MCP features.
- [ExMCP.Helpers](ExMCP.Helpers.md): Helper macros and functions for common MCP patterns in ExMCP.
- [ExMCP.HttpPlug.Core](ExMCP.HttpPlug.Core.md): Pure request/response decisions for `ExMCP.HttpPlug`.
- [ExMCP.HttpPlug.SSEConnection](ExMCP.HttpPlug.SSEConnection.md): Connection operations `ExMCP.HttpPlug.SSEHandler` needs from its socket.
- [ExMCP.HttpPlug.SSEConnection.PlugConn](ExMCP.HttpPlug.SSEConnection.PlugConn.md): Default `ExMCP.HttpPlug.SSEConnection` implementation backed by `Plug.Conn`.

- [ExMCP.HttpPlug.SSEHandler](ExMCP.HttpPlug.SSEHandler.md): Server-Sent Events handler with backpressure control.
- [ExMCP.HttpPlug.SessionRegistry](ExMCP.HttpPlug.SessionRegistry.md): Supervised owner of the SSE session table used by `ExMCP.HttpPlug`.
- [ExMCP.MessageProcessor](ExMCP.MessageProcessor.md): Core message processing abstraction for ExMCP.
- [ExMCP.MessageProcessor.Conn](ExMCP.MessageProcessor.Conn.md): Connection struct representing an MCP message processing context.

- [ExMCP.Plugs.DnsRebinding](ExMCP.Plugs.DnsRebinding.md): Plug for DNS rebinding protection.
- [ExMCP.Plugs.JWKS](ExMCP.Plugs.JWKS.md): Serves a JSON Web Key Set (JWKS) for token signature verification.
- [ExMCP.Plugs.ProtectedResourceMetadata](ExMCP.Plugs.ProtectedResourceMetadata.md): Serves Protected Resource Metadata per RFC 9728.
- [ExMCP.Plugs.ProtocolVersion](ExMCP.Plugs.ProtocolVersion.md): Plug for validating and extracting the MCP-Protocol-Version header.
- [ExMCP.Plugs.TokenIntrospection](ExMCP.Plugs.TokenIntrospection.md): Server-side token introspection endpoint (RFC 7662).
- [ExMCP.Plugs.TokenRevocation](ExMCP.Plugs.TokenRevocation.md): Server-side token revocation endpoint (RFC 7009).
- [ExMCP.ProgressTracker](ExMCP.ProgressTracker.md): Progress tracking for MCP 2025-06-18 specification compliance.
- [ExMCP.Protocol.CacheableResult](ExMCP.Protocol.CacheableResult.md): Defines and validates the cache hints required by modern MCP results.
- [ExMCP.Protocol.ErrorCodes](ExMCP.Protocol.ErrorCodes.md): JSON-RPC 2.0 and MCP-specific error codes.
- [ExMCP.Protocol.Meta](ExMCP.Protocol.Meta.md): Builds and validates MCP `_meta` objects.
- [ExMCP.Protocol.Methods](ExMCP.Protocol.Methods.md): Canonical registry of MCP methods understood by ExMCP.
- [ExMCP.Protocol.RequestProcessor](ExMCP.Protocol.RequestProcessor.md): Processes JSON-RPC requests for MCP servers.
- [ExMCP.Protocol.RequestTracker](ExMCP.Protocol.RequestTracker.md): Manages tracking of pending requests and cancellations for MCP servers.
- [ExMCP.Protocol.ResponseBuilder](ExMCP.Protocol.ResponseBuilder.md): Utility module for building JSON-RPC 2.0 responses in MCP.
- [ExMCP.Protocol.ResultEnvelope](ExMCP.Protocol.ResultEnvelope.md): Classifies result envelopes according to the negotiated MCP protocol era.
- [ExMCP.Protocol.TraceContext](ExMCP.Protocol.TraceContext.md): Validates and bounds W3C trace-context fields carried in MCP `_meta`.
- [ExMCP.Protocol.VersionNegotiator](ExMCP.Protocol.VersionNegotiator.md): Negotiates legacy MCP revisions during the `initialize` handshake.
- [ExMCP.Registry](ExMCP.Registry.md): Registry for managing tools, resources, and prompts in ExMCP.
- [ExMCP.Reliability](ExMCP.Reliability.md): Convenience functions for reliability features.
- [ExMCP.Reliability.CircuitBreaker](ExMCP.Reliability.CircuitBreaker.md): Circuit breaker GenServer wrapper.
- [ExMCP.Reliability.CircuitBreaker.Core](ExMCP.Reliability.CircuitBreaker.Core.md): Pure circuit-breaker state machine used by `ExMCP.Reliability.CircuitBreaker`.

- [ExMCP.Reliability.HealthCheck](ExMCP.Reliability.HealthCheck.md): Health check system for MCP clients and servers.
- [ExMCP.Reliability.Retry](ExMCP.Reliability.Retry.md): Retry logic with exponential backoff for MCP operations.
- [ExMCP.Reliability.Supervisor](ExMCP.Reliability.Supervisor.md): Supervisor for reliability components in ExMCP.
- [ExMCP.Reliability.Supervisor.ClientWrapper](ExMCP.Reliability.Supervisor.ClientWrapper.md): Wrapper process that integrates reliability features for MCP clients.
- [ExMCP.Security.CORS](ExMCP.Security.CORS.md): Handles Cross-Origin Resource Sharing (CORS) logic.
- [ExMCP.Security.Consent](ExMCP.Security.Consent.md): Manages user consent for various operations.
- [ExMCP.Security.TokenHandler](ExMCP.Security.TokenHandler.md): Handles outbound credential isolation and exact-origin trust classification.
- [ExMCP.Security.Validation](ExMCP.Security.Validation.md): Handles request and response validation, including transport layer security configurations.
- [ExMCP.Server.CancellationTracker](ExMCP.Server.CancellationTracker.md): Strategy for propagating `notifications/cancelled` into handler state.
- [ExMCP.Server.CancellationTracker.Default](ExMCP.Server.CancellationTracker.Default.md): Default cancellation tracker.
- [ExMCP.Server.Capabilities](ExMCP.Server.Capabilities.md): Helper module to build server capabilities.
- [ExMCP.Server.Context](ExMCP.Server.Context.md): Access to the validated context of the currently executing server callback.
- [ExMCP.Server.Discover](ExMCP.Server.Discover.md): Assembles and validates `server/discover` results.
- [ExMCP.Server.Dispatch](ExMCP.Server.Dispatch.md): Single MCP method table for handler modules invoked with their own state.
- [ExMCP.Server.Handler.Echo](ExMCP.Server.Handler.Echo.md): This module provides ExMCP extensions beyond the standard MCP specification.
- [ExMCP.Server.HandlerBridge](ExMCP.Server.HandlerBridge.md): Normalizes `ExMCP.Server.Handler` callback returns into canonical
`c:GenServer.handle_call/3` replies.
- [ExMCP.Server.HandlerServer](ExMCP.Server.HandlerServer.md): Transport-aware process for `ExMCP.Server.Handler` modules.
- [ExMCP.Server.ReplayCache](ExMCP.Server.ReplayCache.md): Behaviour for atomically consuming MRTR continuation identifiers.
- [ExMCP.Server.ReplayCache.ETS](ExMCP.Server.ReplayCache.ETS.md): Node-local atomic replay cache for MRTR request state.
- [ExMCP.Server.RequestContext](ExMCP.Server.RequestContext.md): Validated protocol context for one inbound MCP message.
- [ExMCP.Server.RequestState](ExMCP.Server.RequestState.md): Seals and verifies opaque MCP multi-round-trip request state.
- [ExMCP.Server.ResultNormalizer](ExMCP.Server.ResultNormalizer.md): Shared result and error normalization for every server dispatch path.
- [ExMCP.Server.SSESession](ExMCP.Server.SSESession.md): Server-side SSE session manager for bidirectional MCP communication.
- [ExMCP.Server.StdioServer](ExMCP.Server.StdioServer.md): STDIO transport server for MCP protocol.
- [ExMCP.Server.Subscriptions](ExMCP.Server.Subscriptions.md): Registry and publication coordinator for MCP 2026-07-28 subscriptions.
- [ExMCP.Server.Subscriptions.Adapter](ExMCP.Server.Subscriptions.Adapter.md): Storage contract for modern MCP subscription registrations.
- [ExMCP.Server.Subscriptions.ETS](ExMCP.Server.Subscriptions.ETS.md): Node-local subscription adapter backed by a private ETS table.
- [ExMCP.Server.Subscriptions.Entry](ExMCP.Server.Subscriptions.Entry.md): A modern MCP subscription registration.
- [ExMCP.Server.Subscriptions.PubSub](ExMCP.Server.Subscriptions.PubSub.md): Cluster fan-out adapter for modern MCP subscriptions.
- [ExMCP.Server.Tools.Builder.Tool](ExMCP.Server.Tools.Builder.Tool.md): Runtime representation of a tool definition.

- [ExMCP.Server.Transport](ExMCP.Server.Transport.md): Transport configuration and lifecycle management for ExMCP servers.
- [ExMCP.SessionManager](ExMCP.SessionManager.md): Legacy session management for Streamable HTTP connections.
- [ExMCP.StdioLauncher](ExMCP.StdioLauncher.md): Launcher module for STDIO servers that handles Mix.install output.
- [ExMCP.SubscriptionRegistry](ExMCP.SubscriptionRegistry.md): Tracks streamable-HTTP resource subscriptions by MCP session.
- [ExMCP.Tasks](ExMCP.Tasks.md): Durable lifecycle helpers for the MCP Tasks extension.
- [ExMCP.Tasks.Extension](ExMCP.Tasks.Extension.md): Capability and wire helpers for the MCP Tasks extension.
- [ExMCP.Tasks.Server](ExMCP.Tasks.Server.md): Server-callback adapters for `ExMCP.Tasks`.
- [ExMCP.Tasks.Store](ExMCP.Tasks.Store.md): Persistence contract for the MCP Tasks extension.
- [ExMCP.Tasks.Store.ETS](ExMCP.Tasks.Store.ETS.md): Bounded node-local Tasks store with atomic lifecycle operations.
- [ExMCP.Tasks.Task](ExMCP.Tasks.Task.md): Task struct and state machine validation for MCP Tasks.
- [ExMCP.Telemetry](ExMCP.Telemetry.md): Telemetry integration for ExMCP.
- [ExMCP.TestCase](ExMCP.TestCase.md): Custom test case for ExMCP with MCP-specific testing utilities.
- [ExMCP.Testing.Assertions](ExMCP.Testing.Assertions.md): Custom assertions for MCP protocol testing.
- [ExMCP.Testing.Builders](ExMCP.Testing.Builders.md): Test data builders and generators for ExMCP.
- [ExMCP.Testing.MockServer](ExMCP.Testing.MockServer.md): Mock MCP server implementation for testing.
- [ExMCP.Testing.MockTransport](ExMCP.Testing.MockTransport.md): Mock transport implementation that connects to MockServer.
- [ExMCP.Testing.SchemaGenerator](ExMCP.Testing.SchemaGenerator.md): Generates valid test values from JSON Schema definitions.
- [ExMCP.Transport.Error](ExMCP.Transport.Error.md): Standardized error handling for MCP transports.
- [ExMCP.Transport.HTTPServer](ExMCP.Transport.HTTPServer.md):   HTTP server transport for MCP with security and CORS support.
- [ExMCP.Transport.HTTPServerWithVersion](ExMCP.Transport.HTTPServerWithVersion.md): Example HTTP server configuration that includes protocol version validation.
- [ExMCP.Transport.ReliabilityWrapper](ExMCP.Transport.ReliabilityWrapper.md): Transport wrapper that adds circuit breaker protection to any MCP transport.
- [ExMCP.Transport.SecurityError](ExMCP.Transport.SecurityError.md): Standardized security error handling across transports.
- [ExMCP.Transport.SecurityGuard](ExMCP.Transport.SecurityGuard.md): Transport-layer security interceptor that enforces MCP security policies.
- [ExMCP.Transport.Test](ExMCP.Transport.Test.md): In-memory transport for testing purposes.
- [ExMCP.TransportManager](ExMCP.TransportManager.md): Transport abstraction layer with fallback mechanisms.
- [ExMCP.Types.V20241105](ExMCP.Types.V20241105.md): Type definitions for MCP protocol version 2024-11-05.
- [ExMCP.Types.V20250326](ExMCP.Types.V20250326.md): Type definitions for MCP protocol version 2025-03-26.
- [ExMCP.Types.V20250618](ExMCP.Types.V20250618.md): Type definitions for MCP protocol version 2025-06-18.
- [ExMCP.Types.V20251125](ExMCP.Types.V20251125.md): Type definitions for MCP protocol version 2025-11-25.
- [ExMCP.Types.V20260728](ExMCP.Types.V20260728.md): Type definitions for MCP protocol version 2026-07-28.
- [ExMCP.Validation.ToolName](ExMCP.Validation.ToolName.md): Validates MCP tool names according to the 2025-11-25 specification.

- MCP Core
  - [ExMCP](ExMCP.md): ExMCP - Complete Elixir implementation of the Model Context Protocol.
  - [ExMCP.Client](ExMCP.Client.md): Unified MCP client combining the best features of all implementations.
  - [ExMCP.Content](ExMCP.Content.md): Content handling utilities for MCP messages.
  - [ExMCP.Error](ExMCP.Error.md): Error types and utilities for ExMCP.
  - [ExMCP.HttpPlug](ExMCP.HttpPlug.md): HTTP Plug for MCP (Model Context Protocol) requests.
Compatible with Phoenix and Cowboy servers.
  - [ExMCP.Response](ExMCP.Response.md): Structured response types for MCP operations.
  - [ExMCP.Server](ExMCP.Server.md): Public server-side helpers for running MCP servers.
  - [ExMCP.Server.DSL](ExMCP.Server.DSL.md): Modern DSL for defining MCP server primitives next to their handlers.
  - [ExMCP.Server.DSL.Result](ExMCP.Server.DSL.Result.md): Response helpers for the modern server DSL.
  - [ExMCP.Server.Handler](ExMCP.Server.Handler.md): This module implements the standard MCP specification.
  - [ExMCP.Server.MRTR.InputRequired](ExMCP.Server.MRTR.InputRequired.md): A server result that suspends a modern MCP operation for client input.
  - [ExMCP.Types](ExMCP.Types.md): Type definitions for the Model Context Protocol.

- MCP Transports
  - [ExMCP.Transport](ExMCP.Transport.md): Behaviour definition for MCP transport implementations.
  - [ExMCP.Transport.HTTP](ExMCP.Transport.HTTP.md): Streamable HTTP client transport for both supported MCP wire eras.
  - [ExMCP.Transport.Local](ExMCP.Transport.Local.md): Local BEAM transport for ExMCP.
  - [ExMCP.Transport.SSEClient](ExMCP.Transport.SSEClient.md): Server-Sent Events client for the Streamable HTTP transport.
  - [ExMCP.Transport.Stdio](ExMCP.Transport.Stdio.md): This module implements the standard MCP specification.

- Authorization
  - [ExMCP.Authorization](ExMCP.Authorization.md): MCP Authorization support for OAuth 2.1 with PKCE.

- Agent Client Protocol (ACP)
  - [ExMCP.ACP](ExMCP.ACP.md): Facade for the Agent Client Protocol (ACP).
  - [ExMCP.ACP.Adapter](ExMCP.ACP.Adapter.md): Behaviour for adapting non-native CLI agents to ACP.
  - [ExMCP.ACP.AdapterBridge](ExMCP.ACP.AdapterBridge.md): GenServer bridge between ACP clients and non-native CLI agents.
  - [ExMCP.ACP.AdapterTransport](ExMCP.ACP.AdapterTransport.md): `ExMCP.Transport` implementation that delegates to an `AdapterBridge`.
  - [ExMCP.ACP.Adapters.ClaudeSDK](ExMCP.ACP.Adapters.ClaudeSDK.md): Adapter for Claude Code using the Claude Agent SDK process protocol.
  - [ExMCP.ACP.Adapters.ClaudeSDK.SessionStore](ExMCP.ACP.Adapters.ClaudeSDK.SessionStore.md): Pure helpers for Claude Code's SDK session store.
  - [ExMCP.ACP.Adapters.Codex](ExMCP.ACP.Adapters.Codex.md): Adapter for Codex CLI using `codex app-server` persistent mode.
  - [ExMCP.ACP.Adapters.Pi](ExMCP.ACP.Adapters.Pi.md): ACP adapter for the Pi coding agent.
  - [ExMCP.ACP.Agent](ExMCP.ACP.Agent.md): Runtime for building native Elixir Agent Client Protocol agents.
  - [ExMCP.ACP.Agent.Handler](ExMCP.ACP.Agent.Handler.md): Behaviour for native Elixir ACP agents.
  - [ExMCP.ACP.Client](ExMCP.ACP.Client.md): GenServer client for the Agent Client Protocol (ACP).
  - [ExMCP.ACP.Client.DefaultHandler](ExMCP.ACP.Client.DefaultHandler.md): Default ACP handler that collects events and denies permissions.
  - [ExMCP.ACP.Client.Handler](ExMCP.ACP.Client.Handler.md): Behaviour for handling ACP session events and agent requests.
  - [ExMCP.ACP.Protocol](ExMCP.ACP.Protocol.md): ACP-specific message encoding.
  - [ExMCP.ACP.Registry](ExMCP.ACP.Registry.md): Helpers for the public ACP agent registry.
  - [ExMCP.ACP.Types](ExMCP.ACP.Types.md): Type specifications and builder functions for the Agent Client Protocol (ACP).

- Deprecated (planned removal in 2.0)
  - [ExMCP.Server.Tools](ExMCP.Server.Tools.md): DSL for defining MCP tools in server handlers.
  - [ExMCP.Server.Tools.ASTValidator](ExMCP.Server.Tools.ASTValidator.md): Validates AST nodes to ensure they are safe for evaluation.
  - [ExMCP.Server.Tools.Builder](ExMCP.Server.Tools.Builder.md): Simplified tool builder that reduces metaprogramming complexity.
  - [ExMCP.Server.Tools.Helpers](ExMCP.Server.Tools.Helpers.md): Helper functions for building tool responses and working with schemas.
  - [ExMCP.Server.Tools.Registry](ExMCP.Server.Tools.Registry.md): Runtime tool registry that manages tool definitions and handlers.
  - [ExMCP.Server.Tools.ResponseNormalizer](ExMCP.Server.Tools.ResponseNormalizer.md): Normalizes tool responses to comply with MCP specification.
  - [ExMCP.Server.Tools.Simplified](ExMCP.Server.Tools.Simplified.md): Simplified tool definition DSL that reduces metaprogramming complexity.

- Exceptions
  - [ExMCP.ClientError](ExMCP.ClientError.md): Raised when client operations fail
  - [ExMCP.ConnectionError](ExMCP.ConnectionError.md): Raised when MCP connection fails
  - [ExMCP.Error.ProtocolError](ExMCP.Error.ProtocolError.md): Errors related to MCP protocol violations.

  - [ExMCP.Error.ResourceError](ExMCP.Error.ResourceError.md): Errors that occur during resource operations.

  - [ExMCP.Error.ToolError](ExMCP.Error.ToolError.md): Errors that occur during tool execution.

  - [ExMCP.Error.TransportError](ExMCP.Error.TransportError.md): Errors related to transport layer issues.

  - [ExMCP.Error.ValidationError](ExMCP.Error.ValidationError.md): Errors related to input validation.

  - [ExMCP.PromptError](ExMCP.PromptError.md): Raised when prompt operations fail
  - [ExMCP.ResourceError](ExMCP.ResourceError.md): Raised when resource operations fail
  - [ExMCP.ToolError](ExMCP.ToolError.md): Raised when tool operations fail

