Skip to main content

Sessions

MCP tools for the Sessions module. See the Sessions module docs for permissions and data model.

create-session

Create a session

Arguments

ArgumentTypeRequiredDescription
agent_idstringyesAgent this session belongs to
namestringnoOptional session name
actor_idstringnoOptional public ID of an existing actor to use as the user actor. Actors are created separately (POST /actors); this field only links one. Omit it and the session has no end user, so its generations match no actor-scoped quota.
auto_generatebooleannoWhen true, automatically triggers generation after each user message.
tool_contextobject | nullnoKey-value pairs forwarded as X-Soat-Context-<key> headers on every http, mcp and builtin tool call in this session. The header name is the deployment's configured context prefix (X-Soat-Context- by default) plus the key verbatim — no character is re-cased. Keys are never case-converted — they round-trip exactly as sent. A key that is not a valid HTTP header name, or two keys that map to the same header, are rejected with 400 INVALID_TOOL_CONTEXT_KEY.
inactivity_ttl_secondsnumbernoNumber of seconds of inactivity after which the session expires. 0 means the session never expires.
message_delay_secondsnumber | nullnoNumber of seconds to wait after the last user message before sending to the LLM. Acts as a debounce: each new message resets the timer. null or absent means no delay (immediate processing).

list-sessions

List sessions

Arguments

ArgumentTypeRequiredDescription
agent_idstringnoFilter by agent public ID
actor_idstringnoFilter by actor public ID
statusstringnoFilter by session status (open, closed, or expired)
limitnumberno
offsetnumberno

get-session

Get a session

Arguments

This tool takes no arguments.

update-session

Update a session

Arguments

ArgumentTypeRequiredDescription
namestring | nullnoSession name (set to null to clear)
statusstringnoSession status
auto_generatebooleannoEnable or disable automatic generation after user messages.
tool_contextobject | nullnoKey-value pairs forwarded as X-Soat-Context-<key> headers on every http, mcp and builtin tool call in this session. The header name is the deployment's configured context prefix (X-Soat-Context- by default) plus the key verbatim — no character is re-cased. Keys are never case-converted — they round-trip exactly as sent. A key that is not a valid HTTP header name, or two keys that map to the same header, are rejected with 400 INVALID_TOOL_CONTEXT_KEY.
inactivity_ttl_secondsnumbernoNumber of seconds of inactivity after which the session expires. 0 means the session never expires. Updates the stored TTL; the inactivity clock continues from the last activity timestamp.
message_delay_secondsnumber | nullnoNumber of seconds to wait after the last user message before sending to the LLM. Acts as a debounce: each new message resets the timer. Set to null to disable the delay.

delete-session

Delete a session

Arguments

This tool takes no arguments.

add-session-message

Add a user message

Arguments

This tool takes no arguments.

generate-session-response

Trigger agent generation

Arguments

ArgumentTypeRequiredDescription
waitbooleannoWhen omitted or false (default), generation runs in the background and 202 Accepted is returned immediately. Pass true to block until the generation settles and receive the result.
modelstringnoOptional model override
tool_contextobject | nullnoKey-value pairs forwarded as X-Soat-Context-<key> headers on every http, mcp and builtin tool call in this generation. The header name is the deployment's configured context prefix (X-Soat-Context- by default) plus the key verbatim — no character is re-cased. Keys are never case-converted — they round-trip exactly as sent. An invalid or colliding key is rejected with 400 INVALID_TOOL_CONTEXT_KEY.

submit-session-tool-outputs

Submit tool outputs

Arguments

ArgumentTypeRequiredDescription
generation_idstringyesThe generation ID from the requires_action response
tool_outputsarray<object>yes

fork-session

Fork a session

Arguments

ArgumentTypeRequiredDescription
fork_at_positionnumbernoThe parent conversation position to branch after. Messages at positions 0..N are carried into the fork. Omit it to branch at the tip (the whole history).
agent_idstringnoAgent the fork runs against. Defaults to the parent session's agent; overriding it is the point of forking — same context, a different agent or agent version. Must belong to the same project as the session being forked.
namestringnoOptional name for the forked session
tagsobjectnoOptional tags for the forked session
tool_contextobject | nullnoOverrides the parent's tool_context on the fork. Omit it and the fork inherits the parent's, so the branch is faithful to the run it came from.

list-session-forks

List a session's forks

Arguments

ArgumentTypeRequiredDescription
limitnumberno
offsetnumberno

get-session-tags

Get session tags

Arguments

This tool takes no arguments.

replace-session-tags

Replace session tags

Arguments

This tool takes no arguments.

merge-session-tags

Merge session tags

Arguments

This tool takes no arguments.