Skip to main content

Conversations

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

list-conversations​

List conversations

Arguments​

ArgumentTypeRequiredDescription
project_idstringnoProject ID (optional)
actor_idstringnoFilter by actor ID
tagsarraynoFilter by tag pairs, written key:value (split on the first colon, so a value may contain colons). Repeat the parameter for several pairs; all must be present with exactly that value.
limitnumbernoMaximum number of results to return
offsetnumbernoNumber of results to skip

create-conversation​

Create a conversation

Arguments​

ArgumentTypeRequiredDescription
project_idstringnoProject ID. Required for JWT auth; omit when using an project key.
statusstringnoInitial conversation status
namestring | nullnoOptional name for the conversation
actor_idstring | nullnoActor ID to associate with this conversation
retrievalstring | nullnoWhether this conversation's turns are embedded for vector retrieval. Turns are stored and chunked either way, so none leaves them readable and reachable by full-text search without paying for an embedding. null (the default) inherits the project's default_conversation_retrieval.

get-conversation​

Get a conversation by ID

Arguments​

ArgumentTypeRequiredDescription
conversation_idstringyesConversation ID

update-conversation​

Update a conversation

Arguments​

ArgumentTypeRequiredDescription
conversation_idstringyesConversation ID
statusstringnoNew conversation status
namestring | nullnoNew conversation name
retrievalstring | nullnoWhether this conversation's turns are embedded for vector retrieval. Turns are stored and chunked either way, so none leaves them readable and reachable by full-text search without paying for an embedding. null (the default) inherits the project's default_conversation_retrieval. Switching it on embeds the turns already in the conversation, so the whole conversation becomes retrievable rather than only what is said next.

delete-conversation​

Delete a conversation

Arguments​

ArgumentTypeRequiredDescription
conversation_idstringyesConversation ID

list-conversation-messages​

List conversation messages

Arguments​

ArgumentTypeRequiredDescription
conversation_idstringyesConversation ID
limitnumbernoMaximum number of results to return
offsetnumbernoNumber of results to skip

add-conversation-message​

Add a message to a conversation

Arguments​

ArgumentTypeRequiredDescription
conversation_idstringyesConversation ID
messagestringyesMessage text content to add to the conversation
rolestringyesRole of the message sender
actor_idstring | nullnoOptional actor ID to associate with this message (user identity)
positionnumbernoZero-based position. Defaults to MAX+1 (append).
metadataanynoCaller-owned annotations on the message (e.g. a phone number, a channel), stored as sent and returned verbatim. The platform does not read the bag, so nothing in it reaches the model: a value the model should see belongs in message.

generate-conversation-message​

Generate the next message in a conversation

Arguments​

ArgumentTypeRequiredDescription
conversation_idstringyes—
agent_idstringyesID of the agent that will produce the next message.
modelstringnoOptional model override.
streambooleannoIf true, stream tokens via SSE. NOT IMPLEMENTED in v1 — returns 501.
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 and keys are never case-converted, so they round-trip exactly as sent. An invalid or colliding key is rejected with 400 INVALID_TOOL_CONTEXT_KEY.

remove-conversation-message​

Remove a message from a conversation

Arguments​

ArgumentTypeRequiredDescription
conversation_idstringyesConversation ID
document_idstringyesDocument ID

get-conversation-tags​

Get conversation tags

Arguments​

ArgumentTypeRequiredDescription
conversation_idstringyesConversation ID

replace-conversation-tags​

Replace conversation tags

Arguments​

ArgumentTypeRequiredDescription
conversation_idstringyesConversation ID

merge-conversation-tags​

Merge conversation tags

Arguments​

ArgumentTypeRequiredDescription
conversation_idstringyesConversation ID