Skip to main content

Tools Reference

Tool schemas are registered from their implementation modules and filtered by toolset, configuration, and each tool's availability check. The schema returned by await model_tools.get_tool_definitions(...) is the canonical runtime contract.

Core retained tools

ToolRequired inputPurpose
terminalcommandRun a command with the retained local terminal backend
processactionInspect, poll, write to, or stop background processes
read_filepathRead text or supported file content
write_filepath, contentWrite a file subject to safety checks
patchmodeApply structured file patches
search_filespatternSearch file names or contents
web_searchquerySearch through the configured web provider
web_extracturlsExtract content from one or more URLs
x_searchquerySearch public X content through xAI; opt-in
vision_analyzeimage_url, questionAnalyze an image
image_generatepromptGenerate an image through the selected provider plugin
execute_codecodeRun bounded Python orchestration over enabled Hermes tools
skills_listnoneDiscover available skills
skill_viewnameLoad one skill document
skill_manageaction, nameCreate, edit, patch, or remove a skill
memorytargetRead or modify persistent memory/user-profile content
session_searchnoneSearch persisted sessions and messages
todononeMaintain turn planning state
clarifyquestionAsk the host user for clarification through a callback
delegate_tasknoneLaunch one or more child-agent tasks; each task requires a goal
text_to_speechtextSynthesize an audio file through the configured TTS provider
computer_useactionDrive a cua-driver desktop session, subject to approval

Media and service tools

ToolRequired inputAvailability
video_analyzevideo_url, questionOpt-in video toolset
video_generatepromptSelected video-generation provider
xai_video_editprompt, video_urlxAI video-generation provider
xai_video_extendprompt, video_urlxAI video-generation provider
bfl_flux3_text_to_videopromptBFL/Nous managed gateway
bfl_flux3_image_to_videoprompt, input_imageBFL/Nous managed gateway
bfl_flux3_keyframes_to_videoprompt, input_images, keyframe_indicesBFL/Nous managed gateway
bfl_flux3_video_continuationprompt, input_videoBFL/Nous managed gateway
bfl_flux3_get_resultidExisting BFL job
bfl_flux3_prompting_guidenoneBFL toolset enabled
ha_list_entitiesnoneHASS_TOKEN configured
ha_get_stateentity_idHASS_TOKEN configured
ha_list_servicesnoneHASS_TOKEN configured
ha_call_servicedomain, serviceHASS_TOKEN configured

text_to_speech returns synthesized media; speaker playback belongs to the removed CLI/gateway UI and is not a separate library API. computer_use requires the external cua-driver runtime even though its compatibility extra does not add another Python package.

Browser tools

When a browser backend is configured, the browser toolset can expose:

  • browser_navigate
  • browser_snapshot
  • browser_click
  • browser_type
  • browser_scroll
  • browser_back
  • browser_press
  • browser_get_images
  • browser_vision
  • browser_console
  • browser_cdp
  • browser_dialog

Browser schemas vary by operation and provider capability. Read the live schema instead of hard-coding optional parameters in a host.

MCP tools

Each discovered MCP tool is registered dynamically as:

mcp__<server>__<tool>

Its parameter schema comes from the MCP server and is normalized for provider compatibility. MCP resource and prompt utility tools are added only when the server advertises those capabilities and configuration allows them.

See MCP Configuration.

When the configured tool schema would be large, the model-facing list may use the bridge tools tool_search, tool_describe, and tool_call. They do not create new capabilities: they defer schemas for tools already available to the agent. Calls are validated against the underlying schema before dispatch.

Availability checks

Registration does not guarantee that a tool is callable. check_fn gates provider credentials, browser readiness, callbacks, and other prerequisites. Unavailable tools are omitted from the model-facing list.

Hosts should enable only the toolsets needed by a conversation. A smaller list reduces prompt footprint and limits accidental capability exposure.

Async execution

Tool handlers on the retained active path are awaited directly. Parallel-safe calls may overlap, but result messages retain model-call order. Interactive, stateful, or safety-sensitive calls remain sequential. A synchronous-only tool transport fails explicitly. File-backed tools still inherit the documented aiofiles executor limitation; they are event-loop nonblocking but must not be described as zero-thread or OS-native regular-file I/O.

See Tools and Toolsets and Toolsets Reference.