# anubis_mcp v0.17.1 - Table of Contents Model Context Protocol (MCP) implementation in Elixir with Phoenix integration ## Pages - Getting Started - [Anubis MCP](readme.md) - Building with Anubis - [Building a Client](building-a-client.md) - [Building a Server](building-a-server.md) - Patterns & Reference - [Recipes](recipes.md) - [API Reference](reference.md) - Project Info - [Changelog](changelog.md) - [Contributing to Anubis MCP](contributing.md) - [LICENSE](license.md) ## Modules - [Anubis.Client](Anubis.Client.md): High-level DSL for defining MCP (Model Context Protocol) clients. - [Anubis.Client.Operation](Anubis.Client.Operation.md): Represents an operation to be performed by the MCP client. - [Anubis.MCP.Case](Anubis.MCP.Case.md): Test case template for MCP protocol testing. - [Anubis.MCP.Error](Anubis.MCP.Error.md): Fluent API for building MCP protocol errors. - [Anubis.MCP.Message](Anubis.MCP.Message.md): Handles parsing and validation of MCP (Model Context Protocol) messages using the Peri library. - [Anubis.MCP.Response](Anubis.MCP.Response.md): Represents successful responses in the MCP protocol. - [Anubis.Protocol](Anubis.Protocol.md): MCP protocol version management. - [Anubis.Protocol.Behaviour](Anubis.Protocol.Behaviour.md): Behaviour that each MCP protocol version module must implement. - [Anubis.Protocol.Registry](Anubis.Protocol.Registry.md): Registry for MCP protocol version modules. - [Anubis.Protocol.V2024_11_05](Anubis.Protocol.V2024_11_05.md): Protocol implementation for MCP specification version 2024-11-05. - [Anubis.Protocol.V2025_03_26](Anubis.Protocol.V2025_03_26.md): Protocol implementation for MCP specification version 2025-03-26. - [Anubis.Protocol.V2025_06_18](Anubis.Protocol.V2025_06_18.md): Protocol implementation for MCP specification version 2025-06-18. - [Anubis.Server](Anubis.Server.md): Build MCP servers that extend language model capabilities. - [Anubis.Server.Component.Prompt](Anubis.Server.Component.Prompt.md): Defines the behaviour for MCP prompts. - [Anubis.Server.Component.Resource](Anubis.Server.Component.Resource.md): Defines the behaviour for MCP resources. - [Anubis.Server.Component.Tool](Anubis.Server.Component.Tool.md): Defines the behaviour for MCP tools. - [Anubis.Server.Frame](Anubis.Server.Frame.md): The Anubis Frame. - [Anubis.Server.Registry.Adapter](Anubis.Server.Registry.Adapter.md): Behaviour for registry adapters in MCP servers. - [Anubis.Server.Response](Anubis.Server.Response.md): Fluent interface for building MCP component responses. - [Anubis.Server.Session.Store](Anubis.Server.Session.Store.md): Behaviour for session persistence adapters. - [Anubis.Server.Session.Store.Redis](Anubis.Server.Session.Store.Redis.md): Redis-based session store implementation. - [Anubis.Server.Transport.SSE](Anubis.Server.Transport.SSE.md): SSE (Server-Sent Events) transport implementation for MCP servers. - [Anubis.Server.Transport.SSE.Plug](Anubis.Server.Transport.SSE.Plug.md): A Plug implementation for the SSE (Server-Sent Events) transport. - [Anubis.Server.Transport.STDIO](Anubis.Server.Transport.STDIO.md): STDIO transport implementation for MCP servers. - [Anubis.Server.Transport.StreamableHTTP](Anubis.Server.Transport.StreamableHTTP.md): StreamableHTTP transport implementation for MCP servers. - [Anubis.Server.Transport.StreamableHTTP.Plug](Anubis.Server.Transport.StreamableHTTP.Plug.md): A Plug implementation for the Streamable HTTP transport. - [Anubis.Test.MockSessionStore](Anubis.Test.MockSessionStore.md): Mock session store for testing persistence functionality. - [Anubis.Transport](Anubis.Transport.md): Functional behaviour for MCP transport implementations. - [Anubis.Transport.Behaviour](Anubis.Transport.Behaviour.md): Defines the behavior that all transport implementations must follow. - [Anubis.Transport.SSE](Anubis.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. - [Anubis.Transport.STDIO](Anubis.Transport.STDIO.md): A transport implementation that uses standard input/output. - [Anubis.Transport.StreamableHTTP](Anubis.Transport.StreamableHTTP.md): A transport implementation that uses Streamable HTTP as specified in MCP 2025-03-26. - [Anubis.Transport.WebSocket](Anubis.Transport.WebSocket.md): A transport implementation that uses WebSockets for bidirectional communication with the MCP server. - [StubServer](StubServer.md): Minimal test server that implements only the required callbacks. - [StubTransport](StubTransport.md): Simple mock transport for MCP protocol testing. Records all messages sent through it for inspection in tests. - [TestPrompts.FieldPrompt](TestPrompts.FieldPrompt.md): Test prompt with field metadata - [TestPrompts.LegacyPrompt](TestPrompts.LegacyPrompt.md): Legacy prompt without field macros - [TestPrompts.NestedPrompt](TestPrompts.NestedPrompt.md): Prompt with nested fields - [TestTools.DateListTool](TestTools.DateListTool.md): Tool with list of dates - [TestTools.DateTimeTool](TestTools.DateTimeTool.md): Tool with datetime field - [TestTools.DateTool](TestTools.DateTool.md): Tool with date field - [TestTools.DeeplyNestedTool](TestTools.DeeplyNestedTool.md): Tool with deeply nested fields - [TestTools.EnumWithTypeTool](TestTools.EnumWithTypeTool.md): Tool demonstrating enum with type specification - [TestTools.EventTool](TestTools.EventTool.md): Tool with nested date fields - [TestTools.LegacyTool](TestTools.LegacyTool.md): Tool using traditional Peri schema syntax without field macros - [TestTools.NaiveDateTimeTool](TestTools.NaiveDateTimeTool.md): Tool with naive datetime field - [TestTools.NestedFieldTool](TestTools.NestedFieldTool.md): Tool with nested field definitions - [TestTools.RequiredOptionTool](TestTools.RequiredOptionTool.md): Tool demonstrating required: true option - [TestTools.SingleNestedFieldTool](TestTools.SingleNestedFieldTool.md): Tool with single nested field - [TestTools.TimeTool](TestTools.TimeTool.md): Tool with time field - [ToolWithAnnotations](ToolWithAnnotations.md): A tool with annotations - [ToolWithCustomAnnotations](ToolWithCustomAnnotations.md): A tool with custom annotations implementation - [ToolWithInvalidOutput](ToolWithInvalidOutput.md): A tool that returns data not matching its output schema - [ToolWithOutputSchema](ToolWithOutputSchema.md): A tool with output schema - [ToolWithoutAnnotations](ToolWithoutAnnotations.md): A tool without annotations - [ToolWithoutRequiredParams](ToolWithoutRequiredParams.md): A tool with no required parameters - Exceptions - [Anubis.Server.ConfigurationError](Anubis.Server.ConfigurationError.md): Raised when required MCP server configuration is missing or invalid. ## Mix Tasks - [mix anubis.sse.interactive](Mix.Tasks.Anubis.Sse.Interactive.md): Mix task to test the SSE transport implementation, interactively sending commands. - [mix anubis.stdio.interactive](Mix.Tasks.Anubis.Stdio.Interactive.md): Mix task to test the STDIO transport implementation, interactively sending commands. - [mix anubis.streamable_http.interactive](Mix.Tasks.Anubis.StreamableHttp.Interactive.md): Mix task to test the Streamable HTTP transport implementation, interactively sending commands. - [mix anubis.websocket.interactive](Mix.Tasks.Anubis.Websocket.Interactive.md): Mix task to test the WebSocket transport implementation, interactively sending commands.