Skip to main content

Module tools

Module tools 

Source

Modules§

attribution
Centralized Attributable impls for every concrete Tool defined in zeroclaw-runtime. See the sibling file in zeroclaw-tools for the rationale; same pattern.
cron_add
cron_list
cron_remove
cron_run
cron_runs
cron_update
delegate
file_read
model_switch
read_skill
schedule
security_ops
Security operations tool for managed cybersecurity service (MCSS) workflows.
send_message_to_peer
Agent-loop tool that sends a message to a configured peer on a shared channel.
shell
skill_http
HTTP-based tool derived from a skill’s [[tools]] section.
skill_tool
Shell-based tool derived from a skill’s [[tools]] section.
sop_advance
sop_approve
sop_execute
sop_list
sop_status
spawn_subagent
Agent-loop tool that spawns an ephemeral SubAgent inheriting the parent’s identity, security policy, and memory allowlist, runs a focused prompt, and returns the response. Cron’s JobType::Agent dispatch is the other SubAgent spawn site; both funnel through crate::subagent::SubAgentSpawn so permission inheritance, tracing-span shape, and audit attribution stay uniform.
verifiable_intent
Verifiable Intent tool — exposes VI verification and constraint evaluation to the agent orchestration loop.

Structs§

ActivatedToolSet
Per-conversation mutable state tracking which deferred tools have been activated (i.e. their full schemas have been fetched via tool_search). The agent loop consults this each iteration to decide which tool_specs to include in the LLM request.
AllToolsResult
Bundled return values from tool registry construction.
ArcToolRef
Thin wrapper that makes an Arc<dyn Tool> usable as Box<dyn Tool>.
AskUserTool
Agent-callable tool for sending a question to a user and waiting for their response.
BackupTool
Workspace backup tool: create, list, verify, and restore timestamped backups with SHA-256 manifest integrity checking.
BrowserDelegateTool
Tool that delegates browser-based tasks to a browser-capable CLI subprocess.
BrowserOpenTool
Open approved HTTPS URLs in the system default browser (no scraping, no DOM automation).
BrowserTool
Browser automation tool using pluggable backends.
CalculatorTool
CanvasStore
Shared canvas store — holds all active canvases.
CanvasTool
CanvasTool — agent-callable tool for the Live Canvas (A2UI) system.
ChannelSendTool
Tool that sends a message through a configured channel.
ClaudeCodeRunnerTool
Spawns Claude Code inside a tmux session with HTTP hooks that POST tool execution events back to ZeroClaw’s gateway endpoint, enabling live Slack progress updates and SSH session handoff.
ClaudeCodeTool
Delegates coding tasks to the Claude Code CLI (claude -p).
CloudOpsTool
Read-only cloud operations advisory tool.
CloudPatternsTool
Tool that suggests cloud patterns given a workload description.
CodexCliTool
Delegates coding tasks to the Codex CLI (codex -q).
ComposioTool
A tool that proxies actions to the Composio managed tool platform.
ComputerUseConfig
Computer-use sidecar settings.
ContentSearchTool
Search file contents by regex pattern within the workspace.
CronAddTool
CronListTool
CronRemoveTool
CronRunTool
CronRunsTool
CronUpdateTool
DataManagementTool
Workspace data lifecycle tool: retention status, time-based purge, and storage statistics.
DeferredMcpToolSet
Collection of all deferred MCP tool stubs discovered at startup. Provides keyword search for tool_search.
DelegateTool
Tool that delegates a subtask to a named agent with a different model_provider/model configuration. Enables multi-agent workflows where a primary agent can hand off specialized work (research, coding, summarization) to purpose-built sub-agents.
DiscordSearchTool
Search Discord message history stored in discord.db.
DiscoveredCli
A discovered CLI tool with metadata.
EscalateToHumanTool
Agent-callable tool for escalating situations to a human operator with urgency routing.
FileDownloadTool
FileEditTool
Edit a file by replacing an exact string match with new content.
FileReadTool
Read file contents with workspace sandboxing.
FileUploadBundleTool
FileUploadTool
FileWriteTool
Write file contents with path sandboxing
GeminiCliTool
Delegates coding tasks to the Gemini CLI (gemini -p).
GitOperationsTool
Git operations tool for structured repository management. Provides safe, parsed git operations with JSON output.
GlobSearchTool
Search for files by glob pattern within the workspace.
GoogleWorkspaceTool
Google Workspace CLI (gws) integration tool.
HardwareBoardInfoTool
Tool: return full board info (chip, architecture, memory map) for agent/Telegram.
HardwareMemoryMapTool
Tool: report hardware memory map for connected boards.
HardwareMemoryReadTool
Tool: read memory at address from connected Nucleo via probe-rs.
HttpRequestTool
HTTP request tool for API interactions. Supports GET, POST, PUT, DELETE methods with configurable security.
ImageGenTool
Standalone image generation tool using fal.ai (Flux / Nano Banana models).
ImageInfoTool
Tool to read image metadata and optionally return base64-encoded data.
JiraTool
Tool for interacting with the Jira REST API.
KnowledgeTool
Tool for managing a knowledge graph of patterns, decisions, lessons, and experts.
LinkedInTool
LlmTaskTool
Tool that runs a single prompt through an LLM and optionally validates the response against a JSON Schema. No tools are provided to the LLM — this is a pure text-in, text-out (or JSON-out) call.
McpRegistry
Registry of all connected MCP servers, with a flat tool index.
McpToolWrapper
A zeroclaw Tool backed by an MCP server tool.
MemoryExportTool
Bulk-export memories as a JSON array for GDPR Art. 20 data portability.
MemoryForgetTool
Let the agent forget/delete a memory entry
MemoryPurgeTool
Let the agent bulk-delete memories by namespace or session
MemoryRecallTool
Let the agent search its own memory
MemoryStoreTool
Let the agent store memories — its own brain writes
Microsoft365Tool
ModelRoutingConfigTool
ModelSwitchTool
NotionTool
Tool for interacting with the Notion API — query databases, read/create/update pages, and search the workspace. Each action is gated by the appropriate security operation (Read for queries, Act for mutations).
OpenCodeCliTool
Delegates coding tasks to the OpenCode CLI (opencode run).
PathGuardedTool
Wraps any Tool and blocks calls whose arguments contain a forbidden path.
PipelineTool
The execute_pipeline tool that runs multi-step tool chains.
PollTool
ProjectIntelTool
Project intelligence tool for consulting project management.
ProxyConfigTool
PushoverTool
RateLimitedTool
Wraps any Tool and enforces the SecurityPolicy rate limit.
ReactionTool
Agent-callable tool for adding or removing emoji reactions on messages.
ReadSkillTool
Compact-mode helper for loading a skill’s source file on demand.
ReportTemplateTool
Standalone report template tool.
ScheduleTool
Tool that lets the agent manage recurring and one-shot scheduled tasks.
SchemaCleanr
JSON Schema cleaner optimized for LLM tool calling.
ScreenshotTool
Tool for capturing screenshots using platform-native commands.
SecurityOpsTool
Security operations tool — triage alerts, run playbooks, parse vulns, generate reports.
SendMessageToPeerTool
Send a message to a peer on a shared channel. Bound to a single calling agent’s alias; the tool validates every send against that agent’s resolved peer set.
SessionDeleteTool
Permanently deletes a session and all its messages. The session key becomes invalid and must be recreated for new conversations.
SessionResetTool
Resets a session by clearing its message history. The session key remains valid for new messages. Useful for cleaning up stale conversations without deleting the session entry itself.
SessionsCurrentTool
Returns the session key and metadata for the currently active session. Reads the session key from the TOOL_LOOP_SESSION_KEY task-local, which is scoped around gateway and channel agent turns.
SessionsHistoryTool
Reads the message history of a specific session by ID.
SessionsListTool
Lists active sessions with their channel, last activity time, and message count.
SessionsSendTool
Sends a message to a specific session, enabling inter-agent communication.
ShellTool
Shell command execution tool with sandboxing
SkillBuiltinTool
A skill tool that delegates execution to another tool resolved from the resolution registry — either a built-in (kind = "builtin") or an MCP tool (kind = "mcp"). This is the skill-scoped tool elevation mechanism: a policy blocking shell by name (or deferred MCP tools hidden from the model) does not block my_skill__use_shell, because the wrapper is registered under the prefixed name {skill}__{tool} and delegates to the resolved target.
SkillHttpTool
A tool derived from a skill’s [[tools]] section that makes HTTP requests.
SkillShellTool
A tool derived from a skill’s [[tools]] section that executes shell commands.
SopAdvanceTool
Report a step result and advance an SOP run to the next step.
SopApproveTool
Approve a pending SOP step that is waiting for operator approval.
SopExecuteTool
Manually trigger an SOP by name. Returns the run ID and first step instruction.
SopListTool
Lists all loaded SOPs with their triggers, priority, step count, and active runs.
SopStatusTool
Query SOP execution status — active runs, finished runs, or a specific run by ID.
SpawnSubagentTool
Spawn an ephemeral SubAgent that inherits the parent agent’s identity and runs a focused prompt under the same alias.
TextBrowserTool
Text browser tool: renders web pages as plain text using text-based browsers (lynx, links, w3m). Ideal for headless/SSH environments where graphical browsers are unavailable.
ToolResult
Result of a tool execution
ToolSearchTool
Built-in tool that fetches full schemas for deferred MCP tools.
ToolSpec
Description of a tool for the LLM
VerifiableIntentTool
Tool for verifying Verifiable Intent credential chains and evaluating constraints against fulfillment data.
WeatherTool
Fetches weather data from wttr.in — no API key required, global coverage.
WebFetchTool
Web fetch tool: fetches a web page and converts HTML to plain text for LLM consumption.
WebSearchTool
Web search tool for searching the internet. Supports multiple model_providers: DuckDuckGo (free), Brave (requires API key), Tavily (requires API key), SearXNG (self-hosted, requires instance URL).

Enums§

CleaningStrategy
Schema cleaning strategies for different LLM model_providers.

Constants§

ALLOWED_CONTENT_TYPES
Allowed content types for canvas frames via the REST API.
BUILTIN_TOOL_INTEGRATIONS
Always-on built-in tools that surface in the integrations panel as (display_name, description) pairs. The integrations registry consumes this verbatim — adding a new always-on built-in is one row here, no edit to the registry. Tools with a config struct (Browser, Cron, GoogleWorkspace) declare themselves via the #[integration(...)] attribute on the schema struct instead.
MAX_CONTENT_SIZE
Maximum content size per canvas frame (256 KB).

Traits§

Tool
Core tool trait — implement for any capability.

Functions§

all_tools
Create full tool registry including memory tools and optional Composio
all_tools_with_runtime
Create full tool registry including memory tools and optional Composio.
build_deferred_tools_section
Build the <available-deferred-tools> section for the system prompt. Lists only tool names so the LLM knows what is available without consuming context window on full schemas. Includes an instruction block that tells the LLM to call tool_search to activate them.
build_deferred_tools_section_filtered
collect_mcp_elevation_arcs
Build resolution-only MCP tool wrappers for skill MCP elevation (kind = "mcp").
default_tools
Create the default tool registry
default_tools_with_runtime
Create the default tool registry with explicit runtime adapter.
discover_cli_tools
Discover available CLI tools on the system. Scans PATH for known tools and returns metadata for each found.
register_skill_tools
Register skill-defined tools into an existing tool registry.
register_skill_tools_with_context
Register skill-defined tools with full context for builtin kinds.

Type Aliases§

ChannelMapHandle
Shared handle giving tools late-bound access to the live channel map.
DelegateParentToolsHandle
Shared handle to the delegate tool’s parent-tools list. Callers can push additional tools (e.g. MCP wrappers) after construction.
PerToolChannelHandle
Per-tool channel-map handle — Arc<RwLock<HashMap<channel_name, channel>>>.