Hermes.Server.Handlers.Prompts (hermes_mcp v0.9.1)
Handles MCP protocol prompt-related methods.
This module processes:
prompts/list
- Lists available prompts with optional paginationprompts/get
- Retrieves and generates messages for a specific prompt
Pagination Support
The prompts/list
method supports pagination through cursor parameters:
# Request
%{"method" => "prompts/list", "params" => %{"cursor" => "optional-cursor"}}
# Response with more results
%{
"prompts" => [...],
"nextCursor" => "next-page-cursor"
}
# Response for last page
%{"prompts" => [...]}
Summary
Functions
Handles the prompts/get request to retrieve messages for a specific prompt.
Handles the prompts/list request with optional pagination.
Functions
@spec handle_get(map(), Hermes.Server.Frame.t(), module()) :: {:reply, map(), Hermes.Server.Frame.t()} | {:error, Hermes.MCP.Error.t(), Hermes.Server.Frame.t()}
Handles the prompts/get request to retrieve messages for a specific prompt.
Parameters
request
- The MCP request containing prompt name and argumentsframe
- The server frameserver_module
- The server module implementing prompt components
Returns
{:reply, result, frame}
- Generated messages from the prompt{:error, error, frame}
- If prompt not found or generation fails
@spec handle_list(Hermes.Server.Frame.t(), module()) :: {:reply, map(), Hermes.Server.Frame.t()} | {:error, Hermes.MCP.Error.t(), Hermes.Server.Frame.t()}
Handles the prompts/list request with optional pagination.
Parameters
request
- The MCP request containing optional cursor in paramsframe
- The server frameserver_module
- The server module implementing prompt components
Returns
{:reply, result, frame}
- List of prompts with optional nextCursor{:error, error, frame}
- If pagination cursor is invalid