mcp_toolkit/transport/interface
Types
Configuration for stdio transport
pub type StdioTransport {
StdioTransport
}
Constructors
-
StdioTransport
Transport configuration options supported by the runtime layer.
For now only stdio is supported; HTTP transports expose their own modules
under mcp_toolkit/transport and don’t integrate with this abstraction.
pub type Transport {
Stdio(StdioTransport)
}
Constructors
-
Stdio(StdioTransport)
Events that can occur on a transport
pub type TransportEvent {
MessageReceived(message: TransportMessage)
ClientConnected(client_id: String)
ClientDisconnected(client_id: String)
TransportError(error: String)
}
Constructors
-
MessageReceived(message: TransportMessage) -
ClientConnected(client_id: String) -
ClientDisconnected(client_id: String) -
TransportError(error: String)
Transport interface for sending and receiving messages
pub type TransportInterface {
TransportInterface(
send: fn(TransportMessage) -> Result(Nil, String),
receive: fn() -> Result(TransportEvent, String),
start: fn() -> Result(process.Subject(TransportEvent), String),
stop: fn() -> Result(Nil, String),
)
}
Constructors
-
TransportInterface( send: fn(TransportMessage) -> Result(Nil, String), receive: fn() -> Result(TransportEvent, String), start: fn() -> Result(process.Subject(TransportEvent), String), stop: fn() -> Result(Nil, String), )
Message to be sent over any transport
pub type TransportMessage {
TransportMessage(content: String, id: option.Option(String))
}
Constructors
-
TransportMessage(content: String, id: option.Option(String))
Values
pub fn create_transport(
transport: Transport,
) -> Result(TransportInterface, String)
Create a transport interface for the given transport type