Open Markdown text in a new tab

Built-in tool reference

SoAI ships 119 built-in tools. This page lists all of them, grouped the same way as the Agent tools overview family pages. The family pages explain what a group of tools is for and what you have to configure; this page is the index you check when you need the exact tool name or argument list.

To select ordinary tools for a conversation, select Chat configuration in the chat header, then Tools. Turn on Tools enabled, use the tool list under Chat mode, Plan mode, or Execute mode, and select Save. The search box takes the tool names below, and each tool shows its description when you expand it.

skill_read is supplied for eligible turns with selected skills. It does not need a separate tool-picker selection; automatic loading still needs tools enabled, a nonempty tool selection for the active mode, and a model that supports tool calling.

Each table reflects the built-in tool catalog in the current SoAI release. Argument names are the complete input schema for each tool, and bold arguments are required.

Reading the flags

Flag Meaning
admin Available only to administrator chat sessions; MCP server mode cannot expose it.
approve Declares requiresApprovalHint. The WebUI asks before the call runs when tool approval is on.
chat Available to authorized SoAI conversation users, including non-administrators; MCP server mode cannot expose it.
net Declares openWorldHint. It reaches something outside SoAI.
read Declares readOnlyHint. Reads resources or instructions without a destructive operation.
write Declares destructiveHint. Plan mode refuses to run it, and the WebUI asks for approval when Require tool approval is on.

No displayed flags means all tracked conditions above are false. It does not establish that the call has no effect. For example, todo_write and plan_write update conversation state. Both declare destructiveHint: false, so tool approval lets them through without a prompt.

Skills

2 tools. See Skills for usage guidance.

Tool Flags Arguments Description
skill_materialize chat write skill_id Copy an active skill's complete files into a new private directory in the conversation workspace. Requires execute mode and the selected write tool's approval. Does not run files or install dependencies. Repeated calls for the same admitted execution return the original durable result; changed or missing output is never overwritten or recreated.
skill_read chat read skill_id arguments source_relative path offset limit Skills give the assistant instructions for specific tasks. Load a skill's instructions or read its supporting files. Loading a skill does not grant permissions or run its files.

Web and knowledge

16 tools. See Web and knowledge tools for usage guidance.

Tool Flags Arguments Description
knowledge_config_get read conv_id Get the knowledge base configuration for a conversation, including retrieval strategy, chunking, embedding model, and reranking settings.
knowledge_list read conv_id limit offset List all items in the conversation's knowledge base with their processing status.
knowledge_reindex write conv_id new_embedding_model confirm Reindex a conversation's knowledge base with a new embedding model. Requires confirm=true. Queues a background task.
knowledge_search read conv_id query top_k similarity_threshold retrieval_strategy Perform semantic search across all items in the conversation's knowledge base (includes both local files and web content). Supports 'similarity', 'mmr' (diverse results), and 'hybrid' (dense + BM25) retrieval strategies.
knowledge_web_fetch net conv_id url extract_mode screenshot timeout_ms max_chars focus_query retrieval_strategy top_k similarity_threshold chunking_strategy chunk_size chunk_overlap embedding_model Fetch a URL over HTTP and ingest it into the conversation knowledge base (embeddings + immediate context). Attempts a screenshot using the browser runtime for quick inspection. If the page is JS-rendered, requires login, or is blocked/empty via HTTP fetch, use the real-browser tools (browser_navigate + browser_snapshot/browser_eval) instead.
mcp_resource_read read server uri Read a resource from a connected MCP server.
mcp_resource_templates_list read server cursor List resource templates from connected MCP servers.
mcp_resources_list read server cursor List resources from connected MCP servers.
soai_documentation chat read query page max_results offset_chars max_chars Search or read the offline documentation bundled with this SoAI release. Provide exactly one of query or page. Search results return canonical page IDs; continue long page reads with next_offset_chars.
web_fetch net url extract_mode screenshot timeout_ms max_chars Fetch a URL over HTTP and extract readable content (extraction does not run JavaScript). Attempts a screenshot using the browser runtime for quick inspection. For JS-rendered pages, login-required pages, or blocked/empty responses, use the real-browser tools instead.
web_search_brave read net query limit country search_lang freshness Search using Brave Search API. Privacy-focused search with independent index. Requires a configured Brave Search API key.
web_search_duckduckgo read net query limit region Search using DuckDuckGo. Free, no API key required. Privacy-focused search with results from DuckDuckGo's index.
web_search_google read net query limit safe Search using Google Custom Search JSON API. 100 free queries/day. Requires a configured Google API key and TOOLS.RAG.GOOGLE.SEARCH_ENGINE_ID.
web_search_searxng read net query limit categories engines Search using a self-hosted SearXNG metasearch instance. Aggregates results from multiple search engines. Requires TOOLS.RAG.SEARXNG.BASE_URL configuration.
web_search_serper read net query limit gl hl Search using Serper.dev Google SERP API. Returns Google search results. Requires a configured Serper API key.
web_search_tavily read net query limit search_depth include_domains exclude_domains AI-optimized search using Tavily API. Designed for LLM and RAG applications. Requires a configured Tavily API key.

Files and shell

11 tools. See File and shell tools for usage guidance.

Tool Flags Arguments Description
apply_patch write input Apply a structured patch to files under workspace_path. The patch must start with '*** Begin Patch' and end with '*** End Patch'. If the patch appears to be line-number prefixed (e.g., '1: *** Begin Patch'), prefixes are stripped. When the read-before-write file guard is enabled, edits to existing files require a prior read_file for text targets or read_image for image targets. Supported directives: '*** Add File: <path>' (content lines prefixed with +), '*** Delete File: <path>', '*** Update File: <path>' (unified diff hunks with @@, space/+/- prefixed lines). Update File supports '*** Move to: <path>' for renames.
glob_files read pattern path limit sort Find files by glob pattern under workspace_path.
grep_files read pattern include path output_mode case_insensitive multiline file_type before_context after_context context head_limit offset max_count_per_file Search files under workspace_path with a regex pattern. Returns matching file paths, per-file match counts, or matching lines with line numbers and optional context, depending on output_mode. Backed by a managed ripgrep binary.
list_dir read path offset limit depth List files and directories under workspace_path.
read_file read file_path offset limit mode render indentation Read a UTF-8 text file under workspace_path using line slicing, indentation views, or raw full-file reads. This tool is for source, config, log, and other text files.
replace_in_file write file_path find replace replace_all allow_noop dry_run expected_replacements Replace occurrences of a literal string in a file. Case-sensitive, not regex. By default, the operation is fail-safe: it requires exactly one match unless you explicitly set replace_all or expected_replacements. When the read-before-write file guard is enabled, edits to existing files require a prior read_file of the target file in line-based mode. This tool operates on utf-8 text files only.
shell write cmd workdir shell login tty run_in_background stream_output yield_time_ms cols rows max_output_tokens limit Run a real host shell command. The process starts in workspace_path or workdir, but command execution is not filesystem-sandboxed. Foreground commands stream output during yield_time_ms, then either return exit_code when complete or return status=running with session_id for shell_write_stdin/polling while the tracked PTY session continues server-side. COMMAND_BLACKLIST provides best-effort accidental-misuse checks; it is not a security boundary because interpreters and executed programs retain the caller's terminal authority.
shell_output_read read session_id offset limit from_end Read a paginated shell transcript by line offset. Use this when shell or shell_write_stdin reports has_more=true or when inspecting earlier/later output.
shell_output_search read session_id query offset limit case_sensitive Search a retained shell transcript and return matching line numbers/content.
shell_write_stdin write session_id chars keys cols rows yield_time_ms max_output_tokens limit Write input to a running shell session (started via shell), stream output deltas during the wait, and return incremental output. COMMAND_BLACKLIST is a best-effort accidental-misuse check on command names only, not a security boundary.
write_file write file_path content overwrite dry_run Create or overwrite a UTF-8 text file under workspace_path. Overwriting requires overwrite=true. When the read-before-write file guard is enabled, overwriting an existing file requires a prior read_file of the target file in line-based mode; the server rejects overwrites when the file changed since it was last read. code_diffs contains unified diffs; it is truncated when over the response budget and empty when content is unchanged. Set dry_run=true to validate and preview diffs without writing to disk.

Browser automation

26 tools. See Browser automation tools for usage guidance.

Tool Flags Arguments Description
browser_autofill_secret approve net url secret_handle username_ref password_ref submit profile session_scope Securely autofill login fields using a secret_handle from vault_secret_request or vault_login_request. Requires approval and uses the current page URL for scope validation. Secrets never appear in tool arguments or results.
browser_autofill_vault approve net url credential_id username_ref password_ref submit profile session_scope Securely autofill login fields using a saved encrypted vault credential. Requires approval and uses the current page URL for scope validation. Secrets never appear in tool arguments or results. Use vault_login_request and choose to save to the vault to obtain a credential_id.
browser_click net element ref selector button double_click modifiers include_snapshot snapshot_roles wait_for_url wait_for_url_timeout_ms wait_for_url_wait_until profile session_scope Click an element by ref from browser_snapshot or by selector. Requires TOOLS.MCP.BROWSER.ENABLED=true. If the page navigates or a dialog appears, refresh state with browser_snapshot or browser_dialog before retrying.
browser_close none profile session_scope Close the current browser session for the caller.
browser_console read since type_filter profile session_scope Return console messages captured from the browser session for debugging page behavior.
browser_dialog net action dialog_id prompt_text profile session_scope List or handle JavaScript dialogs such as alert, confirm, and prompt for the current browser session.
browser_downloads read profile session_scope Return downloads captured for the current browser session, including file path when available and terminal status such as completed, canceled, or failed. A download is finished when status='completed' and file_path is present.
browser_drag net element_from from_ref from_selector from_match_index element_to to_ref to_selector to_match_index profile session_scope Drag an element from one ref (browser_snapshot) or selector to another. When using selectors, they must resolve to exactly one element unless you provide *MatchIndex.
browser_eval net script arg timeout_ms profile session_scope Evaluate JavaScript in the active page (must be enabled via TOOLS.MCP.BROWSER.JS_EVAL_ENABLED).
browser_hover net element ref selector force profile session_scope Hover an element by ref from browser_snapshot or by selector. Requires TOOLS.MCP.BROWSER.ENABLED=true. If navigation or a major page update occurred, refresh refs with browser_snapshot before retrying.
browser_navigate net action url tab_id accept_insecure wait_until timeout_ms http_auth clear_http_auth include_snapshot snapshot_roles profile session_scope Navigate a tab to a URL or move backward or forward through the active tab history. Set action=url with url, or action=back/forward without URL-only options. History actions require an active browser session. Requires TOOLS.MCP.BROWSER.ENABLED=true. Network navigation is blocked when SYSTEM.RUNTIME.STAY_OFFLINE=true.
browser_network read since cursor resource_type status_gte include_body max_requests profile session_scope Return captured network request and response metadata from the browser session for debugging page behavior. Use cursor + max_requests to page through large captures without advancing the session's last_call cursor.
browser_pdf read net landscape print_background scale page_ranges profile session_scope Generate a PDF of the current page in Chromium-based sessions and return it as base64 with metadata.
browser_persistence_reset write confirm profile session_scope Delete the configured persistence data for this profile and session_scope. Automatically resets either its user-data-dir profile or storage_state file. Destructive recovery action; requires confirm=true.
browser_press_key net key include_snapshot snapshot_roles profile session_scope Press a key in the active page. Requires TOOLS.MCP.BROWSER.ENABLED=true. If the expected control is missing because the layout changed, use browser_snapshot or browser_resize first.
browser_profiles read none List configured browser profiles, including whether each profile uses remote CDP or local persistence settings.
browser_resize none width height profile session_scope Resize the browser viewport for the current session.
browser_screenshot net full_page element ref raw filename profile session_scope Take a PNG screenshot of the page or an element by ref.
browser_scroll net element ref delta_x delta_y steps delay_ms profile session_scope Scroll the page (or scroll an element into view by ref).
browser_select_option net element ref values include_snapshot snapshot_roles profile session_scope Select options in a native HTML <select> element by ref from browser_snapshot. Requires TOOLS.MCP.BROWSER.ENABLED=true. Refs become stale after navigation or major page changes. Provide the visible option text exactly as shown in browser_snapshot. For custom JavaScript dropdowns, use browser_click on the individual option elements instead.
browser_snapshot read net profile session_scope start_char snapshot_roles Return an accessibility snapshot with stable element refs for the current page. Requires TOOLS.MCP.BROWSER.ENABLED=true. Refs become stale after navigation or tab changes. Supports pagination using start_char and next_start_char.
browser_status read profile session_scope Return the current browser session status, including active tab metadata, dialog and log counters, persistence mode, and storage_state health. If no session exists, return disconnected status and instruct the caller to call browser_navigate first.
browser_tabs none action tab_id profile session_scope List, open, switch, or close tabs in the current browser session. This can change the active tab and may close an existing tab.
browser_type net element ref text submit include_snapshot snapshot_roles profile session_scope Fill an input by ref from browser_snapshot. Requires TOOLS.MCP.BROWSER.ENABLED=true. Refs are page-specific; refresh them after navigation or major page updates.
browser_upload_file net element ref filenames profile session_scope Upload one or more files under workspace_path to a file input element by ref.
browser_wait_for read net time text text_gone url_pattern url_prefix wait_until timeout_ms ref state reason profile session_scope Wait for time, for text to appear/disappear, for a browser_snapshot ref to reach a specific state, or for a URL pattern to match. Requires TOOLS.MCP.BROWSER.ENABLED=true. If the page changed before the wait starts, refresh refs with browser_snapshot first. Note: native <select> <option> elements are hidden by default, so waiting for option refs defaults to state='attached' unless you explicitly request another state.

Media

4 tools. See Media reading tools for usage guidance.

Tool Flags Arguments Description
read_audio read file_id file_path model language task include_word_timestamps Read audio for model analysis with a local speech-to-text model provided by an installed plugin, plus local file metadata. Returns transcript text, timing, source/container metadata, speech pacing, silence gaps, and speech model confidence diagnostics when the model reports them. If speech-to-text is not set up, the error explains which plugin backend or model to install.
read_document read net file_id document_id file_path url max_chars offset_chars parse_timeout_sec Extract text from a document for LLM reading. Supports large documents via chunked reads: set max_chars and offset_chars; if truncated=true, continue with next_offset_chars. Uses the OCR-capable document pipeline for unreadable PDFs, scans, and images when OCR dependencies are available. Provide exactly one of file_id (uploaded file), document_id (RAG document), file_path (workspace_path path), or url (http/https). The file_path field also accepts an http/https URL.
read_image read file_path Read an image under workspace_path for vision-native inspection. Use read_document only when OCR/text extraction is needed.
read_video read file_path frames_per_second include_audio start_seconds end_seconds job_id cursor cancel Read frames and optional audio transcript from a local workspace video. The transcript uses the local speech-to-text model chosen by the speech model setting ('auto', a Whisper size, or an installed model ID), provided by an installed plugin. Use include_audio=false to read frames without speech setup. The call blocks until the selected range is parsed or cancelled.

Image generation

1 tool. See Image generation tools for usage guidance.

Tool Flags Arguments Description
generate_image approve net prompt negative_prompt width height steps cfg_scale seed Generate an image from a clear English prompt using SoAI's configured image engine. Before calling this tool, translate or rewrite the user's visual request into English; non-English prompts can produce poor output. SoAI supports local Automatic1111, local ComfyUI with a configured API workflow, and explicit AI Horde. Local Automatic1111 is the default engine. AI Horde is a public queue and may take a long time; SoAI waits while the provider reports the request remains possible and stops when the provider rejects, faults, or exceeds the configured generation ceiling. Width and height must each be from 64 to 2048 pixels and multiples of 8. For wallpaper, wide, landscape, or 16:9 requests, explicitly pass a wide size such as width 1344 and height 768 when the configured engine can support it. This creates provider or local generator work outside the model and requires approval.

Memory and history

5 tools. See Memory and history tools for usage guidance.

Tool Flags Arguments Description
memory_conversation_history read action include_automation limit last_modified_before last_modified_before_conv_id query limit_matches limit_conversations matches_per_conversation max_chars_per_match conv_id limit_messages before_timestamp before_message_id max_chars_per_message List, search, and read the user's past chat conversations. Defaults to user+assistant messages only. When called from an automation conversation, automation conversations are included by default; otherwise they are excluded unless include_automation is set.
memory_forget write entity_names observation_ids relation_ids Remove entities, observations, or relations from the persistent memory graph. Deleting an entity cascades to its observations and relations.
memory_recall read name Recall a specific entity from the persistent memory graph by exact name. Returns the entity with all its observations and relations.
memory_search read query entity_type limit Search the persistent memory graph by keyword or wildcard. Matches entity names and observation content, ranking exact entity names first. Returns matching entities with their observations and relations. Use '*' to retrieve all entities.
memory_store approve entities observations relations Store knowledge in the persistent memory graph. Create entities (people, projects, concepts), add observations about them, and create relations between them. Data persists across conversations. Requires approval.

Planning and agent control

15 tools. See Planning and agent control tools for usage guidance.

Tool Flags Arguments Description
ask_user none questions Present one to six questions to the user in the chat UI, pause execution, and wait for their response or cancellation. Prefer one to three questions and two to four choices when options are needed. Use is_secret only for non-credential confidential free-text.
automation_create none title enabled color timezone start_local recurrence turns max_turns max_turn_chars max_run_minutes interactive_tool_approval model_settings Create an automation for the authenticated user. The payload must use the SoAI automation contract (timezone/start_local/recurrence/turns).
automation_run_enqueue none automation_id Enqueue an immediate automation run for the authenticated user.
automation_run_get read run_id Fetch an automation run record for the authenticated user.
automation_run_wait none run_id timeout_ms Wait for an automation run to reach a terminal state and return its record.
automation_update none automation_id title enabled color timezone start_local recurrence turns max_turns max_turn_chars max_run_minutes interactive_tool_approval model_settings Update an existing automation for the authenticated user.
notify_user none type title message source link Create a persisted user notification and enqueue it for realtime delivery. This does not wait for a user reply.
plan_get read none Fetch the canonical long plan (markdown).
plan_write none title markdown Write the plan the user reviews and approves before execution (markdown). Each call replaces the whole plan. In plan mode, deliver the final plan here.
stop_conversation chat none Stop the current model turn cleanly without closing the conversation.
subagent_cancel none subagent_id Cancel a running subagent. Cancellation is cooperative/asynchronous and may not stop in-flight work immediately.
subagent_observe read subagent_id mode timeout_ms Read a current-turn subagent snapshot. mode=current returns immediately; mode=terminal waits for completion, cancellation, error, or abandonment.
subagent_spawn none task skill_ids context mode display_name model workspace_path max_iterations tools Spawn a background subagent for the current conversation turn. Omit tools to use the default subagent tool set, pass an empty array for text-only execution, or pass tool names to restrict the subagent to those tools.
todo_write none explanation todo Write the canonical conversation todo checklist. Each call replaces the entire todo list. Keep at most one item in_progress at a time.
wait read seconds until timezone reason Wait or sleep for a duration or until a specific date/time, up to 1 week. Use this to intentionally pause the current agent step when time must pass.

Productivity and feeds

23 tools. See Productivity and feed tools for usage guidance.

Tool Flags Arguments Description
calendar_account_sync net account_id Run an explicit remote discovery and cache sync for one calendar account.
calendar_accounts_list read net none List configured calendar accounts for the authenticated user.
calendar_calendars_list read net account_id limit cursor order_by order_direction List cached calendars for one calendar account.
calendar_event_read read net event_id max_chars offset_chars Read one cached calendar event.
calendar_event_update write net action calendar_id event_id event Create, update, or delete one calendar event.
calendar_events_list read net calendar_id window_start_ms window_end_ms limit cursor order_by order_direction query attendee organizer List cached calendar events for one window.
calendar_invite_respond write net event_id action comment Respond to one calendar invitation.
calendar_window_sync net calendar_id window_start_ms window_end_ms Run an explicit remote sync for one calendar window.
http_request net url method headers body timeout follow_redirects max_response_bytes detect_blocked retries retry_backoff_min_ms retry_backoff_max_ms retry_jitter_max_ms retry_on_timeouts retry_on_request_errors retry_on_status session_mode session Perform HTTP request (returns status, headers, body, timing). Text is UTF-8; binary is base64. Retries are automatic for safe methods and require Idempotency-Key for mutating methods. Supports session persistence (cookies/headers).
mail_account_sync net account_id folder_id Run an explicit cache refresh for one mail account.
mail_accounts_list read net none List configured mail accounts for the authenticated user.
mail_attachment_download read net attachment_id Persist one mail attachment into SoAI files storage.
mail_folder_backfill net folder_id batch_limit before_ms Import the next older cache batch for one folder.
mail_folder_update write net account_id action folder_id folder_name Create, rename, delete, or change subscription state for one folder.
mail_folders_list read net account_id limit cursor order_by order_direction List cached folders for one mail account.
mail_message_compose write net account_id mode delivery base_message_id to cc bcc subject body_text body_html attachments Compose and send or save a draft message for one mail account.
mail_message_read read net message_id part_id max_chars offset_chars Read one cached mail message with standard chunked-read arguments.
mail_message_update write net message_id action destination_folder_id Apply a mailbox mutation to one cached mail message.
mail_messages_list read net folder_id limit cursor order_by order_direction query thread_id unread flagged has_attachments from to subject since_ms before_ms List cached mail messages for one folder using cache-first filters.
mail_messages_remote_search net account_id folder_id limit from to subject since_ms before_ms text rfc822_message_id Run an explicit remote search and import matching summaries into cache.
news read net query language country max_results Search recent image-capable news articles through GDELT. DOC 2.0 provides full-text country-filtered results; the official Article List provides a global headline-and-summary fallback when DOC is unavailable. Use 'latest' or 'today' for current headlines, a date in YYYY-MM-DD format for articles from a specific day, or any keyword or phrase for news search.
rss_read read net url max_items Fetch and parse RSS or Atom feed from a URL, returning structured feed items
weather read net location units country_code forecast_days hourly_hours Get current conditions and a daily forecast (1-14 days, default 3) for a user-provided location using the configured no-key Open-Meteo-compatible endpoints, optionally with an hourly forecast (up to 48 hours). Use this for weather questions, include country_code when a location is ambiguous, set units to imperial only when the user asks for Fahrenheit or imperial units, set forecast_days to the asked window, and set hourly_hours when intra-day detail is requested.

Utilities

8 tools. See Utility tools for usage guidance.

Tool Flags Arguments Description
base64 read operation text variant Encode or decode text using Base64, Base64URL, or Base32.
calculator read expression variables mode Safely evaluate math. Mode 'numeric' (default): exact integers (up to 4000 digits), floating-point decimals, + - * / // % ^, comparisons, and/or/not, 'a if c else b'. Separate statements with ';' or new lines; the last is the result and every 'name = value' is returned in 'assignments', so name each value you need. Constants pi, e, tau. Functions: abs, sign, round(x[, ndigits]), floor, ceil, trunc, sqrt, cbrt, exp, expm1, log(x[, base]), ln, log10, log2, log1p, pct(p, x), clamp(x, low, high), hypot, min, max, sin, cos, tan, asin, acos, atan, atan2(y, x), sinh, cosh, tanh, asinh, acosh, atanh, degrees, deg, radians, rad, gamma, lgamma, erf, erfc, factorial, comb(n, k), perm(n, k), gcd, lcm, isqrt, sum, prod, mean, median, stdev, pstdev, variance, pvariance; sum, mean and similar also take one list. Mode 'symbolic': unknown names are symbols, decimals are exact, I and oo exist; adds simplify, expand, factor, cancel, apart(expr[, x]), together, trigsimp, solve(equations[, unknowns]), subs(expr, x, value), N(expr[, digits]), diff(expr, x[, order]), integrate(expr, x[, low, high]), limit(expr, x, point[, side]), series(expr, x[, point, order]), summation(expr, i, low, high), product(expr, i, low, high), Matrix, det, inv, transpose, rank, eigenvals. Write equations with == (a plain expression means = 0), e.g. solve([x + 2*y == 7, 3*x - y == 7], [x, y]). Index results with s[0], s[0][x] or M[i, j]; limits are two-sided unless side is 1 or -1. Symbolic calls stop after 10 s. Pass unknowns explicitly; other symbols are parameters, and answers that depend on them come as 'cases'. Results report 'exact' and any 'constraints' the value needs; special cases (partial or conditional solutions, no solution, infinitely many, infinity, undefined, no limit) add 'outcome' and 'note'.
datetime_current read operation timezone source_timezone target_timezone datetime_str datetime_ms days format Get current time, convert timezones, and perform date arithmetic. Supports UTC and IANA timezone conversions, custom datetime formatting, and epoch milliseconds.
hash read text algorithm encoding Generate cryptographic hashes (MD5, SHA1, SHA256, SHA512) of text input
message_parse read file_id document_id file_path platform max_messages Parse chat exports from messaging platforms: WhatsApp, Telegram, Discord, Signal, Facebook Messenger, MSN Messenger. Supports .txt, .json, .xml, .csv, .html, and .zip files. Provide file_id (from /v1/files upload), document_id (RAG document), or file_path under workspace_path.
random_generate read type min max length charset choices count Generate random numbers, UUIDs, strings, or make random selections
text_stats read text Analyze text and return statistics: character count, word count, token count, sentence count, reading time
unit_convert read value from_unit to_unit category Convert values between units: temperature, length, weight, data sizes

Hardware

3 tools. See Hardware tools for usage guidance.

Tool Flags Arguments Description
hardware_benchmark admin write approve action device_id run_id profile temperature_limit_celsius history_limit OpenCL GPU benchmark and stress tool. profile=soaibench runs certified SoAI Bench for comparable validation; profile=stress_test runs the stress workload for thermal or instability hunting. Requires approval. Poll status until the run is terminal.
hardware_control admin write approve action device_id settings Inspect GPU control capabilities and apply supported power/fan/clock settings. Call list first to inspect each GPU's supported controls and capability ranges, then set only supported controls. Tune one control at a time in small steps, use 'auto' or reset_clocks to undo clock changes, then validate with hardware_benchmark before choosing final settings. Requires approval.
hardware_snapshot read components include_processes Return a live hardware snapshot from SoAI (CPU/RAM/GPU temps and usage, plus disk space for the SoAI installation path). Use this before GPU tuning to identify device_id, vendor, temperature, utilization, VRAM usage, power, clocks, and system memory pressure.

Secrets vault

5 tools. See Secrets vault for usage guidance.

Tool Flags Arguments Description
vault_delete write approve credential_id Delete a credential from the encrypted vault by id. Requires approval.
vault_list read none List encrypted vault credentials (metadata only).
vault_login_request approve url label_suggestion profile session_scope Request credentials via the WebUI and optionally save them to the encrypted vault. This tool requires approval and never returns secrets; it returns an opaque secret_handle plus save metadata only.
vault_search read query Search encrypted vault credentials by label (metadata only).
vault_secret_request none current_page_url title message allow_save_to_vault Request credentials from the WebUI without returning secrets to the model. The tool may optionally offer save-to-vault and returns only an opaque secret_handle plus optional saved credential metadata.

Related documentation