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

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

Message to be sent over any transport

pub type TransportMessage {
  TransportMessage(content: String, id: option.Option(String))
}

Constructors

Values

pub fn create_transport(
  transport: Transport,
) -> Result(TransportInterface, String)

Create a transport interface for the given transport type

Search Document