| Safe Haskell | None |
|---|---|
| Language | Haskell2010 |
Unison.MCP.Wrapper
Description
Wrapper to provide safer interface in constructing an MCP server.
Synopsis
- data Tool (m :: Type -> Type) = (FromJSON arg, HasInputSchema arg) => Tool {
- toolName :: Text
- toolDescription :: Text
- toolAnnotations :: ToolAnnotations
- toolArgType :: Proxy arg
- toolHandler :: arg -> m CallToolResult
- data Prompt (m :: Type -> Type) = Prompt {}
- class HasInputSchema (arg :: k) where
- toInputSchema :: Proxy arg -> Value
- mkServer :: MonadUnliftIO m => ServerInfo -> Text -> StaticResources -> [Tool m] -> [Prompt m] -> m Server
- data CallToolResult = CallToolResult {}
- data PromptArgument = PromptArgument {}
- type StaticResources = Map Text (Resource, ResourceContent)
- data Server
- data ServerCapabilities = ServerCapabilities {}
- data ToolAnnotations = ToolAnnotations {}
- data Implementation = Implementation {
- serverName :: Text
- serverVersion :: Text
- data ResourcesCapability = ResourcesCapability {}
- data ToolsCapability = ToolsCapability {}
- data PromptsCapability = PromptsCapability {}
- data PromptContentType
- errorToolResult :: Text -> CallToolResult
- textToolResult :: Text -> CallToolResult
- jsonToolResult :: ToJSON a => a -> CallToolResult
Documentation
data Tool (m :: Type -> Type) Source #
Constructors
| (FromJSON arg, HasInputSchema arg) => Tool | |
Fields
| |
data Prompt (m :: Type -> Type) Source #
Constructors
| Prompt | |
Fields
| |
class HasInputSchema (arg :: k) where Source #
Methods
toInputSchema :: Proxy arg -> Value Source #
Instances
mkServer :: MonadUnliftIO m => ServerInfo -> Text -> StaticResources -> [Tool m] -> [Prompt m] -> m Server Source #
data CallToolResult #
Call tool result
Constructors
| CallToolResult | |
Fields
| |
Instances
data PromptArgument Source #
Constructors
| PromptArgument | |
Fields
| |
type StaticResources = Map Text (Resource, ResourceContent) Source #
data ServerCapabilities #
Server capabilities
Constructors
| ServerCapabilities | |
Fields
| |
Instances
| FromJSON ServerCapabilities | |||||
Defined in Network.MCP.Types Methods parseJSON :: Value -> Parser ServerCapabilities # parseJSONList :: Value -> Parser [ServerCapabilities] # | |||||
| ToJSON ServerCapabilities | |||||
Defined in Network.MCP.Types Methods toJSON :: ServerCapabilities -> Value # toEncoding :: ServerCapabilities -> Encoding # toJSONList :: [ServerCapabilities] -> Value # toEncodingList :: [ServerCapabilities] -> Encoding # omitField :: ServerCapabilities -> Bool # | |||||
| Generic ServerCapabilities | |||||
Defined in Network.MCP.Types Associated Types
Methods from :: ServerCapabilities -> Rep ServerCapabilities x # to :: Rep ServerCapabilities x -> ServerCapabilities # | |||||
| Show ServerCapabilities | |||||
Defined in Network.MCP.Types Methods showsPrec :: Int -> ServerCapabilities -> ShowS # show :: ServerCapabilities -> String # showList :: [ServerCapabilities] -> ShowS # | |||||
| Eq ServerCapabilities | |||||
Defined in Network.MCP.Types Methods (==) :: ServerCapabilities -> ServerCapabilities -> Bool # (/=) :: ServerCapabilities -> ServerCapabilities -> Bool # | |||||
| type Rep ServerCapabilities | |||||
Defined in Network.MCP.Types type Rep ServerCapabilities = D1 ('MetaData "ServerCapabilities" "Network.MCP.Types" "hs-mcp-0.1.1.0-JLoh9r68iDo86RtGS2ufDf" 'False) (C1 ('MetaCons "ServerCapabilities" 'PrefixI 'True) (S1 ('MetaSel ('Just "resourcesCapability") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 (Maybe ResourcesCapability)) :*: (S1 ('MetaSel ('Just "toolsCapability") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 (Maybe ToolsCapability)) :*: S1 ('MetaSel ('Just "promptsCapability") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 (Maybe PromptsCapability))))) | |||||
data ToolAnnotations #
Constructors
| ToolAnnotations | |
Fields
| |
Instances
| FromJSON ToolAnnotations | |||||
Defined in Network.MCP.Types Methods parseJSON :: Value -> Parser ToolAnnotations # parseJSONList :: Value -> Parser [ToolAnnotations] # | |||||
| ToJSON ToolAnnotations | |||||
Defined in Network.MCP.Types Methods toJSON :: ToolAnnotations -> Value # toEncoding :: ToolAnnotations -> Encoding # toJSONList :: [ToolAnnotations] -> Value # toEncodingList :: [ToolAnnotations] -> Encoding # omitField :: ToolAnnotations -> Bool # | |||||
| Generic ToolAnnotations | |||||
Defined in Network.MCP.Types Associated Types
Methods from :: ToolAnnotations -> Rep ToolAnnotations x # to :: Rep ToolAnnotations x -> ToolAnnotations # | |||||
| Show ToolAnnotations | |||||
Defined in Network.MCP.Types Methods showsPrec :: Int -> ToolAnnotations -> ShowS # show :: ToolAnnotations -> String # showList :: [ToolAnnotations] -> ShowS # | |||||
| Eq ToolAnnotations | |||||
Defined in Network.MCP.Types Methods (==) :: ToolAnnotations -> ToolAnnotations -> Bool # (/=) :: ToolAnnotations -> ToolAnnotations -> Bool # | |||||
| type Rep ToolAnnotations | |||||
Defined in Network.MCP.Types type Rep ToolAnnotations = D1 ('MetaData "ToolAnnotations" "Network.MCP.Types" "hs-mcp-0.1.1.0-JLoh9r68iDo86RtGS2ufDf" 'False) (C1 ('MetaCons "ToolAnnotations" 'PrefixI 'True) ((S1 ('MetaSel ('Just "title") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 (Maybe Text)) :*: S1 ('MetaSel ('Just "readOnlyHint") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 (Maybe Bool))) :*: (S1 ('MetaSel ('Just "destructiveHint") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 (Maybe Bool)) :*: (S1 ('MetaSel ('Just "idempotentHint") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 (Maybe Bool)) :*: S1 ('MetaSel ('Just "openWorldHint") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 (Maybe Bool)))))) | |||||
data Implementation #
Implementation information
Constructors
| Implementation | |
Fields
| |
Instances
| FromJSON Implementation | |||||
Defined in Network.MCP.Types Methods parseJSON :: Value -> Parser Implementation # parseJSONList :: Value -> Parser [Implementation] # | |||||
| ToJSON Implementation | |||||
Defined in Network.MCP.Types Methods toJSON :: Implementation -> Value # toEncoding :: Implementation -> Encoding # toJSONList :: [Implementation] -> Value # toEncodingList :: [Implementation] -> Encoding # omitField :: Implementation -> Bool # | |||||
| Generic Implementation | |||||
Defined in Network.MCP.Types Associated Types
Methods from :: Implementation -> Rep Implementation x # to :: Rep Implementation x -> Implementation # | |||||
| Show Implementation | |||||
Defined in Network.MCP.Types Methods showsPrec :: Int -> Implementation -> ShowS # show :: Implementation -> String # showList :: [Implementation] -> ShowS # | |||||
| Eq Implementation | |||||
Defined in Network.MCP.Types Methods (==) :: Implementation -> Implementation -> Bool # (/=) :: Implementation -> Implementation -> Bool # | |||||
| type Rep Implementation | |||||
Defined in Network.MCP.Types type Rep Implementation = D1 ('MetaData "Implementation" "Network.MCP.Types" "hs-mcp-0.1.1.0-JLoh9r68iDo86RtGS2ufDf" 'False) (C1 ('MetaCons "Implementation" 'PrefixI 'True) (S1 ('MetaSel ('Just "serverName") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 Text) :*: S1 ('MetaSel ('Just "serverVersion") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 Text))) | |||||
data ResourcesCapability #
Resources capability configuration
Constructors
| ResourcesCapability | |
Fields
| |
Instances
| FromJSON ResourcesCapability | |||||
Defined in Network.MCP.Types Methods parseJSON :: Value -> Parser ResourcesCapability # parseJSONList :: Value -> Parser [ResourcesCapability] # | |||||
| ToJSON ResourcesCapability | |||||
Defined in Network.MCP.Types Methods toJSON :: ResourcesCapability -> Value # toEncoding :: ResourcesCapability -> Encoding # toJSONList :: [ResourcesCapability] -> Value # toEncodingList :: [ResourcesCapability] -> Encoding # omitField :: ResourcesCapability -> Bool # | |||||
| Generic ResourcesCapability | |||||
Defined in Network.MCP.Types Associated Types
Methods from :: ResourcesCapability -> Rep ResourcesCapability x # to :: Rep ResourcesCapability x -> ResourcesCapability # | |||||
| Show ResourcesCapability | |||||
Defined in Network.MCP.Types Methods showsPrec :: Int -> ResourcesCapability -> ShowS # show :: ResourcesCapability -> String # showList :: [ResourcesCapability] -> ShowS # | |||||
| Eq ResourcesCapability | |||||
Defined in Network.MCP.Types Methods (==) :: ResourcesCapability -> ResourcesCapability -> Bool # (/=) :: ResourcesCapability -> ResourcesCapability -> Bool # | |||||
| type Rep ResourcesCapability | |||||
Defined in Network.MCP.Types type Rep ResourcesCapability = D1 ('MetaData "ResourcesCapability" "Network.MCP.Types" "hs-mcp-0.1.1.0-JLoh9r68iDo86RtGS2ufDf" 'False) (C1 ('MetaCons "ResourcesCapability" 'PrefixI 'True) (S1 ('MetaSel ('Just "resourcesListChanged") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 Bool))) | |||||
data ToolsCapability #
Tools capability configuration
Constructors
| ToolsCapability | |
Fields
| |
Instances
| FromJSON ToolsCapability | |||||
Defined in Network.MCP.Types Methods parseJSON :: Value -> Parser ToolsCapability # parseJSONList :: Value -> Parser [ToolsCapability] # | |||||
| ToJSON ToolsCapability | |||||
Defined in Network.MCP.Types Methods toJSON :: ToolsCapability -> Value # toEncoding :: ToolsCapability -> Encoding # toJSONList :: [ToolsCapability] -> Value # toEncodingList :: [ToolsCapability] -> Encoding # omitField :: ToolsCapability -> Bool # | |||||
| Generic ToolsCapability | |||||
Defined in Network.MCP.Types Associated Types
Methods from :: ToolsCapability -> Rep ToolsCapability x # to :: Rep ToolsCapability x -> ToolsCapability # | |||||
| Show ToolsCapability | |||||
Defined in Network.MCP.Types Methods showsPrec :: Int -> ToolsCapability -> ShowS # show :: ToolsCapability -> String # showList :: [ToolsCapability] -> ShowS # | |||||
| Eq ToolsCapability | |||||
Defined in Network.MCP.Types Methods (==) :: ToolsCapability -> ToolsCapability -> Bool # (/=) :: ToolsCapability -> ToolsCapability -> Bool # | |||||
| type Rep ToolsCapability | |||||
Defined in Network.MCP.Types type Rep ToolsCapability = D1 ('MetaData "ToolsCapability" "Network.MCP.Types" "hs-mcp-0.1.1.0-JLoh9r68iDo86RtGS2ufDf" 'False) (C1 ('MetaCons "ToolsCapability" 'PrefixI 'True) (S1 ('MetaSel ('Just "toolsListChanged") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 Bool))) | |||||
data PromptsCapability #
Prompts capability configuration
Constructors
| PromptsCapability | |
Fields
| |
Instances
| FromJSON PromptsCapability | |||||
Defined in Network.MCP.Types Methods parseJSON :: Value -> Parser PromptsCapability # parseJSONList :: Value -> Parser [PromptsCapability] # | |||||
| ToJSON PromptsCapability | |||||
Defined in Network.MCP.Types Methods toJSON :: PromptsCapability -> Value # toEncoding :: PromptsCapability -> Encoding # toJSONList :: [PromptsCapability] -> Value # toEncodingList :: [PromptsCapability] -> Encoding # omitField :: PromptsCapability -> Bool # | |||||
| Generic PromptsCapability | |||||
Defined in Network.MCP.Types Associated Types
Methods from :: PromptsCapability -> Rep PromptsCapability x # to :: Rep PromptsCapability x -> PromptsCapability # | |||||
| Show PromptsCapability | |||||
Defined in Network.MCP.Types Methods showsPrec :: Int -> PromptsCapability -> ShowS # show :: PromptsCapability -> String # showList :: [PromptsCapability] -> ShowS # | |||||
| Eq PromptsCapability | |||||
Defined in Network.MCP.Types Methods (==) :: PromptsCapability -> PromptsCapability -> Bool # (/=) :: PromptsCapability -> PromptsCapability -> Bool # | |||||
| type Rep PromptsCapability | |||||
Defined in Network.MCP.Types type Rep PromptsCapability = D1 ('MetaData "PromptsCapability" "Network.MCP.Types" "hs-mcp-0.1.1.0-JLoh9r68iDo86RtGS2ufDf" 'False) (C1 ('MetaCons "PromptsCapability" 'PrefixI 'True) (S1 ('MetaSel ('Just "promptsListChanged") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 Bool))) | |||||
data PromptContentType #
Prompt content type
Constructors
| TextPromptContent | |
| ResourcePromptContent |
Instances
| FromJSON PromptContentType | |||||
Defined in Network.MCP.Types Methods parseJSON :: Value -> Parser PromptContentType # parseJSONList :: Value -> Parser [PromptContentType] # | |||||
| ToJSON PromptContentType | |||||
Defined in Network.MCP.Types Methods toJSON :: PromptContentType -> Value # toEncoding :: PromptContentType -> Encoding # toJSONList :: [PromptContentType] -> Value # toEncodingList :: [PromptContentType] -> Encoding # omitField :: PromptContentType -> Bool # | |||||
| Generic PromptContentType | |||||
Defined in Network.MCP.Types Associated Types
Methods from :: PromptContentType -> Rep PromptContentType x # to :: Rep PromptContentType x -> PromptContentType # | |||||
| Show PromptContentType | |||||
Defined in Network.MCP.Types Methods showsPrec :: Int -> PromptContentType -> ShowS # show :: PromptContentType -> String # showList :: [PromptContentType] -> ShowS # | |||||
| Eq PromptContentType | |||||
Defined in Network.MCP.Types Methods (==) :: PromptContentType -> PromptContentType -> Bool # (/=) :: PromptContentType -> PromptContentType -> Bool # | |||||
| type Rep PromptContentType | |||||
Defined in Network.MCP.Types | |||||
errorToolResult :: Text -> CallToolResult Source #
textToolResult :: Text -> CallToolResult Source #
jsonToolResult :: ToJSON a => a -> CallToolResult Source #