Safe Haskell | Safe-Inferred |
---|---|
Language | Haskell2010 |
Network.MCP.Server
Synopsis
- data Server
- type ServerHandler = Server -> Value -> IO Value
- type ResourceReadHandler = ReadResourceRequest -> IO ReadResourceResult
- type ToolCallHandler = CallToolRequest -> IO CallToolResult
- type PromptHandler = GetPromptRequest -> IO GetPromptResult
- createServer :: ServerInfo -> ServerCapabilities -> Text -> IO Server
- registerResources :: Server -> [Resource] -> IO ()
- registerResourceReadHandler :: Server -> ResourceReadHandler -> IO ()
- registerTools :: Server -> [Tool] -> IO ()
- registerToolCallHandler :: Server -> ToolCallHandler -> IO ()
- registerPrompts :: Server -> [Prompt] -> IO ()
- registerPromptHandler :: Server -> PromptHandler -> IO ()
- runServerWithTransport :: Transport t => Server -> t -> IO ()
- withTransportServer :: Transport t => Server -> t -> (Async () -> IO a) -> IO a
- handleRequest :: Server -> Request -> IO (Either SomeException Response)
- handleMessage :: Server -> Message -> IO (Maybe Message)
Documentation
type ResourceReadHandler = ReadResourceRequest -> IO ReadResourceResult Source #
Resource read handler type
type ToolCallHandler = CallToolRequest -> IO CallToolResult Source #
Tool call handler type
type PromptHandler = GetPromptRequest -> IO GetPromptResult Source #
Prompt handler type
createServer :: ServerInfo -> ServerCapabilities -> Text -> IO Server Source #
registerResourceReadHandler :: Server -> ResourceReadHandler -> IO () Source #
Register resource read handler
registerToolCallHandler :: Server -> ToolCallHandler -> IO () Source #
Register tool call handler
registerPromptHandler :: Server -> PromptHandler -> IO () Source #
Register prompt handler
runServerWithTransport :: Transport t => Server -> t -> IO () Source #
Run the server, handling messages until the transport mechanism shuts down.
withTransportServer :: Transport t => Server -> t -> (Async () -> IO a) -> IO a Source #
Run a transport server while the action is executed. If the action throws an exception or terminates the server will be stopped.
handleRequest :: Server -> Request -> IO (Either SomeException Response) Source #
Handle a request