mcp
Copyright(C) 2025 Matthias Pall Gissurarson
LicenseMIT
Maintainermpg@mpg.is
Stabilityexperimental
PortabilityGHC
Safe HaskellSafe-Inferred
LanguageGHC2021

MCP.Types

Description

This module defines the core types used in the Model Context Protocol (MCP) version 2025-06-18, including JSON-RPC message types, client/server capabilities, resources, tools, prompts, content blocks, sampling messages, elicitation forms, and various request/response types.

Key features of the 2025-06-18 implementation: - BaseMetadata interface with name/title distinction - ContentBlock type supporting text, image, audio, embedded resources, and resource links - Enhanced metadata with _meta fields and lastModified timestamps - Restricted SamplingContent type for LLM sampling (text, image, audio only) - Resource link support for referencing without embedding - Comprehensive schema validation support for tools and elicitation

Synopsis

Constants

mcpProtocolVersion :: Text Source #

The current MCP protocol version

Basic Types

newtype RequestId Source #

A uniquely identifying ID for a request in JSON-RPC

Constructors

RequestId Value 

Instances

Instances details
FromJSON RequestId Source # 
Instance details

Defined in MCP.Types

ToJSON RequestId Source # 
Instance details

Defined in MCP.Types

Show RequestId Source # 
Instance details

Defined in MCP.Types

Eq RequestId Source # 
Instance details

Defined in MCP.Types

data Role Source #

The sender or recipient of messages and data in a conversation

Constructors

User 
Assistant 

Instances

Instances details
FromJSON Role Source # 
Instance details

Defined in MCP.Types

ToJSON Role Source # 
Instance details

Defined in MCP.Types

Generic Role Source # 
Instance details

Defined in MCP.Types

Associated Types

type Rep Role :: Type -> Type #

Methods

from :: Role -> Rep Role x #

to :: Rep Role x -> Role #

Show Role Source # 
Instance details

Defined in MCP.Types

Methods

showsPrec :: Int -> Role -> ShowS #

show :: Role -> String #

showList :: [Role] -> ShowS #

Eq Role Source # 
Instance details

Defined in MCP.Types

Methods

(==) :: Role -> Role -> Bool #

(/=) :: Role -> Role -> Bool #

type Rep Role Source # 
Instance details

Defined in MCP.Types

type Rep Role = D1 ('MetaData "Role" "MCP.Types" "mcp-0.3.0.0-inplace" 'False) (C1 ('MetaCons "User" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "Assistant" 'PrefixI 'False) (U1 :: Type -> Type))

newtype Cursor Source #

An opaque token used to represent a cursor for pagination

Constructors

Cursor Text 

Instances

Instances details
FromJSON Cursor Source # 
Instance details

Defined in MCP.Types

ToJSON Cursor Source # 
Instance details

Defined in MCP.Types

Show Cursor Source # 
Instance details

Defined in MCP.Types

Eq Cursor Source # 
Instance details

Defined in MCP.Types

Methods

(==) :: Cursor -> Cursor -> Bool #

(/=) :: Cursor -> Cursor -> Bool #

newtype ProgressToken Source #

A progress token, used to associate progress notifications with the original request

Constructors

ProgressToken Value 

data LoggingLevel Source #

The severity of a log message

Instances

Instances details
FromJSON LoggingLevel Source # 
Instance details

Defined in MCP.Types

ToJSON LoggingLevel Source # 
Instance details

Defined in MCP.Types

Generic LoggingLevel Source # 
Instance details

Defined in MCP.Types

Associated Types

type Rep LoggingLevel :: Type -> Type #

Show LoggingLevel Source # 
Instance details

Defined in MCP.Types

Eq LoggingLevel Source # 
Instance details

Defined in MCP.Types

type Rep LoggingLevel Source # 
Instance details

Defined in MCP.Types

type Rep LoggingLevel = D1 ('MetaData "LoggingLevel" "MCP.Types" "mcp-0.3.0.0-inplace" 'False) (((C1 ('MetaCons "Alert" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "Critical" 'PrefixI 'False) (U1 :: Type -> Type)) :+: (C1 ('MetaCons "Debug" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "Emergency" 'PrefixI 'False) (U1 :: Type -> Type))) :+: ((C1 ('MetaCons "Error" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "Info" 'PrefixI 'False) (U1 :: Type -> Type)) :+: (C1 ('MetaCons "Notice" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "Warning" 'PrefixI 'False) (U1 :: Type -> Type))))

Content Types

data Annotations Source #

Optional annotations for the client

Instances

Instances details
FromJSON Annotations Source # 
Instance details

Defined in MCP.Types

ToJSON Annotations Source # 
Instance details

Defined in MCP.Types

Generic Annotations Source # 
Instance details

Defined in MCP.Types

Associated Types

type Rep Annotations :: Type -> Type #

Show Annotations Source # 
Instance details

Defined in MCP.Types

Eq Annotations Source # 
Instance details

Defined in MCP.Types

type Rep Annotations Source # 
Instance details

Defined in MCP.Types

type Rep Annotations = D1 ('MetaData "Annotations" "MCP.Types" "mcp-0.3.0.0-inplace" 'False) (C1 ('MetaCons "Annotations" 'PrefixI 'True) (S1 ('MetaSel ('Just "audience") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Maybe [Role])) :*: (S1 ('MetaSel ('Just "priority") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Maybe Double)) :*: S1 ('MetaSel ('Just "lastModified") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Maybe Text)))))

data TextContent Source #

Text provided to or from an LLM

Instances

Instances details
FromJSON TextContent Source # 
Instance details

Defined in MCP.Types

ToJSON TextContent Source # 
Instance details

Defined in MCP.Types

Generic TextContent Source # 
Instance details

Defined in MCP.Types

Associated Types

type Rep TextContent :: Type -> Type #

Show TextContent Source # 
Instance details

Defined in MCP.Types

Eq TextContent Source # 
Instance details

Defined in MCP.Types

type Rep TextContent Source # 
Instance details

Defined in MCP.Types

data ImageContent Source #

An image provided to or from an LLM

Instances

Instances details
FromJSON ImageContent Source # 
Instance details

Defined in MCP.Types

ToJSON ImageContent Source # 
Instance details

Defined in MCP.Types

Generic ImageContent Source # 
Instance details

Defined in MCP.Types

Associated Types

type Rep ImageContent :: Type -> Type #

Show ImageContent Source # 
Instance details

Defined in MCP.Types

Eq ImageContent Source # 
Instance details

Defined in MCP.Types

type Rep ImageContent Source # 
Instance details

Defined in MCP.Types

data AudioContent Source #

Audio provided to or from an LLM

Instances

Instances details
FromJSON AudioContent Source # 
Instance details

Defined in MCP.Types

ToJSON AudioContent Source # 
Instance details

Defined in MCP.Types

Generic AudioContent Source # 
Instance details

Defined in MCP.Types

Associated Types

type Rep AudioContent :: Type -> Type #

Show AudioContent Source # 
Instance details

Defined in MCP.Types

Eq AudioContent Source # 
Instance details

Defined in MCP.Types

type Rep AudioContent Source # 
Instance details

Defined in MCP.Types

data EmbeddedResource Source #

The contents of a resource, embedded into a prompt or tool call result

Instances

Instances details
FromJSON EmbeddedResource Source # 
Instance details

Defined in MCP.Types

ToJSON EmbeddedResource Source # 
Instance details

Defined in MCP.Types

Generic EmbeddedResource Source # 
Instance details

Defined in MCP.Types

Associated Types

type Rep EmbeddedResource :: Type -> Type #

Show EmbeddedResource Source # 
Instance details

Defined in MCP.Types

Eq EmbeddedResource Source # 
Instance details

Defined in MCP.Types

type Rep EmbeddedResource Source # 
Instance details

Defined in MCP.Types

data ResourceLink Source #

A resource that the server is capable of reading, included in a prompt or tool call result

Instances

data ContentBlock Source #

Content blocks that can be text, image, audio, embedded resource, or resource link

Instances

Instances details
FromJSON ContentBlock Source # 
Instance details

Defined in MCP.Types

ToJSON ContentBlock Source # 
Instance details

Defined in MCP.Types

Generic ContentBlock Source # 
Instance details

Defined in MCP.Types

Associated Types

type Rep ContentBlock :: Type -> Type #

Show ContentBlock Source # 
Instance details

Defined in MCP.Types

Eq ContentBlock Source # 
Instance details

Defined in MCP.Types

type Rep ContentBlock Source # 
Instance details

Defined in MCP.Types

type Content = ContentBlock Source #

Legacy alias for ContentBlock (for backward compatibility)

Resource Types

data ResourceContents Source #

Resource contents (text or blob)

Instances

Instances details
FromJSON ResourceContents Source # 
Instance details

Defined in MCP.Types

ToJSON ResourceContents Source # 
Instance details

Defined in MCP.Types

Generic ResourceContents Source # 
Instance details

Defined in MCP.Types

Associated Types

type Rep ResourceContents :: Type -> Type #

Show ResourceContents Source # 
Instance details

Defined in MCP.Types

Eq ResourceContents Source # 
Instance details

Defined in MCP.Types

type Rep ResourceContents Source # 
Instance details

Defined in MCP.Types

data TextResourceContents Source #

Text resource contents

Instances

Instances details
FromJSON TextResourceContents Source # 
Instance details

Defined in MCP.Types

ToJSON TextResourceContents Source # 
Instance details

Defined in MCP.Types

Generic TextResourceContents Source # 
Instance details

Defined in MCP.Types

Associated Types

type Rep TextResourceContents :: Type -> Type #

Show TextResourceContents Source # 
Instance details

Defined in MCP.Types

Eq TextResourceContents Source # 
Instance details

Defined in MCP.Types

type Rep TextResourceContents Source # 
Instance details

Defined in MCP.Types

data BlobResourceContents Source #

Blob resource contents

Instances

Instances details
FromJSON BlobResourceContents Source # 
Instance details

Defined in MCP.Types

ToJSON BlobResourceContents Source # 
Instance details

Defined in MCP.Types

Generic BlobResourceContents Source # 
Instance details

Defined in MCP.Types

Associated Types

type Rep BlobResourceContents :: Type -> Type #

Show BlobResourceContents Source # 
Instance details

Defined in MCP.Types

Eq BlobResourceContents Source # 
Instance details

Defined in MCP.Types

type Rep BlobResourceContents Source # 
Instance details

Defined in MCP.Types

data Resource Source #

A known resource that the server is capable of reading

Instances

Instances details
FromJSON Resource Source # 
Instance details

Defined in MCP.Types

ToJSON Resource Source # 
Instance details

Defined in MCP.Types

Generic Resource Source # 
Instance details

Defined in MCP.Types

Associated Types

type Rep Resource :: Type -> Type #

Methods

from :: Resource -> Rep Resource x #

to :: Rep Resource x -> Resource #

Show Resource Source # 
Instance details

Defined in MCP.Types

Eq Resource Source # 
Instance details

Defined in MCP.Types

type Rep Resource Source # 
Instance details

Defined in MCP.Types

data ResourceTemplate Source #

A template description for resources available on the server

Instances

Instances details
FromJSON ResourceTemplate Source # 
Instance details

Defined in MCP.Types

ToJSON ResourceTemplate Source # 
Instance details

Defined in MCP.Types

Generic ResourceTemplate Source # 
Instance details

Defined in MCP.Types

Associated Types

type Rep ResourceTemplate :: Type -> Type #

Show ResourceTemplate Source # 
Instance details

Defined in MCP.Types

Eq ResourceTemplate Source # 
Instance details

Defined in MCP.Types

type Rep ResourceTemplate Source # 
Instance details

Defined in MCP.Types

data ResourceReference Source #

A reference to a resource or resource template definition

Constructors

ResourceReference 

Fields

Instances

Instances details
FromJSON ResourceReference Source # 
Instance details

Defined in MCP.Types

ToJSON ResourceReference Source # 
Instance details

Defined in MCP.Types

Generic ResourceReference Source # 
Instance details

Defined in MCP.Types

Associated Types

type Rep ResourceReference :: Type -> Type #

Show ResourceReference Source # 
Instance details

Defined in MCP.Types

Eq ResourceReference Source # 
Instance details

Defined in MCP.Types

type Rep ResourceReference Source # 
Instance details

Defined in MCP.Types

type Rep ResourceReference = D1 ('MetaData "ResourceReference" "MCP.Types" "mcp-0.3.0.0-inplace" 'False) (C1 ('MetaCons "ResourceReference" 'PrefixI 'True) (S1 ('MetaSel ('Just "refType") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Text) :*: S1 ('MetaSel ('Just "uri") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Text)))

data ResourceTemplateReference Source #

A reference to a resource template definition

Constructors

ResourceTemplateReference 

Fields

Instances

Instances details
FromJSON ResourceTemplateReference Source # 
Instance details

Defined in MCP.Types

ToJSON ResourceTemplateReference Source # 
Instance details

Defined in MCP.Types

Generic ResourceTemplateReference Source # 
Instance details

Defined in MCP.Types

Associated Types

type Rep ResourceTemplateReference :: Type -> Type #

Show ResourceTemplateReference Source # 
Instance details

Defined in MCP.Types

Eq ResourceTemplateReference Source # 
Instance details

Defined in MCP.Types

type Rep ResourceTemplateReference Source # 
Instance details

Defined in MCP.Types

type Rep ResourceTemplateReference = D1 ('MetaData "ResourceTemplateReference" "MCP.Types" "mcp-0.3.0.0-inplace" 'False) (C1 ('MetaCons "ResourceTemplateReference" 'PrefixI 'True) (S1 ('MetaSel ('Just "refType") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Text) :*: S1 ('MetaSel ('Just "uri") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Text)))

Tool Types

data ToolAnnotations Source #

Additional properties describing a Tool to clients

Instances

Instances details
FromJSON ToolAnnotations Source # 
Instance details

Defined in MCP.Types

ToJSON ToolAnnotations Source # 
Instance details

Defined in MCP.Types

Generic ToolAnnotations Source # 
Instance details

Defined in MCP.Types

Associated Types

type Rep ToolAnnotations :: Type -> Type #

Show ToolAnnotations Source # 
Instance details

Defined in MCP.Types

Eq ToolAnnotations Source # 
Instance details

Defined in MCP.Types

type Rep ToolAnnotations Source # 
Instance details

Defined in MCP.Types

data Tool Source #

Definition for a tool the client can call

Instances

Instances details
FromJSON Tool Source # 
Instance details

Defined in MCP.Types

ToJSON Tool Source # 
Instance details

Defined in MCP.Types

Generic Tool Source # 
Instance details

Defined in MCP.Types

Associated Types

type Rep Tool :: Type -> Type #

Methods

from :: Tool -> Rep Tool x #

to :: Rep Tool x -> Tool #

Show Tool Source # 
Instance details

Defined in MCP.Types

Methods

showsPrec :: Int -> Tool -> ShowS #

show :: Tool -> String #

showList :: [Tool] -> ShowS #

Eq Tool Source # 
Instance details

Defined in MCP.Types

Methods

(==) :: Tool -> Tool -> Bool #

(/=) :: Tool -> Tool -> Bool #

type Rep Tool Source # 
Instance details

Defined in MCP.Types

data InputSchema Source #

Input schema for a tool

Constructors

InputSchema 

Instances

Instances details
FromJSON InputSchema Source # 
Instance details

Defined in MCP.Types

ToJSON InputSchema Source # 
Instance details

Defined in MCP.Types

Generic InputSchema Source # 
Instance details

Defined in MCP.Types

Associated Types

type Rep InputSchema :: Type -> Type #

Show InputSchema Source # 
Instance details

Defined in MCP.Types

Eq InputSchema Source # 
Instance details

Defined in MCP.Types

type Rep InputSchema Source # 
Instance details

Defined in MCP.Types

type Rep InputSchema = D1 ('MetaData "InputSchema" "MCP.Types" "mcp-0.3.0.0-inplace" 'False) (C1 ('MetaCons "InputSchema" 'PrefixI 'True) (S1 ('MetaSel ('Just "schemaType") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Text) :*: (S1 ('MetaSel ('Just "properties") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Maybe (Map Text Value))) :*: S1 ('MetaSel ('Just "required") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Maybe [Text])))))

Prompt Types

data PromptArgument Source #

Describes an argument that a prompt can accept

Instances

Instances details
FromJSON PromptArgument Source # 
Instance details

Defined in MCP.Types

ToJSON PromptArgument Source # 
Instance details

Defined in MCP.Types

Generic PromptArgument Source # 
Instance details

Defined in MCP.Types

Associated Types

type Rep PromptArgument :: Type -> Type #

Show PromptArgument Source # 
Instance details

Defined in MCP.Types

Eq PromptArgument Source # 
Instance details

Defined in MCP.Types

type Rep PromptArgument Source # 
Instance details

Defined in MCP.Types

data Prompt Source #

A prompt or prompt template that the server offers

Instances

Instances details
FromJSON Prompt Source # 
Instance details

Defined in MCP.Types

ToJSON Prompt Source # 
Instance details

Defined in MCP.Types

Generic Prompt Source # 
Instance details

Defined in MCP.Types

Associated Types

type Rep Prompt :: Type -> Type #

Methods

from :: Prompt -> Rep Prompt x #

to :: Rep Prompt x -> Prompt #

Show Prompt Source # 
Instance details

Defined in MCP.Types

Eq Prompt Source # 
Instance details

Defined in MCP.Types

Methods

(==) :: Prompt -> Prompt -> Bool #

(/=) :: Prompt -> Prompt -> Bool #

type Rep Prompt Source # 
Instance details

Defined in MCP.Types

data PromptMessage Source #

Describes a message returned as part of a prompt

Constructors

PromptMessage 

Fields

Instances

Instances details
FromJSON PromptMessage Source # 
Instance details

Defined in MCP.Types

ToJSON PromptMessage Source # 
Instance details

Defined in MCP.Types

Generic PromptMessage Source # 
Instance details

Defined in MCP.Types

Associated Types

type Rep PromptMessage :: Type -> Type #

Show PromptMessage Source # 
Instance details

Defined in MCP.Types

Eq PromptMessage Source # 
Instance details

Defined in MCP.Types

type Rep PromptMessage Source # 
Instance details

Defined in MCP.Types

type Rep PromptMessage = D1 ('MetaData "PromptMessage" "MCP.Types" "mcp-0.3.0.0-inplace" 'False) (C1 ('MetaCons "PromptMessage" 'PrefixI 'True) (S1 ('MetaSel ('Just "role") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Role) :*: S1 ('MetaSel ('Just "content") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 ContentBlock)))

data PromptReference Source #

Identifies a prompt

Constructors

PromptReference 

Fields

Instances

Instances details
FromJSON PromptReference Source # 
Instance details

Defined in MCP.Types

ToJSON PromptReference Source # 
Instance details

Defined in MCP.Types

Generic PromptReference Source # 
Instance details

Defined in MCP.Types

Associated Types

type Rep PromptReference :: Type -> Type #

Show PromptReference Source # 
Instance details

Defined in MCP.Types

Eq PromptReference Source # 
Instance details

Defined in MCP.Types

type Rep PromptReference Source # 
Instance details

Defined in MCP.Types

type Rep PromptReference = D1 ('MetaData "PromptReference" "MCP.Types" "mcp-0.3.0.0-inplace" 'False) (C1 ('MetaCons "PromptReference" 'PrefixI 'True) (S1 ('MetaSel ('Just "refType") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Text) :*: (S1 ('MetaSel ('Just "name") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Text) :*: S1 ('MetaSel ('Just "title") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Maybe Text)))))

Model Types

data ModelHint where Source #

Hints to use for model selection

Constructors

ModelHint 

Fields

Instances

Instances details
FromJSON ModelHint Source # 
Instance details

Defined in MCP.Types

ToJSON ModelHint Source # 
Instance details

Defined in MCP.Types

Generic ModelHint Source # 
Instance details

Defined in MCP.Types

Associated Types

type Rep ModelHint :: Type -> Type #

Show ModelHint Source # 
Instance details

Defined in MCP.Types

Eq ModelHint Source # 
Instance details

Defined in MCP.Types

type Rep ModelHint Source # 
Instance details

Defined in MCP.Types

type Rep ModelHint = D1 ('MetaData "ModelHint" "MCP.Types" "mcp-0.3.0.0-inplace" 'False) (C1 ('MetaCons "ModelHint" 'PrefixI 'True) (S1 ('MetaSel ('Just "name") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Maybe Text))))

data ModelPreferences Source #

The server's preferences for model selection

Instances

Instances details
FromJSON ModelPreferences Source # 
Instance details

Defined in MCP.Types

ToJSON ModelPreferences Source # 
Instance details

Defined in MCP.Types

Generic ModelPreferences Source # 
Instance details

Defined in MCP.Types

Associated Types

type Rep ModelPreferences :: Type -> Type #

Show ModelPreferences Source # 
Instance details

Defined in MCP.Types

Eq ModelPreferences Source # 
Instance details

Defined in MCP.Types

type Rep ModelPreferences Source # 
Instance details

Defined in MCP.Types

type Rep ModelPreferences = D1 ('MetaData "ModelPreferences" "MCP.Types" "mcp-0.3.0.0-inplace" 'False) (C1 ('MetaCons "ModelPreferences" 'PrefixI 'True) ((S1 ('MetaSel ('Just "hints") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Maybe [ModelHint])) :*: S1 ('MetaSel ('Just "costPriority") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Maybe Double))) :*: (S1 ('MetaSel ('Just "speedPriority") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Maybe Double)) :*: S1 ('MetaSel ('Just "intelligencePriority") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Maybe Double)))))

data IncludeContext Source #

Include context options for sampling

Constructors

AllServers 
None 
ThisServer 

Instances

Instances details
FromJSON IncludeContext Source # 
Instance details

Defined in MCP.Types

ToJSON IncludeContext Source # 
Instance details

Defined in MCP.Types

Generic IncludeContext Source # 
Instance details

Defined in MCP.Types

Associated Types

type Rep IncludeContext :: Type -> Type #

Show IncludeContext Source # 
Instance details

Defined in MCP.Types

Eq IncludeContext Source # 
Instance details

Defined in MCP.Types

type Rep IncludeContext Source # 
Instance details

Defined in MCP.Types

type Rep IncludeContext = D1 ('MetaData "IncludeContext" "MCP.Types" "mcp-0.3.0.0-inplace" 'False) (C1 ('MetaCons "AllServers" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "None" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "ThisServer" 'PrefixI 'False) (U1 :: Type -> Type)))

data SamplingContent Source #

Restricted content type for sampling messages (text, image, audio only)

Instances

Instances details
FromJSON SamplingContent Source # 
Instance details

Defined in MCP.Types

ToJSON SamplingContent Source # 
Instance details

Defined in MCP.Types

Generic SamplingContent Source # 
Instance details

Defined in MCP.Types

Associated Types

type Rep SamplingContent :: Type -> Type #

Show SamplingContent Source # 
Instance details

Defined in MCP.Types

Eq SamplingContent Source # 
Instance details

Defined in MCP.Types

type Rep SamplingContent Source # 
Instance details

Defined in MCP.Types

data SamplingMessage Source #

Describes a message issued to or received from an LLM API

Constructors

SamplingMessage 

Instances

Instances details
FromJSON SamplingMessage Source # 
Instance details

Defined in MCP.Types

ToJSON SamplingMessage Source # 
Instance details

Defined in MCP.Types

Generic SamplingMessage Source # 
Instance details

Defined in MCP.Types

Associated Types

type Rep SamplingMessage :: Type -> Type #

Show SamplingMessage Source # 
Instance details

Defined in MCP.Types

Eq SamplingMessage Source # 
Instance details

Defined in MCP.Types

type Rep SamplingMessage Source # 
Instance details

Defined in MCP.Types

type Rep SamplingMessage = D1 ('MetaData "SamplingMessage" "MCP.Types" "mcp-0.3.0.0-inplace" 'False) (C1 ('MetaCons "SamplingMessage" 'PrefixI 'True) (S1 ('MetaSel ('Just "role") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Role) :*: S1 ('MetaSel ('Just "content") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 SamplingContent)))

Capability Types

data ClientCapabilities Source #

Capabilities a client may support

Instances

Instances details
FromJSON ClientCapabilities Source # 
Instance details

Defined in MCP.Types

ToJSON ClientCapabilities Source # 
Instance details

Defined in MCP.Types

Generic ClientCapabilities Source # 
Instance details

Defined in MCP.Types

Associated Types

type Rep ClientCapabilities :: Type -> Type #

Show ClientCapabilities Source # 
Instance details

Defined in MCP.Types

Eq ClientCapabilities Source # 
Instance details

Defined in MCP.Types

type Rep ClientCapabilities Source # 
Instance details

Defined in MCP.Types

data ServerCapabilities Source #

Capabilities that a server may support

Instances

Instances details
FromJSON ServerCapabilities Source # 
Instance details

Defined in MCP.Types

ToJSON ServerCapabilities Source # 
Instance details

Defined in MCP.Types

Generic ServerCapabilities Source # 
Instance details

Defined in MCP.Types

Associated Types

type Rep ServerCapabilities :: Type -> Type #

Show ServerCapabilities Source # 
Instance details

Defined in MCP.Types

Eq ServerCapabilities Source # 
Instance details

Defined in MCP.Types

type Rep ServerCapabilities Source # 
Instance details

Defined in MCP.Types

data RootsCapability where Source #

Roots capability

Constructors

RootsCapability 

Fields

Instances

Instances details
FromJSON RootsCapability Source # 
Instance details

Defined in MCP.Types

ToJSON RootsCapability Source # 
Instance details

Defined in MCP.Types

Generic RootsCapability Source # 
Instance details

Defined in MCP.Types

Associated Types

type Rep RootsCapability :: Type -> Type #

Show RootsCapability Source # 
Instance details

Defined in MCP.Types

Eq RootsCapability Source # 
Instance details

Defined in MCP.Types

type Rep RootsCapability Source # 
Instance details

Defined in MCP.Types

type Rep RootsCapability = D1 ('MetaData "RootsCapability" "MCP.Types" "mcp-0.3.0.0-inplace" 'False) (C1 ('MetaCons "RootsCapability" 'PrefixI 'True) (S1 ('MetaSel ('Just "listChanged") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Maybe Bool))))

data PromptsCapability where Source #

Prompts capability

Constructors

PromptsCapability 

Fields

Instances

Instances details
FromJSON PromptsCapability Source # 
Instance details

Defined in MCP.Types

ToJSON PromptsCapability Source # 
Instance details

Defined in MCP.Types

Generic PromptsCapability Source # 
Instance details

Defined in MCP.Types

Associated Types

type Rep PromptsCapability :: Type -> Type #

Show PromptsCapability Source # 
Instance details

Defined in MCP.Types

Eq PromptsCapability Source # 
Instance details

Defined in MCP.Types

type Rep PromptsCapability Source # 
Instance details

Defined in MCP.Types

type Rep PromptsCapability = D1 ('MetaData "PromptsCapability" "MCP.Types" "mcp-0.3.0.0-inplace" 'False) (C1 ('MetaCons "PromptsCapability" 'PrefixI 'True) (S1 ('MetaSel ('Just "listChanged") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Maybe Bool))))

data ResourcesCapability Source #

Resources capability

Instances

Instances details
FromJSON ResourcesCapability Source # 
Instance details

Defined in MCP.Types

ToJSON ResourcesCapability Source # 
Instance details

Defined in MCP.Types

Generic ResourcesCapability Source # 
Instance details

Defined in MCP.Types

Associated Types

type Rep ResourcesCapability :: Type -> Type #

Show ResourcesCapability Source # 
Instance details

Defined in MCP.Types

Eq ResourcesCapability Source # 
Instance details

Defined in MCP.Types

type Rep ResourcesCapability Source # 
Instance details

Defined in MCP.Types

type Rep ResourcesCapability = D1 ('MetaData "ResourcesCapability" "MCP.Types" "mcp-0.3.0.0-inplace" 'False) (C1 ('MetaCons "ResourcesCapability" 'PrefixI 'True) (S1 ('MetaSel ('Just "listChanged") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Maybe Bool)) :*: S1 ('MetaSel ('Just "subscribe") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Maybe Bool))))

data ToolsCapability where Source #

Tools capability

Constructors

ToolsCapability 

Fields

Instances

Instances details
FromJSON ToolsCapability Source # 
Instance details

Defined in MCP.Types

ToJSON ToolsCapability Source # 
Instance details

Defined in MCP.Types

Generic ToolsCapability Source # 
Instance details

Defined in MCP.Types

Associated Types

type Rep ToolsCapability :: Type -> Type #

Show ToolsCapability Source # 
Instance details

Defined in MCP.Types

Eq ToolsCapability Source # 
Instance details

Defined in MCP.Types

type Rep ToolsCapability Source # 
Instance details

Defined in MCP.Types

type Rep ToolsCapability = D1 ('MetaData "ToolsCapability" "MCP.Types" "mcp-0.3.0.0-inplace" 'False) (C1 ('MetaCons "ToolsCapability" 'PrefixI 'True) (S1 ('MetaSel ('Just "listChanged") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Maybe Bool))))

data CompletionsCapability Source #

Completions capability

Constructors

CompletionsCapability 

Instances

Instances details
FromJSON CompletionsCapability Source # 
Instance details

Defined in MCP.Types

ToJSON CompletionsCapability Source # 
Instance details

Defined in MCP.Types

Generic CompletionsCapability Source # 
Instance details

Defined in MCP.Types

Associated Types

type Rep CompletionsCapability :: Type -> Type #

Show CompletionsCapability Source # 
Instance details

Defined in MCP.Types

Eq CompletionsCapability Source # 
Instance details

Defined in MCP.Types

type Rep CompletionsCapability Source # 
Instance details

Defined in MCP.Types

type Rep CompletionsCapability = D1 ('MetaData "CompletionsCapability" "MCP.Types" "mcp-0.3.0.0-inplace" 'False) (C1 ('MetaCons "CompletionsCapability" 'PrefixI 'False) (U1 :: Type -> Type))

data LoggingCapability Source #

Logging capability

Constructors

LoggingCapability 

data SamplingCapability Source #

Sampling capability

Constructors

SamplingCapability 

data ElicitationCapability Source #

Elicitation capability

Constructors

ElicitationCapability 

Instances

Instances details
FromJSON ElicitationCapability Source # 
Instance details

Defined in MCP.Types

ToJSON ElicitationCapability Source # 
Instance details

Defined in MCP.Types

Generic ElicitationCapability Source # 
Instance details

Defined in MCP.Types

Associated Types

type Rep ElicitationCapability :: Type -> Type #

Show ElicitationCapability Source # 
Instance details

Defined in MCP.Types

Eq ElicitationCapability Source # 
Instance details

Defined in MCP.Types

type Rep ElicitationCapability Source # 
Instance details

Defined in MCP.Types

type Rep ElicitationCapability = D1 ('MetaData "ElicitationCapability" "MCP.Types" "mcp-0.3.0.0-inplace" 'False) (C1 ('MetaCons "ElicitationCapability" 'PrefixI 'False) (U1 :: Type -> Type))

newtype ExperimentalCapability Source #

Experimental capability

Instances

Instances details
FromJSON ExperimentalCapability Source # 
Instance details

Defined in MCP.Types

ToJSON ExperimentalCapability Source # 
Instance details

Defined in MCP.Types

Generic ExperimentalCapability Source # 
Instance details

Defined in MCP.Types

Associated Types

type Rep ExperimentalCapability :: Type -> Type #

Show ExperimentalCapability Source # 
Instance details

Defined in MCP.Types

Eq ExperimentalCapability Source # 
Instance details

Defined in MCP.Types

type Rep ExperimentalCapability Source # 
Instance details

Defined in MCP.Types

type Rep ExperimentalCapability = D1 ('MetaData "ExperimentalCapability" "MCP.Types" "mcp-0.3.0.0-inplace" 'True) (C1 ('MetaCons "ExperimentalCapability" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Map Text Value))))

Base Types

data BaseMetadata Source #

Base interface for metadata with name and optional title

Constructors

BaseMetadata 

Fields

Instances

Instances details
FromJSON BaseMetadata Source # 
Instance details

Defined in MCP.Types

ToJSON BaseMetadata Source # 
Instance details

Defined in MCP.Types

Generic BaseMetadata Source # 
Instance details

Defined in MCP.Types

Associated Types

type Rep BaseMetadata :: Type -> Type #

Show BaseMetadata Source # 
Instance details

Defined in MCP.Types

Eq BaseMetadata Source # 
Instance details

Defined in MCP.Types

type Rep BaseMetadata Source # 
Instance details

Defined in MCP.Types

type Rep BaseMetadata = D1 ('MetaData "BaseMetadata" "MCP.Types" "mcp-0.3.0.0-inplace" 'False) (C1 ('MetaCons "BaseMetadata" 'PrefixI 'True) (S1 ('MetaSel ('Just "name") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Text) :*: S1 ('MetaSel ('Just "title") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Maybe Text))))

Implementation Info

data Implementation Source #

Describes the name and version of an MCP implementation

Constructors

Implementation 

Fields

Instances

Instances details
FromJSON Implementation Source # 
Instance details

Defined in MCP.Types

ToJSON Implementation Source # 
Instance details

Defined in MCP.Types

Generic Implementation Source # 
Instance details

Defined in MCP.Types

Associated Types

type Rep Implementation :: Type -> Type #

Show Implementation Source # 
Instance details

Defined in MCP.Types

Eq Implementation Source # 
Instance details

Defined in MCP.Types

type Rep Implementation Source # 
Instance details

Defined in MCP.Types

type Rep Implementation = D1 ('MetaData "Implementation" "MCP.Types" "mcp-0.3.0.0-inplace" 'False) (C1 ('MetaCons "Implementation" 'PrefixI 'True) (S1 ('MetaSel ('Just "name") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Text) :*: (S1 ('MetaSel ('Just "title") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Maybe Text)) :*: S1 ('MetaSel ('Just "version") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Text))))

Roots

data Root Source #

Represents a root directory or file that the server can operate on

Constructors

Root 

Fields

Instances

Instances details
FromJSON Root Source # 
Instance details

Defined in MCP.Types

ToJSON Root Source # 
Instance details

Defined in MCP.Types

Generic Root Source # 
Instance details

Defined in MCP.Types

Associated Types

type Rep Root :: Type -> Type #

Methods

from :: Root -> Rep Root x #

to :: Rep Root x -> Root #

Show Root Source # 
Instance details

Defined in MCP.Types

Methods

showsPrec :: Int -> Root -> ShowS #

show :: Root -> String #

showList :: [Root] -> ShowS #

Eq Root Source # 
Instance details

Defined in MCP.Types

Methods

(==) :: Root -> Root -> Bool #

(/=) :: Root -> Root -> Bool #

type Rep Root Source # 
Instance details

Defined in MCP.Types

Result Types

data Result where Source #

Base result type

Constructors

Result 

Fields

Instances

Instances details
FromJSON Result Source # 
Instance details

Defined in MCP.Types

ToJSON Result Source # 
Instance details

Defined in MCP.Types

Generic Result Source # 
Instance details

Defined in MCP.Types

Associated Types

type Rep Result :: Type -> Type #

Methods

from :: Result -> Rep Result x #

to :: Rep Result x -> Result #

Show Result Source # 
Instance details

Defined in MCP.Types

Eq Result Source # 
Instance details

Defined in MCP.Types

Methods

(==) :: Result -> Result -> Bool #

(/=) :: Result -> Result -> Bool #

type Rep Result Source # 
Instance details

Defined in MCP.Types

type Rep Result = D1 ('MetaData "Result" "MCP.Types" "mcp-0.3.0.0-inplace" 'False) (C1 ('MetaCons "Result" 'PrefixI 'True) (S1 ('MetaSel ('Just "_meta") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Maybe Metadata))))

newtype Metadata Source #

Metadata for results and other types

Constructors

Metadata (Map Text Value) 

Instances

Instances details
FromJSON Metadata Source # 
Instance details

Defined in MCP.Types

ToJSON Metadata Source # 
Instance details

Defined in MCP.Types

Generic Metadata Source # 
Instance details

Defined in MCP.Types

Associated Types

type Rep Metadata :: Type -> Type #

Methods

from :: Metadata -> Rep Metadata x #

to :: Rep Metadata x -> Metadata #

Show Metadata Source # 
Instance details

Defined in MCP.Types

Eq Metadata Source # 
Instance details

Defined in MCP.Types

type Rep Metadata Source # 
Instance details

Defined in MCP.Types

type Rep Metadata = D1 ('MetaData "Metadata" "MCP.Types" "mcp-0.3.0.0-inplace" 'True) (C1 ('MetaCons "Metadata" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Map Text Value))))