Sessions
Sendinitialize without an Mcp-Session-Id header. The response header carries the new session ID, which you send on every request after that.
Notification stream
Open it if you cachetools/list: Slaunt sends notifications/tools/list_changed when the workspace’s provider tools change.
Thread boundaries
By default one session equals one runtime. If your client runs several chats over one connection, tag each request with a boundary so Slaunt keeps them as separate threads instead of merging them. Put it inparams._meta or a header. Values are strings up to 1,024 characters and are stored only as hashes. Conflicting values on one request are rejected.
Without a boundary, each new chat must call
thread_begin. Codex has its own routing.
Limits
Every response carries
X-RateLimit-Limit, X-RateLimit-Remaining and X-RateLimit-Reset (Unix seconds).
Results
Eachtools/call result has content[0].text, a readable summary meant for the model, and structuredContent, the full data meant for code. Failures come back as a JSON-RPC error, not as an isError result, so check for error first.