mcp-server-0.1.0.8: Library for building Model Context Protocol (MCP) servers
Safe HaskellNone
LanguageGHC2024

MCP.Server.JsonRpc

Synopsis

JSON-RPC Types

data JsonRpcRequest Source #

JSON-RPC request

Instances

Instances details
Generic JsonRpcRequest Source # 
Instance details

Defined in MCP.Server.JsonRpc

Associated Types

type Rep JsonRpcRequest 
Instance details

Defined in MCP.Server.JsonRpc

type Rep JsonRpcRequest = D1 ('MetaData "JsonRpcRequest" "MCP.Server.JsonRpc" "mcp-server-0.1.0.8-inplace" 'False) (C1 ('MetaCons "JsonRpcRequest" 'PrefixI 'True) ((S1 ('MetaSel ('Just "requestJsonrpc") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Text) :*: S1 ('MetaSel ('Just "requestId") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 RequestId)) :*: (S1 ('MetaSel ('Just "requestMethod") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Text) :*: S1 ('MetaSel ('Just "requestParams") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Maybe Value)))))
Show JsonRpcRequest Source # 
Instance details

Defined in MCP.Server.JsonRpc

Eq JsonRpcRequest Source # 
Instance details

Defined in MCP.Server.JsonRpc

FromJSON JsonRpcRequest Source # 
Instance details

Defined in MCP.Server.JsonRpc

ToJSON JsonRpcRequest Source # 
Instance details

Defined in MCP.Server.JsonRpc

type Rep JsonRpcRequest Source # 
Instance details

Defined in MCP.Server.JsonRpc

type Rep JsonRpcRequest = D1 ('MetaData "JsonRpcRequest" "MCP.Server.JsonRpc" "mcp-server-0.1.0.8-inplace" 'False) (C1 ('MetaCons "JsonRpcRequest" 'PrefixI 'True) ((S1 ('MetaSel ('Just "requestJsonrpc") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Text) :*: S1 ('MetaSel ('Just "requestId") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 RequestId)) :*: (S1 ('MetaSel ('Just "requestMethod") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Text) :*: S1 ('MetaSel ('Just "requestParams") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Maybe Value)))))

data JsonRpcResponse Source #

JSON-RPC response

Instances

Instances details
Generic JsonRpcResponse Source # 
Instance details

Defined in MCP.Server.JsonRpc

Associated Types

type Rep JsonRpcResponse 
Instance details

Defined in MCP.Server.JsonRpc

type Rep JsonRpcResponse = D1 ('MetaData "JsonRpcResponse" "MCP.Server.JsonRpc" "mcp-server-0.1.0.8-inplace" 'False) (C1 ('MetaCons "JsonRpcResponse" 'PrefixI 'True) ((S1 ('MetaSel ('Just "responseJsonrpc") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Text) :*: S1 ('MetaSel ('Just "responseId") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 RequestId)) :*: (S1 ('MetaSel ('Just "responseResult") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Maybe Value)) :*: S1 ('MetaSel ('Just "responseError") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Maybe JsonRpcError)))))
Show JsonRpcResponse Source # 
Instance details

Defined in MCP.Server.JsonRpc

Eq JsonRpcResponse Source # 
Instance details

Defined in MCP.Server.JsonRpc

FromJSON JsonRpcResponse Source # 
Instance details

Defined in MCP.Server.JsonRpc

ToJSON JsonRpcResponse Source # 
Instance details

Defined in MCP.Server.JsonRpc

type Rep JsonRpcResponse Source # 
Instance details

Defined in MCP.Server.JsonRpc

type Rep JsonRpcResponse = D1 ('MetaData "JsonRpcResponse" "MCP.Server.JsonRpc" "mcp-server-0.1.0.8-inplace" 'False) (C1 ('MetaCons "JsonRpcResponse" 'PrefixI 'True) ((S1 ('MetaSel ('Just "responseJsonrpc") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Text) :*: S1 ('MetaSel ('Just "responseId") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 RequestId)) :*: (S1 ('MetaSel ('Just "responseResult") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Maybe Value)) :*: S1 ('MetaSel ('Just "responseError") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Maybe JsonRpcError)))))

data JsonRpcError Source #

JSON-RPC error

Instances

Instances details
Generic JsonRpcError Source # 
Instance details

Defined in MCP.Server.JsonRpc

Associated Types

type Rep JsonRpcError 
Instance details

Defined in MCP.Server.JsonRpc

type Rep JsonRpcError = D1 ('MetaData "JsonRpcError" "MCP.Server.JsonRpc" "mcp-server-0.1.0.8-inplace" 'False) (C1 ('MetaCons "JsonRpcError" 'PrefixI 'True) (S1 ('MetaSel ('Just "errorCode") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Int) :*: (S1 ('MetaSel ('Just "errorMessage") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Text) :*: S1 ('MetaSel ('Just "errorData") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Maybe Value)))))
Show JsonRpcError Source # 
Instance details

Defined in MCP.Server.JsonRpc

Eq JsonRpcError Source # 
Instance details

Defined in MCP.Server.JsonRpc

FromJSON JsonRpcError Source # 
Instance details

Defined in MCP.Server.JsonRpc

ToJSON JsonRpcError Source # 
Instance details

Defined in MCP.Server.JsonRpc

type Rep JsonRpcError Source # 
Instance details

Defined in MCP.Server.JsonRpc

type Rep JsonRpcError = D1 ('MetaData "JsonRpcError" "MCP.Server.JsonRpc" "mcp-server-0.1.0.8-inplace" 'False) (C1 ('MetaCons "JsonRpcError" 'PrefixI 'True) (S1 ('MetaSel ('Just "errorCode") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Int) :*: (S1 ('MetaSel ('Just "errorMessage") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Text) :*: S1 ('MetaSel ('Just "errorData") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Maybe Value)))))

data JsonRpcNotification Source #

JSON-RPC notification

Instances

Instances details
Generic JsonRpcNotification Source # 
Instance details

Defined in MCP.Server.JsonRpc

Associated Types

type Rep JsonRpcNotification 
Instance details

Defined in MCP.Server.JsonRpc

type Rep JsonRpcNotification = D1 ('MetaData "JsonRpcNotification" "MCP.Server.JsonRpc" "mcp-server-0.1.0.8-inplace" 'False) (C1 ('MetaCons "JsonRpcNotification" 'PrefixI 'True) (S1 ('MetaSel ('Just "notificationJsonrpc") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Text) :*: (S1 ('MetaSel ('Just "notificationMethod") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Text) :*: S1 ('MetaSel ('Just "notificationParams") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Maybe Value)))))
Show JsonRpcNotification Source # 
Instance details

Defined in MCP.Server.JsonRpc

Eq JsonRpcNotification Source # 
Instance details

Defined in MCP.Server.JsonRpc

FromJSON JsonRpcNotification Source # 
Instance details

Defined in MCP.Server.JsonRpc

ToJSON JsonRpcNotification Source # 
Instance details

Defined in MCP.Server.JsonRpc

type Rep JsonRpcNotification Source # 
Instance details

Defined in MCP.Server.JsonRpc

type Rep JsonRpcNotification = D1 ('MetaData "JsonRpcNotification" "MCP.Server.JsonRpc" "mcp-server-0.1.0.8-inplace" 'False) (C1 ('MetaCons "JsonRpcNotification" 'PrefixI 'True) (S1 ('MetaSel ('Just "notificationJsonrpc") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Text) :*: (S1 ('MetaSel ('Just "notificationMethod") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Text) :*: S1 ('MetaSel ('Just "notificationParams") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Maybe Value)))))

data JsonRpcMessage Source #

Union type for all JSON-RPC messages

Instances

Instances details
Generic JsonRpcMessage Source # 
Instance details

Defined in MCP.Server.JsonRpc

Associated Types

type Rep JsonRpcMessage 
Instance details

Defined in MCP.Server.JsonRpc

type Rep JsonRpcMessage = D1 ('MetaData "JsonRpcMessage" "MCP.Server.JsonRpc" "mcp-server-0.1.0.8-inplace" 'False) (C1 ('MetaCons "JsonRpcMessageRequest" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 JsonRpcRequest)) :+: (C1 ('MetaCons "JsonRpcMessageResponse" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 JsonRpcResponse)) :+: C1 ('MetaCons "JsonRpcMessageNotification" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 JsonRpcNotification))))
Show JsonRpcMessage Source # 
Instance details

Defined in MCP.Server.JsonRpc

Eq JsonRpcMessage Source # 
Instance details

Defined in MCP.Server.JsonRpc

FromJSON JsonRpcMessage Source # 
Instance details

Defined in MCP.Server.JsonRpc

ToJSON JsonRpcMessage Source # 
Instance details

Defined in MCP.Server.JsonRpc

type Rep JsonRpcMessage Source # 
Instance details

Defined in MCP.Server.JsonRpc

type Rep JsonRpcMessage = D1 ('MetaData "JsonRpcMessage" "MCP.Server.JsonRpc" "mcp-server-0.1.0.8-inplace" 'False) (C1 ('MetaCons "JsonRpcMessageRequest" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 JsonRpcRequest)) :+: (C1 ('MetaCons "JsonRpcMessageResponse" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 JsonRpcResponse)) :+: C1 ('MetaCons "JsonRpcMessageNotification" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 JsonRpcNotification))))

data RequestId Source #

JSON-RPC request ID

Instances

Instances details
Generic RequestId Source # 
Instance details

Defined in MCP.Server.JsonRpc

Associated Types

type Rep RequestId 
Instance details

Defined in MCP.Server.JsonRpc

type Rep RequestId = D1 ('MetaData "RequestId" "MCP.Server.JsonRpc" "mcp-server-0.1.0.8-inplace" 'False) (C1 ('MetaCons "RequestIdText" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Text)) :+: (C1 ('MetaCons "RequestIdNumber" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Int)) :+: C1 ('MetaCons "RequestIdNull" 'PrefixI 'False) (U1 :: Type -> Type)))
Show RequestId Source # 
Instance details

Defined in MCP.Server.JsonRpc

Eq RequestId Source # 
Instance details

Defined in MCP.Server.JsonRpc

FromJSON RequestId Source # 
Instance details

Defined in MCP.Server.JsonRpc

ToJSON RequestId Source # 
Instance details

Defined in MCP.Server.JsonRpc

type Rep RequestId Source # 
Instance details

Defined in MCP.Server.JsonRpc

type Rep RequestId = D1 ('MetaData "RequestId" "MCP.Server.JsonRpc" "mcp-server-0.1.0.8-inplace" 'False) (C1 ('MetaCons "RequestIdText" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Text)) :+: (C1 ('MetaCons "RequestIdNumber" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Int)) :+: C1 ('MetaCons "RequestIdNull" 'PrefixI 'False) (U1 :: Type -> Type)))

JSON-RPC Functions

makeSuccessResponse :: RequestId -> Value -> JsonRpcResponse Source #

Create a successful JSON-RPC response

makeErrorResponse :: RequestId -> JsonRpcError -> JsonRpcResponse Source #

Create an error JSON-RPC response

makeNotification :: Text -> Maybe Value -> JsonRpcNotification Source #

Create a JSON-RPC notification

parseJsonRpcMessage :: Value -> Either String JsonRpcMessage Source #

Parse a JSON-RPC message from bytes

encodeJsonRpcMessage :: JsonRpcMessage -> Value Source #

Encode a JSON-RPC message to bytes