mcp-server
Safe HaskellNone
LanguageGHC2024

MCP.Server.Handlers

Synopsis

Core Message Handling

handleMcpMessage :: MonadIO m => McpServerInfo -> McpServerHandlers m -> JsonRpcMessage -> m (Maybe JsonRpcMessage) Source #

Handle an MCP message and return a response if needed

jsonValueToText :: Value -> Text Source #

Convert JSON Value to Text representation suitable for handlers

Individual Request Handlers

handlePing :: MonadIO m => JsonRpcRequest -> m JsonRpcResponse Source #

Handle ping request

handleResourcesList :: MonadIO m => McpServerHandlers m -> JsonRpcRequest -> m JsonRpcResponse Source #

Handle resources/list request

handleResourcesRead :: MonadIO m => McpServerHandlers m -> JsonRpcRequest -> m JsonRpcResponse Source #

Handle resources/read request

Protocol Support

validateProtocolVersion :: Text -> Either Text Text Source #

Validate protocol version and return negotiated version

getMessageSummary :: JsonRpcMessage -> String Source #

Extract a brief summary of a JSON-RPC message for logging

Error Conversion

errorCodeFromMcpError :: Error -> Int Source #

Convert MCP error to JSON-RPC error code

errorMessageFromMcpError :: Error -> Text Source #

Convert MCP error to JSON-RPC error message