Skip to main content

Tools Reference

Complete list of all MCP tools exposed by the SOAT server, grouped by module. Each tool name maps directly to the MCP tools/call method name.

Actors

See Actors module docs for permissions and data model.

ToolDescription
list-actorsReturns all actors the caller has access to. If projectId is provided, returns only actors in that project. project keys are scoped to a single project automatically. JWT users without projectId receive actors across all their accessible projects.
create-actorCreates a new actor. project keys automatically infer the project from the key's scope; JWT callers must supply projectId.
get-actorReturns an actor by its ID
delete-actorDeletes an actor by its ID
update-actorUpdates an actor's properties
get-actor-tagsReturns all tags attached to the actor
replace-actor-tagsReplaces all tags on the actor with the provided tags (not merged)
merge-actor-tagsMerges provided tags with existing tags (existing tags are preserved unless overridden)

AgentFormations

See AgentFormations module docs for permissions and data model.

ToolDescription
validate-agent-formationValidates a formation template without creating any resources. Returns a list of errors and warnings.
plan-agent-formationComputes a diff between the desired template and the current stack state without making any changes. Returns the list of planned actions.
list-agent-formationsReturns all formation stacks for a project
create-agent-formationValidates the template, creates the formation record, then provisions all declared resources in dependency order.
get-agent-formationReturns the formation stack including its current resources.
update-agent-formationApplies a new template to the formation. Resources are created, updated, or deleted to reconcile the current state with the desired state.
delete-agent-formationDeletes the formation stack and all its managed resources in reverse dependency order.
list-agent-formation-eventsReturns all operations (create, update, delete) with their event logs for the formation, ordered chronologically.

Agents

See Agents module docs for permissions and data model.

ToolDescription
create-agent-toolCreates a new agent tool in the project.
list-agent-toolsReturns all agent tools in the project.
get-agent-toolReturns a single agent tool by ID.
update-agent-toolUpdates an existing agent tool.
delete-agent-toolDeletes an agent tool by ID.
create-agentCreates a new agent bound to an AI provider.
list-agentsReturns all agents in the project.
get-agentReturns a single agent by ID.
update-agentUpdates an existing agent.
delete-agentDeletes an agent by ID.
create-agent-generationSends messages to the agent, resolves its tools, and runs the AI model loop. Supports streaming via stream: true. Client tools pause the generation and return requires_action.
submit-agent-tool-outputsResumes a generation that was paused due to client tool calls. Provide tool outputs for each pending tool call.
create-agent-actorCreates a new actor associated with the specified agent

AI Providers

See AI Providers module docs for permissions and data model.

ToolDescription
list-ai-providersReturns a list of AI provider configurations for a project
create-ai-providerCreates a new LLM provider configuration
get-ai-providerReturns a specific AI provider configuration
update-ai-providerUpdates an AI provider configuration
delete-ai-providerDeletes an AI provider configuration

API Keys

See API Keys module docs for permissions and data model.

ToolDescription
list-api-keysLists API keys accessible to the caller. - JWT admin: returns all API keys. - JWT regular user: returns only the user's own API keys. - API key scoped to a project: returns only API keys scoped to that project.
create-api-keyCreates a new API key for the authenticated user. - If project_id is provided, the key is scoped to that project. - If policy_ids is provided, the key's effective permissions are the intersection of the user's policies and the key's policies. - If neither is provided, the key inherits the user's full permissions.
get-api-keyReturns details of an API key. Only the owner or an admin can access it.
update-api-keyUpdates an API key's name, project scope, or policies. Only the owner or an admin can update it.
delete-api-keyDeletes an API key. Only the owner or an admin can delete it.

Chats

See Chats module docs for permissions and data model.

ToolDescription
create-chatCreates a new chat resource bound to an AI provider.
list-chatsReturns all chats in the project.
get-chatReturns a single chat by ID.
delete-chatDeletes a chat by ID.
create-chat-completion-for-chatRuns a completion using the AI provider and settings stored in the chat. Pass stream: true for SSE streaming. A system message in messages overrides the chat's stored system message for this call only. Messages may use documentId instead of content.
create-chat-completionOpenAI Chat Completions-compatible endpoint. Resolves the AI provider from ai_provider_id, decrypts its secret, and calls the appropriate Vercel AI SDK provider. ai_provider_id is required — there is no server-side model fallback.
create-chat-actorCreates a new actor associated with the specified chat

Conversations

See Conversations module docs for permissions and data model.

ToolDescription
list-conversationsReturns all conversations the caller has access to. If projectId is provided, returns only conversations in that project. project keys are scoped to a single project automatically.
create-conversationCreates a new conversation. project keys automatically infer the project from the key's scope; JWT callers must supply projectId.
get-conversationReturns a conversation by its ID
update-conversationUpdates the status of a conversation
delete-conversationDeletes a conversation by its ID
list-conversation-messagesReturns all messages (documents) attached to a conversation, ordered by position
add-conversation-messageCreates a document from the message text and attaches it to the conversation at the given position. If position is omitted, it is appended at the end.
generate-conversation-messageGenerates the next message using the specified actor's linked agent or chat.
On completed, the reply is persisted as a new ConversationMessage authored
by that actor. On requires_action, nothing is persisted; the caller must
submit tool outputs via the Agents module and re-invoke generate.
list-conversation-actorsReturns all distinct actors who have sent at least one message in the conversation
remove-conversation-messageRemoves a document from a conversation
get-conversation-tagsReturns all tags attached to the conversation
replace-conversation-tagsReplaces all tags on the conversation with the provided tags
merge-conversation-tagsMerges provided tags with existing tags

Documents

See Documents module docs for permissions and data model.

ToolDescription
list-documentsReturns all documents the caller has access to. If projectId is provided, returns only documents in that project. project keys are scoped to a single project automatically. JWT users without projectId receive documents across all their accessible projects.
create-documentCreates a new text document and generates an embedding vector for semantic search. project keys automatically infer the project from the key's scope; JWT callers must supply projectId.
get-documentReturns a document with its text content
delete-documentDeletes a document and its underlying file
update-documentUpdates document content, title, path, metadata, or tags. Supplying path moves the document to a new logical path within the project.
get-document-tagsReturns all tags attached to the document
replace-document-tagsReplaces all tags on the document with the provided tags (not merged)
merge-document-tagsMerges provided tags with existing tags (existing tags are preserved unless overridden)

Files

See Files module docs for permissions and data model.

ToolDescription
list-filesReturns a list of all stored files
create-fileCreates a new file record in the system
upload-fileUploads a file to the server and stores it in the configured storage directory
upload-file-base64Uploads a file to the server using base64-encoded content
get-fileReturns the data and metadata of a specific file
delete-fileRemoves a file from the system by ID
download-fileStreams the file content to the client
update-file-metadataUpdates the metadata field of a file
download-file-base64Returns the file content encoded as base64
get-file-tagsReturns all tags attached to the file
replace-file-tagsReplaces all tags on the file with the provided tags
merge-file-tagsMerges provided tags with existing tags

Knowledge

See Knowledge module docs for permissions and data model.

ToolDescription
search-knowledgeSearches across documents and memory entries using semantic search, file paths, document IDs, or memory IDs/tags. At least one of query, document_paths, document_ids, memory_ids, or memory_tags must be provided.

Memories

See Memories module docs for permissions and data model.

ToolDescription
list-memoriesReturns a list of memory configurations for a project
create-memoryCreates a new memory configuration in a project
get-memoryReturns a single memory configuration by ID
update-memoryUpdates an existing memory configuration
delete-memoryDeletes a memory configuration

MemoryEntries

See MemoryEntries module docs for permissions and data model.

ToolDescription
list-memory-entriesReturns all entries in a memory container
create-memory-entryCreates a new entry in the specified memory container. Automatically generates an embedding for semantic search.
get-memory-entryReturns a single memory entry by ID
update-memory-entryUpdates an existing memory entry. Regenerates the embedding if content changes.
delete-memory-entryDeletes a memory entry

Policies

See Policies module docs for permissions and data model.

ToolDescription
list-policiesReturns a list of all global policies. Requires admin role.
create-policyCreates a new global policy. Requires admin role.
get-policyReturns details of a specific policy. Requires admin role.
update-policyUpdates an existing global policy. Requires admin role.
delete-policyDeletes a global policy. Requires admin role.

Projects

See Projects module docs for permissions and data model.

ToolDescription
create-projectCreates a new project. Requires admin role.
get-projectReturns details of a specific project.
delete-projectDeletes a project. Requires admin role.

Secrets

See Secrets module docs for permissions and data model.

ToolDescription
list-secretsReturns a list of secrets for a project
create-secretCreates a new encrypted secret in a project
get-secretReturns a specific secret
update-secretUpdates a secret's name and/or value
delete-secretDeletes a secret

Sessions

See Sessions module docs for permissions and data model.

ToolDescription
create-agent-sessionCreates a new session for the specified agent. Internally creates a conversation and two actors (agent + user) so the caller only needs this single call to start interacting with the agent.
list-agent-sessionsReturns sessions for the specified agent, optionally filtered by actorId and status.
get-agent-sessionReturns details of a single session.
update-sessionUpdates the session name and/or status.
delete-agent-sessionDeletes the session and its underlying conversation and actors.
list-agent-session-messagesReturns messages in the session with simplified roles (user/assistant) instead of raw actor IDs.
add-session-messageSaves a user message to the session. When autoGenerate is enabled on the session and no generation is currently in progress, generation is triggered automatically and the response mirrors GenerateSessionResponse. Otherwise returns the saved user message.
generate-session-responseTriggers the agent to generate a response based on the current conversation. Returns the assistant reply or a requires_action status if the agent needs client tool outputs. Pass ?async=true for a 202 accepted response when you do not need to wait for the result.
submit-session-tool-outputsSubmits client tool outputs for a generation that returned requires_action. The agent continues its loop and returns the final or next requires_action result.
get-session-tagsReturns the session's tags object.
replace-session-tagsReplaces all tags on the session.
merge-session-tagsMerges the provided tags into the session's existing tags.

Traces

See Traces module docs for permissions and data model.

ToolDescription
list-tracesReturns a paginated list of execution traces for the project.
get-traceReturns a single trace by ID.
get-trace-treeReturns the full execution tree rooted at the given trace (or its root if the given trace is a child). Each node represents one agent's execution session. The children array contains traces triggered by sub-agent tool calls from that trace.

Users

See Users module docs for permissions and data model.

ToolDescription
list-usersReturns a list of all users
create-userCreates a new user in the system
get-userReturns the data of a specific user
delete-userDeletes a specific user
bootstrap-userCreates the first admin user. Returns 409 if any user already exists.
login-userAuthenticates a user and returns a JWT token
get-user-policiesReturns the list of policies attached to a user. Requires admin role.
attach-user-policiesReplaces the user's policy list with the provided policy IDs. Requires admin role.

Webhooks

See Webhooks module docs for permissions and data model.

ToolDescription
list-webhooksLists all webhooks configured for the specified project
create-webhookCreates a new webhook for the specified project
get-webhookRetrieves the details of a specific webhook
update-webhookUpdates an existing webhook's configuration
delete-webhookDeletes a webhook and stops all event deliveries
list-webhook-deliveriesLists all event deliveries for a specific webhook
get-webhook-deliveryRetrieves the details of a specific webhook delivery
rotate-webhook-secretRotates the secret key for the specified webhook