Skip to main content
Sessions group an agent’s tool calls into a single unit visible in the admin dashboard. The household can see what each connected agent did, which tools it called, and when.

Sessions are transport-bound

Breadbox creates a session automatically for every MCP connection — no setup required.
  • Streamable HTTP — the session is keyed to the MCP-Session-Id value from the client’s initialize request. Every tool call over that connection is attributed to the same session.
  • stdio (breadbox mcp-stdio) — the session is keyed to a per-process ID generated when the server starts. All tool calls in the process share one session.
The session row is created on the first tool call and stamped with the client’s clientInfo (name and version) from the initialize handshake.
There is no create_session tool. Write tool input schemas do not have session_id or reason fields. If you have agent code written against an older version of Breadbox that passes these fields, they are silently ignored.

Attaching a label to a call

To record why a specific write happened, pass an optional reason string in the _meta block alongside the tool arguments:
{
  "operations": [
    {
      "transaction_id": "k7Xm9pQ2",
      "category_slug": "food_and_drink_groceries",
      "tags_to_remove": [{"slug": "needs-review"}]
    }
  ],
  "_meta": { "reason": "closing weekly review batch" }
}
The server reads _meta.reason and stamps it on the activity log entry for that call. It is optional — the server never rejects a call for omitting it. Read calls accept _meta.reason too; use it when you want to annotate a read in the audit log.

Viewing session history

Open Settings → MCP in the admin dashboard to see session history grouped by connection, with the tool calls each session made, their timestamps, and any reason labels attached.
Last modified on June 8, 2026