colmugx/mcp/transport does not have a README file
pub(open) trait Transport {
fn receive(Self) -> String? raise TransportError
fn send(Self, String) -> Unit raise TransportError
fn send_notification(Self, Notification) -> Unit raise TransportError
fn send_event(Self, event_type~ : String, data~ : String) -> Unit
fn supports_streaming(Self) -> Bool
fn close(Self) -> Unit
}pub(all) enum AnyTransport {
Stdio(StdioTransport)
StdioClient(StdioClientTransport)
Http(HttpTransport)
HttpClient(HttpClientTransport)
}async fn AnyTransport::send_notification(self : AnyTransport, notification : Notification) -> Unit raise TransportErrorfn AuthConfig::AuthConfig(verify_token~ : (String) -> Bool, resource_metadata_url~ : String, authorization_servers? : Array[String], required_scopes? : String, allowed_origins? : Array[String]) -> AuthConfigfn HttpClientTransport::HttpClientTransport(base_url : String, auth_token? : String) -> HttpClientTransportasync fn HttpClientTransport::send(self : HttpClientTransport, message : String) -> Unit raise TransportErrorfn HttpClientTransport::send_event(_self : HttpClientTransport, event_type~ : String, data~ : String) -> Unitasync fn HttpClientTransport::send_notification(self : HttpClientTransport, notification : Notification) -> Unit raise TransportErrorfn HttpClientTransport::set_tool_header_schemas(self : HttpClientTransport, schemas : Map[String, Array[(Array[String], String)]]) -> Unitpub struct HttpTransport {
port : Int
endpoint_path : String
auth : AuthConfig?
pending_requests : Queue[(String, Queue[String])]
pending_reply_queues : Map[String, Queue[String]]
}async fn HttpTransport::receive_request(self : HttpTransport) -> (String, Queue[String])? raise TransportErrorpub struct StdioClientTransport {
cmd : String
args : Array[String]
extra_env : Map[String, String]
closed : Bool
reader : ReadFromProcess?
raw_writer : WriteToProcess?
writer : BufferedWriter[WriteToProcess]?
}fn StdioClientTransport::StdioClientTransport(cmd~ : String, args? : Array[String], extra_env? : Map[String, String]) -> StdioClientTransportasync fn StdioClientTransport::send(self : StdioClientTransport, message : String) -> Unit raise TransportErrorfn StdioClientTransport::send_event(_self : StdioClientTransport, event_type~ : String, data~ : String) -> Unitasync fn StdioClientTransport::send_notification(self : StdioClientTransport, notification : Notification) -> Unit raise TransportErrorasync fn StdioClientTransport::start(self : StdioClientTransport, group : TaskGroup[Unit]) -> Unit raise TransportErrorasync fn StdioTransport::send_notification(self : StdioTransport, notification : Notification) -> Unit raise TransportErrorfn decode_base64(s : String) -> Bytes?fn decode_base64_sentinel(value : String) -> String?fn encode_base64(bytes : Bytes) -> Stringfn encode_base64_sentinel(value : String) -> Stringfn encode_header_value(value : String) -> Stringfn is_header_safe(value : String) -> Boolfn is_valid_header_characters(value : String) -> Boolfn jsonrpc_error_code(message : String) -> Int?fn looks_like_sentinel(value : String) -> Boolfn sse_event_line(json : String) -> Stringfn unsupported_protocol_version_error(requested : String) -> StringType-safe MCP SDK in MoonBit with server/client support and dual transport (STDIO/HTTP)
Dependencies