Newline-delimited JSON-RPC over stdin/stdout (MCP stdio transport). stdout carries protocol messages only; all logging goes to stderr so it never corrupts the message stream.
Newline-delimited JSON-RPC over stdin/stdout (MCP stdio transport). stdout carries protocol messages only; all logging goes to stderr so it never corrupts the message stream.
(serve t handle-fn)Blocking receive → dispatch → respond loop. Reads messages from t,
dispatches each with handle-fn (a 1-arg fn of the parsed message returning
a response map or nil), and writes responses. Returns when the peer closes
the stream (EOF). Malformed input yields a JSON-RPC parse error and the loop
continues.
Blocking receive → dispatch → respond loop. Reads messages from `t`, dispatches each with `handle-fn` (a 1-arg fn of the parsed message returning a response map or nil), and writes responses. Returns when the peer closes the stream (EOF). Malformed input yields a JSON-RPC parse error and the loop continues.
(transport)(transport in out)Construct a StdioTransport. With no args, binds to process stdin/stdout.
The 2-arity accepts anything clojure.java.io/reader and /writer handle
(e.g. a StringReader / StringWriter in tests). Streams are UTF-8 as the MCP
spec mandates.
Construct a StdioTransport. With no args, binds to process stdin/stdout. The 2-arity accepts anything `clojure.java.io/reader` and `/writer` handle (e.g. a StringReader / StringWriter in tests). Streams are UTF-8 as the MCP spec mandates.
cljdoc builds & hosts documentation for Clojure/Script libraries
| Ctrl+k | Jump to recent docs |
| ← | Move to previous article |
| → | Move to next article |
| Ctrl+/ | Jump to the search field |