Liking cljdoc? Tell your friends :D

kala.mcp

The MCP server: kala.memory exposed as six tools over stdio.

The surface is the #43 lock: context / record / recall / read / history / turns, bare-named, one per memory op. The server owns the session — it installs the spine at boot and opens (or resumes) the configured session, so an agent's record needs no session argument and write provenance holds by construction. EDN at both edges: structure-bearing arguments arrive as EDN strings and every result is a readable-EDN string; kala and memory errors surface verbatim under the MCP isError flag. The transport is newline-delimited JSON-RPC 2.0 over stdio — a deliberate hand-rolled subset (initialize, tools/list, tools/call, ping), not the Java SDK: the subset is small and the artifact stays one-dependency light.

The protocol is a pure seam: handle takes a request map and returns the reply map (nil for notifications); serve! is the only line-reading loop. Nothing but protocol traffic ever reaches stdout — the server mutters to stderr or not at all.

The MCP server: kala.memory exposed as six tools over stdio.

The surface is the #43 lock: context / record / recall / read / history /
turns, bare-named, one per memory op. The server owns the session — it
installs the spine at boot and opens (or resumes) the configured
session, so an agent's record needs no session argument and write
provenance holds by construction. EDN at both edges: structure-bearing
arguments arrive as EDN strings and every result is a readable-EDN
string; kala and memory errors surface verbatim under the MCP isError
flag. The transport is newline-delimited JSON-RPC 2.0 over stdio —
a deliberate hand-rolled subset (initialize, tools/list, tools/call,
ping), not the Java SDK: the subset is small and the artifact stays
one-dependency light.

The protocol is a pure seam: handle takes a request map and returns the
reply map (nil for notifications); serve! is the only line-reading
loop. Nothing but protocol traffic ever reaches stdout — the server
mutters to stderr or not at all.
raw docstring

cljdoc builds & hosts documentation for Clojure/Script libraries

Keyboard shortcuts
Ctrl+kJump to recent docs
←Move to previous article
→Move to next article
Ctrl+/Jump to the search field
× close