API Reference hermes_mcp v#0.9.0
Modules
CLI entry point for the Hermes MCP standalone binary.
High-level DSL for defining MCP (Model Context Protocol) clients.
A GenServer implementation of an MCP (Model Context Protocol) client.
Represents an operation to be performed by the MCP client.
Represents a pending request in the MCP client.
Manages state for the Hermes MCP client.
Supervisor for MCP client processes.
HTTP utilities.
Centralized logging for Hermes MCP client.
Fluent API for building MCP protocol errors.
Utilities for working with MCP message identifiers.
Handles parsing and validation of MCP (Model Context Protocol) messages using the Peri library.
Represents successful responses in the MCP protocol.
Protocol version management and feature validation for MCP.
Server-Sent Events (SSE) utilities, HTTP client abstraction and HTTP streaming handling.
Represents a Server-Sent Event.
Parses a raw SSE stream into a list of %SSE.Event{}
structs.
Handles Server-Sent Events streaming for MCP connections.
High-level MCP server implementation.
Base implementation of an MCP server.
Defines the core behavior that all MCP servers must implement.
High-level API for defining MCP server components (tools, prompts, resources).
Defines the behaviour for MCP prompts.
Defines the behaviour for MCP resources.
Handles schema conversion between Peri and JSON Schema formats for MCP protocol compliance.
Defines the behaviour for MCP tools.
Raised when required MCP server configuration is missing or invalid.
The Hermes Frame.
Handles MCP protocol prompt-related methods.
Handles MCP protocol resource-related methods.
Handles MCP protocol tool-related methods.
Registry for MCP server and transport processes.
Behaviour for registry adapters in MCP servers.
Fluent interface for building MCP component responses.
Manages state for the Hermes MCP server base implementation.
Dynamic supervisor for managing per-session server processes.
Supervisor for MCP server processes.
SSE (Server-Sent Events) transport implementation for MCP servers.
A Plug implementation for the SSE (Server-Sent Events) transport.
STDIO transport implementation for MCP servers.
StreamableHTTP transport implementation for MCP servers.
A Plug implementation for the Streamable HTTP transport.
Telemetry integration for Hermes MCP.
Defines the behavior that all transport implementations must follow.
A transport implementation that uses Server-Sent Events (SSE) for receiving messages and HTTP POST requests for sending messages back to the server.
A transport implementation that uses standard input/output.
A transport implementation that uses Streamable HTTP as specified in MCP 2025-03-26.
A transport implementation that uses WebSockets for bidirectional communication with the MCP server.
Standalone CLI application for Hermes MCP interactive shells.
Common command implementations for interactive MCP shells.
Base functionality for interactive MCP shells.
State inspection utilities for the interactive MCP shell.
Supervised shell for interactive MCP sessions with automatic restart capability.
Common UI elements and formatting functions for interactive MCP shells.
Mix Tasks
Mix task to test the SSE transport implementation, interactively sending commands.
Mix task to test the STDIO transport implementation, interactively sending commands.
Mix task to test the Streamable HTTP transport implementation, interactively sending commands.
Mix task to test the WebSocket transport implementation, interactively sending commands.