Skip to main content

Module transport

Module transport 

Source
Expand description

How MCP messages travel, apart from what they say (MCP 2025-06-18, “Transports”). The stdio transport is the one Claude Code and Claude Desktop use: the client starts sioul mcp and writes one JSON-RPC message per line on its standard input; each answer is one line on its standard output. Streamable HTTP (one POST per message, for ChatGPT and remote clients) will be another Transport over the same protocol::Server.

Structs§

Stdio
Standard input and output: newline-delimited JSON, as MCP’s stdio transport says.

Enums§

Incoming
What came: one message, or a line that could not be taken (too long, not UTF-8), which is said to the client before the next one is read.

Constants§

LONGEST_LINE 🔒
The longest message taken, in bytes: a note or a draft is far shorter, and a client that sends more cannot fill the memory with one line.

Traits§

Transport
Where messages come from and go to.

Functions§

read_message 🔒
One line of input, at most longest bytes; the rest of a longer one skipped.
serve
Answers every message until the client goes: requests get their response, notifications nothing.