colmugx/mcp/protocol/types does not have a README file
pub(all) suberror MCPError {
ParseError(String)
InvalidRequest(String)
MethodNotFound(String)
InvalidParams(String)
InternalError(String)
TransportError(TransportError)
ToolError(String)
Cancelled(String)
RemoteError(String, code~ : JsonInteger, data~ : Json?, extensions~ : Map[String, Json])
HeaderMismatch(String)
MissingRequiredClientCapability(String, required~ : ClientCapabilities)
UnsupportedProtocolVersion(String, supported~ : Array[String], requested~ : String)
} derive(Eq, Debug)impl Show for TransportErrorimpl ToJson for Annotationspub(all) struct ClientCapabilities {
experimental : Map[String, Json]?
roots : RootCapabilities?
sampling : SamplingCapabilities?
elicitation : ElicitationCapabilities?
extra_fields : Map[String, Json]
extensions : Map[String, Json]?
} derive(Eq, Debug)impl ToJson for ClientCapabilitiesfn ClientCapabilities::new(experimental? : Map[String, Json], roots? : RootCapabilities, sampling? : SamplingCapabilities, elicitation? : ElicitationCapabilities, extensions? : Map[String, Json]) -> ClientCapabilitiespub(all) struct CompleteRequestParams {
reference : CompletionReference
argument : CompletionArgument
context : CompletionContext?
meta : Map[String, Json]?
extensions : Map[String, Json]
} derive(Eq, Debug)impl ToJson for CompleteRequestParamsfn CompleteRequestParams::new(reference : CompletionReference, argument : CompletionArgument, context? : CompletionContext, meta? : Map[String, Json]) -> CompleteRequestParamsimpl ToJson for CompletionReferencepub(all) struct CompletionResult {
values : Array[String]
total : JsonInteger?
has_more : Bool?
completion_extensions : Map[String, Json]
metadata : ResultMetadata
} derive(Eq, Debug)impl ToJson for CompletionResultfn CompletionResult::new(values : Array[String], total? : Int, has_more? : Bool, metadata? : ResultMetadata) -> CompletionResultpub(all) enum ContentBlock {
Text(String, metadata~ : ContentMetadata)
Image(String, mime_type~ : String, metadata~ : ContentMetadata)
Audio(String, mime_type~ : String, metadata~ : ContentMetadata)
ResourceLink(ResourceLinkData, metadata~ : ContentMetadata)
EmbeddedResource(ResourceContents, metadata~ : ContentMetadata)
Unknown(Json)
} derive(Eq, Debug)impl ToJson for ContentBlockfn ContentBlock::audio(data : String, mime_type~ : String, metadata? : ContentMetadata) -> ContentBlockfn ContentBlock::image(data : String, mime_type~ : String, metadata? : ContentMetadata) -> ContentBlockfn ContentBlock::resource_link(uri : String, name~ : String, title? : String, description? : String, mime_type? : String, size? : Int, icons? : Array[Icon], metadata? : ContentMetadata) -> ContentBlockpub(all) struct CreateMessageRequest {
messages : Array[SamplingMessage]
max_tokens : JsonInteger
model_preferences : ModelPreferences?
system_prompt : String?
include_context : SamplingContext?
temperature : JsonNumber?
stop_sequences : Array[String]?
metadata : Map[String, Json]?
tools : Array[ToolDefinition]?
tool_choice : ToolChoice?
extensions : Map[String, Json]
} derive(Eq, Debug)impl ToJson for CreateMessageRequestfn CreateMessageRequest::new(messages : Array[SamplingMessage], max_tokens : Int, model_preferences? : ModelPreferences, system_prompt? : String, include_context? : SamplingContext, temperature? : Double, stop_sequences? : Array[String], metadata? : Map[String, Json], tools? : Array[ToolDefinition], tool_choice? : ToolChoice) -> CreateMessageRequest raiseimpl ToJson for CreateMessageResultfn CreateMessageResult::new(role : Role, model : String, content : SamplingContent, stop_reason? : String, meta? : Map[String, Json]) -> CreateMessageResultfn CreateMessageResult::text(model : String, content : String, stop_reason? : String) -> CreateMessageResultpub(all) struct DiscoverResult {
supported_versions : Array[String]
capabilities : ServerCapabilities
instructions : String?
metadata : ResultMetadata
} derive(Eq, Debug)impl ToJson for DiscoverResultfn DiscoverResult::new(supported_versions : Array[String], capabilities : ServerCapabilities, instructions? : String, metadata? : ResultMetadata) -> DiscoverResultimpl ToJson for ElicitationActionimpl ToJson for ElicitationCapabilitiesfn ElicitationCapabilities::new(form? : Map[String, Json], url? : Map[String, Json]) -> ElicitationCapabilitiesfn ElicitationCapabilities::not_equal(x : ElicitationCapabilities, y : ElicitationCapabilities) -> Boolimpl ToJson for ElicitationRequestfn ElicitationRequest::form(message : String, requested_schema : Json, explicit_mode? : Bool, meta? : Map[String, Json]) -> ElicitationRequestfn ElicitationRequest::url(message : String, url : String, elicitation_id? : String, meta? : Map[String, Json]) -> ElicitationRequestpub(all) struct ElicitationResult {
action : ElicitationAction
content : Map[String, ElicitationValue]?
extensions : Map[String, Json]
} derive(Eq, Debug)impl ToJson for ElicitationResultfn ElicitationResult::new(action : ElicitationAction, content? : Map[String, ElicitationValue]) -> ElicitationResultpub(all) enum ElicitationValue {
String(String)
Number(Double)
ExactNumber(JsonNumber)
Boolean(Bool)
Strings(Array[String])
} derive(Debug)impl Eq for ElicitationValueimpl ToJson for ElicitationValuepub(all) struct GetPromptResult {
description : String?
messages : Array[PromptMessage]
metadata : ResultMetadata
} derive(Eq, Debug)impl ToJson for GetPromptResultfn GetPromptResult::new(messages : Array[PromptMessage], description? : String, metadata? : ResultMetadata) -> GetPromptResultimpl Eq for JsonIntegerimpl Eq for JsonNumberpub(all) struct ModelPreferences {
hints : Array[ModelHint]?
cost_priority : JsonNumber?
speed_priority : JsonNumber?
intelligence_priority : JsonNumber?
extensions : Map[String, Json]
} derive(Eq, Debug)impl ToJson for ModelPreferencesfn ModelPreferences::new(hints? : Array[ModelHint], cost_priority? : Double, speed_priority? : Double, intelligence_priority? : Double) -> ModelPreferences raisepub(all) struct ProgressNotification {
progress_token : ProgressToken
progress : JsonNumber
total : JsonNumber?
message : String?
extra_fields : Map[String, Json]
} derive(Eq, Debug)impl ToJson for ProgressNotificationimpl Eq for ProgressTokenimpl ToJson for ProgressTokenimpl ToJson for PromptArgumentfn PromptArgument::new(name : String, title? : String, description? : String, required? : Bool) -> PromptArgumentimpl ToJson for PromptCapabilitiesimpl ToJson for PromptDefinitionfn PromptDefinition::new(name : String, title? : String, description? : String, arguments? : Array[PromptArgument], icons? : Array[Icon], meta? : Map[String, Json]) -> PromptDefinitionpub(all) struct PromptMessage {
role : String
content : ContentBlock
extensions : Map[String, Json]
} derive(Eq, Debug)impl ToJson for ResourceCapabilitiesimpl ToJson for ResourceContentspub(all) struct ResourceDefinition {
uri : String
name : String
title : String?
description : String?
mime_type : String?
size : JsonInteger?
icons : Array[Icon]?
metadata : ContentMetadata
} derive(Eq, Debug)impl ToJson for ResourceDefinitionfn ResourceDefinition::new(uri : String, name : String, title? : String, description? : String, mime_type? : String, size? : Int, icons? : Array[Icon], metadata? : ContentMetadata) -> ResourceDefinitionpub(all) struct ResourceLinkData {
uri : String
name : String
title : String?
description : String?
mime_type : String?
size : JsonInteger?
icons : Array[Icon]?
} derive(Eq, Debug)pub(all) struct ResourceReadResult {
contents : Array[ResourceContents]
metadata : ResultMetadata
} derive(Eq, Debug)impl ToJson for ResourceReadResultfn ResourceReadResult::blob(blob : String, uri~ : String, mime_type? : String) -> ResourceReadResultfn ResourceReadResult::new(contents : Array[ResourceContents], metadata? : ResultMetadata) -> ResourceReadResultfn ResourceReadResult::text(text : String, uri~ : String, mime_type? : String) -> ResourceReadResultpub(all) struct ResourceTemplateDefinition {
uri_template : String
name : String
title : String?
description : String?
mime_type : String?
icons : Array[Icon]?
metadata : ContentMetadata
} derive(Eq, Debug)impl ToJson for ResourceTemplateDefinitionfn ResourceTemplateDefinition::equal(ResourceTemplateDefinition, ResourceTemplateDefinition) -> Boolfn ResourceTemplateDefinition::new(uri_template : String, name : String, title? : String, description? : String, mime_type? : String, icons? : Array[Icon], metadata? : ContentMetadata) -> ResourceTemplateDefinitionfn ResourceTemplateDefinition::not_equal(x : ResourceTemplateDefinition, y : ResourceTemplateDefinition) -> Boolfn ResourceUpdatedNotification::equal(ResourceUpdatedNotification, ResourceUpdatedNotification) -> Boolfn ResourceUpdatedNotification::not_equal(x : ResourceUpdatedNotification, y : ResourceUpdatedNotification) -> Boolpub(all) struct ResultMetadata {
result_type : String?
ttl_ms : JsonInteger?
cache_scope : CacheScope?
meta : Map[String, Json]?
extensions : Map[String, Json]
} derive(Eq, Debug)impl ToJson for ResultMetadatafn ResultMetadata::from_json(value : Json, body_fields~ : Array[String]) -> ResultMetadata raise MCPErrorimpl ToJson for RootCapabilitiesimpl ToJson for SamplingCapabilitiesfn SamplingCapabilities::new(context? : Map[String, Json], tools? : Map[String, Json]) -> SamplingCapabilitiespub(all) enum SamplingContent {
Single(SamplingContentBlock)
Multiple(Array[SamplingContentBlock])
} derive(Eq, Debug)impl ToJson for SamplingContentpub(all) enum SamplingContentBlock {
Content(ContentBlock)
ToolUse(ToolUseContent)
ToolResult(ToolResultContent)
Unknown(Json)
} derive(Eq, Debug)impl ToJson for SamplingContentBlockimpl ToJson for SamplingMessagefn SamplingMessage::new(role : Role, content : SamplingContent, meta? : Map[String, Json]) -> SamplingMessagepub(all) struct ServerCapabilities {
experimental : Map[String, Json]?
logging : Map[String, Json]?
completions : Map[String, Json]?
tools : ToolCapabilities?
resources : ResourceCapabilities?
prompts : PromptCapabilities?
extra_fields : Map[String, Json]
extensions : Map[String, Json]?
} derive(Eq, Debug)impl ToJson for ServerCapabilitiesfn ServerCapabilities::new(experimental? : Map[String, Json], logging? : Map[String, Json], completions? : Map[String, Json], tools? : ToolCapabilities, resources? : ResourceCapabilities, prompts? : PromptCapabilities, extensions? : Map[String, Json]) -> ServerCapabilitiesfn SubscriptionNotificationKind::equal(SubscriptionNotificationKind, SubscriptionNotificationKind) -> Boolfn SubscriptionNotificationKind::not_equal(x : SubscriptionNotificationKind, y : SubscriptionNotificationKind) -> Boolimpl ToJson for ToolAnnotationsfn ToolAnnotations::new(title? : String, read_only_hint? : Bool, destructive_hint? : Bool, idempotent_hint? : Bool, open_world_hint? : Bool) -> ToolAnnotationspub(all) struct ToolChoice {
mode : ToolChoiceMode?
extensions : Map[String, Json]
} derive(Eq, Debug)impl ToJson for ToolChoiceimpl ToJson for ToolDefinitionfn ToolDefinition::new(name : String, input_schema : Json, title? : String, description? : String, output_schema? : Json, annotations? : ToolAnnotations, icons? : Array[Icon], meta? : Map[String, Json]) -> ToolDefinitionpub(all) struct ToolResult {
content : Array[ContentBlock]
structured_content : Json?
is_error : Bool?
metadata : ResultMetadata
} derive(Eq, Debug)impl ToJson for ToolResulttest {
let result = @types.ToolResult::structured(Json::null())
assert_eq(result.structured_content, Some(Json::null()))
assert_eq(result.to_json(), {
"content": [],
"structuredContent": null,
"isError": false,
})
}impl ToJson for ToolResultContentfn ToolResultContent::new(tool_use_id : String, content : Array[ContentBlock], structured_content? : Json, is_error? : Bool, meta? : Map[String, Json]) -> ToolResultContentimpl ToJson for ToolUseContentfn ToolUseContent::new(id : String, name : String, input : Map[String, Json], meta? : Map[String, Json]) -> ToolUseContentlet ProtocolVersion : Stringfn progress_notification(token : ProgressToken, progress : Double, total? : Double, message? : String) -> Notification raiseInstall
Download zipType-safe MCP SDK in MoonBit with server/client support and dual transport (STDIO/HTTP)