Safe Haskell | None |
---|---|
Language | GHC2024 |
MCP.Server.Handlers
Synopsis
- handleMcpMessage :: MonadIO m => McpServerInfo -> McpServerHandlers m -> JsonRpcMessage -> m (Maybe JsonRpcMessage)
- jsonValueToText :: Value -> Text
- handleInitialize :: MonadIO m => McpServerInfo -> JsonRpcRequest -> m JsonRpcResponse
- handlePing :: MonadIO m => JsonRpcRequest -> m JsonRpcResponse
- handlePromptsList :: MonadIO m => McpServerHandlers m -> JsonRpcRequest -> m JsonRpcResponse
- handlePromptsGet :: MonadIO m => McpServerHandlers m -> JsonRpcRequest -> m JsonRpcResponse
- handleResourcesList :: MonadIO m => McpServerHandlers m -> JsonRpcRequest -> m JsonRpcResponse
- handleResourcesRead :: MonadIO m => McpServerHandlers m -> JsonRpcRequest -> m JsonRpcResponse
- handleToolsList :: MonadIO m => McpServerHandlers m -> JsonRpcRequest -> m JsonRpcResponse
- handleToolsCall :: MonadIO m => McpServerHandlers m -> JsonRpcRequest -> m JsonRpcResponse
- validateProtocolVersion :: Text -> Either Text Text
- getMessageSummary :: JsonRpcMessage -> String
- errorCodeFromMcpError :: Error -> Int
- errorMessageFromMcpError :: Error -> Text
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
handleInitialize :: MonadIO m => McpServerInfo -> JsonRpcRequest -> m JsonRpcResponse Source #
Handle initialize request
handlePing :: MonadIO m => JsonRpcRequest -> m JsonRpcResponse Source #
Handle ping request
handlePromptsList :: MonadIO m => McpServerHandlers m -> JsonRpcRequest -> m JsonRpcResponse Source #
Handle prompts/list request
handlePromptsGet :: MonadIO m => McpServerHandlers m -> JsonRpcRequest -> m JsonRpcResponse Source #
Handle prompts/get 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
handleToolsList :: MonadIO m => McpServerHandlers m -> JsonRpcRequest -> m JsonRpcResponse Source #
Handle tools/list request
handleToolsCall :: MonadIO m => McpServerHandlers m -> JsonRpcRequest -> m JsonRpcResponse Source #
Handle tools/call 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