Files
OpenJarvis/docs/api/tools.md
T
Jon Saad-FalconandClaude Opus 4.6 eb9b481510 Subsume NanoClaw into OpenJarvis (Phase 11)
Add four major components that bring NanoClaw's capabilities into the
OpenJarvis framework as native, config-driven modules:

- ClaudeCodeAgent: wraps @anthropic-ai/claude-code SDK via Node.js subprocess
- WhatsAppBaileysChannel: bidirectional WhatsApp messaging via Baileys protocol
- ContainerRunner/SandboxedAgent: Docker sandbox with mount security enforcement
- TaskScheduler: cron/interval/once scheduling with SQLite persistence, MCP tools, CLI

New config sections: [sandbox], [scheduler], [channel.whatsapp_baileys].
New CLI: jarvis scheduler create|list|pause|resume|cancel|logs|start.
46 files changed, ~5,867 lines. 2078 tests pass (36 skipped).

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-25 03:47:07 +00:00

180 lines
3.8 KiB
Markdown

# Tools Module
The tools module implements the tool system used by agents for executing
actions such as calculations, memory search, file reading, and sub-model
queries. Each tool implements the `BaseTool` ABC and is registered via
`@ToolRegistry.register("name")`. The `ToolExecutor` dispatches tool calls
with JSON argument parsing, latency tracking, and event bus integration.
## Abstract Base Class
### BaseTool
::: openjarvis.tools._stubs.BaseTool
options:
show_source: true
members_order: source
### ToolSpec
::: openjarvis.tools._stubs.ToolSpec
options:
show_source: true
members_order: source
### ToolExecutor
::: openjarvis.tools._stubs.ToolExecutor
options:
show_source: true
members_order: source
### build_tool_descriptions
::: openjarvis.tools._stubs.build_tool_descriptions
options:
show_source: true
---
## Built-in Tools
### CalculatorTool
::: openjarvis.tools.calculator.CalculatorTool
options:
show_source: true
members_order: source
### safe_eval
::: openjarvis.tools.calculator.safe_eval
options:
show_source: true
### ThinkTool
::: openjarvis.tools.think.ThinkTool
options:
show_source: true
members_order: source
### RetrievalTool
::: openjarvis.tools.retrieval.RetrievalTool
options:
show_source: true
members_order: source
### LLMTool
::: openjarvis.tools.llm_tool.LLMTool
options:
show_source: true
members_order: source
### FileReadTool
::: openjarvis.tools.file_read.FileReadTool
options:
show_source: true
members_order: source
---
## Storage Tools
Tools that expose memory storage operations for use by agents via the tool
system. These wrap the memory backend methods as `BaseTool` implementations.
### MemoryStoreTool
::: openjarvis.tools.storage_tools.MemoryStoreTool
options:
show_source: true
members_order: source
### MemoryRetrieveTool
::: openjarvis.tools.storage_tools.MemoryRetrieveTool
options:
show_source: true
members_order: source
### MemorySearchTool
::: openjarvis.tools.storage_tools.MemorySearchTool
options:
show_source: true
members_order: source
### MemoryIndexTool
::: openjarvis.tools.storage_tools.MemoryIndexTool
options:
show_source: true
members_order: source
---
## Scheduler Tools
MCP tools for scheduling agent tasks for future or recurring execution. All five tools are in the `scheduler` category and require a `TaskScheduler` instance to be injected at `_scheduler`. For usage and schedule type examples see the [Scheduler Tools user guide](../user-guide/tools.md#scheduler-tools).
### ScheduleTaskTool
::: openjarvis.scheduler.tools.ScheduleTaskTool
options:
show_source: true
members_order: source
### ListScheduledTasksTool
::: openjarvis.scheduler.tools.ListScheduledTasksTool
options:
show_source: true
members_order: source
### PauseScheduledTaskTool
::: openjarvis.scheduler.tools.PauseScheduledTaskTool
options:
show_source: true
members_order: source
### ResumeScheduledTaskTool
::: openjarvis.scheduler.tools.ResumeScheduledTaskTool
options:
show_source: true
members_order: source
### CancelScheduledTaskTool
::: openjarvis.scheduler.tools.CancelScheduledTaskTool
options:
show_source: true
members_order: source
---
## MCP Adapter
Integration with the Model Context Protocol (MCP). The MCP adapter exposes
OpenJarvis tools as MCP-compatible resources and allows consuming external
MCP tool providers. Supports MCP protocol version 2025-11-25.
### MCPToolAdapter
::: openjarvis.tools.mcp_adapter.MCPToolAdapter
options:
show_source: true
members_order: source
### MCPToolProvider
::: openjarvis.tools.mcp_adapter.MCPToolProvider
options:
show_source: true
members_order: source