AI Tools
Tool nodes provide capabilities that AI Agents can invoke during reasoning. Each tool defines a schema that the LLM understands and uses to decide when and how to call the tool.How Tools Work
- Connect Tool nodes to the AI Agent’s
input-toolshandle (diamond shape) - Agent discovers connected tools and their schemas
- LLM decides when to call tools based on the user’s request
- Tool executes and returns results to the agent
- Agent continues reasoning with the tool’s output
Available Tools
| Tool | Description | Use Case |
|---|---|---|
| Calculator | Math operations | Calculations, arithmetic |
| Current Time | Date/time with timezone | Scheduling, time-based logic |
| Timer | Set delays and timers | Rate limiting, scheduled pauses |
| Task Manager | Track delegated sub-agent tasks | Check status/results of child agents |
| Write Todos | Structured task-list planning | Multi-step task organization |
| Agent Builder | Grow the canvas at runtime | Add tools/skills/teammates mid-run |
| DuckDuckGo Search | Free web search (no API key) | Current information, research |
| Brave / Serper / Perplexity | API-key web search | Higher-quality search, AI answers |
| Android Toolkit | Android device control | Device automation |
| Agent Delegation | Delegate to a child agent | Complex sub-tasks |
Many nodes are dual-purpose - they work as standalone workflow nodes AND as AI Agent tools. Search nodes (Brave, Serper, Perplexity), the code executors (Python, Monty, JavaScript, TypeScript), WhatsApp, Telegram, Google Workspace, email, and browser nodes all fill the same tool schema when connected to an agent’s
input-tools handle. See Documents, WhatsApp, and AI Agents for those.Calculator Tool
Performs mathematical operations including basic arithmetic and advanced functions.Operations
| Operation | Description | Example |
|---|---|---|
| add | Addition | 5 + 3 = 8 |
| subtract | Subtraction | 10 - 4 = 6 |
| multiply | Multiplication | 6 * 7 = 42 |
| divide | Division | 20 / 4 = 5 |
| power | Exponentiation | 2^8 = 256 |
| sqrt | Square root | sqrt(16) = 4 |
| mod | Modulo | 17 % 5 = 2 |
| abs | Absolute value | abs(-5) = 5 |
Parameters
Tool identifier shown to the LLM
Description of the tool’s capabilities for the LLM
Schema (LLM View)
Example Interaction
Current Time Tool
Gets the current date and time with timezone support.Parameters
Tool identifier shown to the LLM
Description of the tool’s capabilities
Default timezone (e.g., “America/New_York”, “Europe/London”, “Asia/Tokyo”)
Schema (LLM View)
Output
Example Interaction
Timer Tool
The Timer node is a dual-purpose node that works both as a workflow delay node and as an AI Agent tool. When connected to an agent’sinput-tools handle, the agent can set timers and delays programmatically.
Parameters
Tool identifier shown to the LLM
Delay duration
Time unit: seconds, minutes, hours
Schema (LLM View)
Output
Example Interaction
The Timer node appears in both the Schedulers section (as a workflow node) and the Tools section (as an AI Agent tool). See Schedulers & Triggers for workflow usage.
Task Manager Tool
Tracks tasks delegated to child sub-agents. When a parent agent delegates work to a connected agent (fire-and-forget), it uses this tool to check on progress and results.Schema (LLM View)
Example Interaction
Write Todos Tool
Structured task-list planning for complex multi-step operations. The agent maintains a checklist of pending / in-progress / completed items, updating it as it works. This helps the agent stay organized and lets you watch progress in real time.Schema (LLM View)
Editable Current Todos Panel
When you select a Write Todos node, its parameter panel shows the LIVE todo list (shared by all Write Todos nodes in the same workflow). You can add, remove, edit text, or click an item to cycle its status - and the agent sees your edits on its next turn.Example Interaction
Agent Builder Tool
Lets an agent grow its own toolset at runtime by mutating the canvas. The LLM sees a singleagentBuilder tool with an operation selector.
| Operation | What it does |
|---|---|
| inspect_canvas | Read-only snapshot of nodes, edges, and what’s wired to the calling agent |
| add_tool | Spawn a tool node and wire it into the caller’s tools handle |
| add_skill | Toggle a skill on the caller’s Master Skill (creating one if needed) |
| add_subagent | Spawn a delegate agent and wire it to a team-lead’s teammates handle |
Tools added mid-run become callable on the agent’s next turn, not the current one - the agent loop binds tools at the start of each turn. Each operation’s summary ends with “Available on your next turn” so the agent knows to wait.
Web Search Tools
MachinaOs ships one free web-search tool plus three dual-purpose search nodes that also work as standalone workflow nodes.DuckDuckGo Search
Free web search - no API key required. Exposed to the agent as theweb_search tool.
The search query
Maximum number of results to return
Brave / Serper / Perplexity (dual-purpose, API key required)
These are dual-purpose nodes - they run as normal workflow search nodes AND as AI Agent tools when connected to the tools handle.| Node | Tool | Backend | Notes |
|---|---|---|---|
| Brave Search | brave_search | Brave Search API | Web results with titles, snippets, URLs |
| Serper Search | serper_search | Google via Serper API | Web / news / images / places search types + knowledge graph |
| Perplexity Search | perplexity_search | Perplexity Sonar AI | AI-generated answer with inline citations and source URLs |
Provider Comparison
| Feature | DuckDuckGo | Brave / Serper / Perplexity |
|---|---|---|
| Cost | Free | Paid (API key) |
| Setup | None | API key in Credentials |
| Result Quality | Good | Excellent |
Example Interaction
Android Toolkit
Gateway tool that aggregates Android service nodes for device control.Architecture
The Android Toolkit follows the Sub-Node pattern from n8n and Toolkit pattern from LangChain:android_device tool with capabilities based on connected services.
Parameters
Tool identifier shown to the LLM
Description of the toolkit’s capabilities
Schema (Dynamic)
The schema is built dynamically based on connected Android service nodes:Connecting Services
- Add Android service nodes (Battery Monitor, WiFi Automation, etc.)
- Connect them to the Android Toolkit’s main input
- Connect the Toolkit to the AI Agent’s tools handle
Tool Schema Editor
The Android Toolkit includes a schema editor for customizing how the LLM sees each service:- Select the Android Toolkit node
- Open the Tool Schema Editor
- Select a connected service
- Customize the description, fields, and types
- Save changes
Example Interaction
Available Services
When corresponding Android service nodes are connected:| Service | Actions | Description |
|---|---|---|
| battery | status | Battery level, charging state, health |
| wifi_automation | status, enable, disable, scan | WiFi control |
| bluetooth_automation | status, enable, disable, paired | Bluetooth control |
| location | get | GPS coordinates |
| app_launcher | launch | Launch apps by package name |
| app_list | list | Installed applications |
| audio_automation | get, set, mute, unmute | Volume control |
| camera_control | info, capture | Camera operations |
| motion_detection | get | Accelerometer/gyroscope data |
| environmental_sensors | get | Temperature, humidity, light |
Tool Execution Flow
When the AI Agent calls a tool:- Status broadcast -
executing_toolstatus sent to frontend - Tool node highlighted - Shows cyan border and pulse animation
- Handler executed - Backend runs the tool’s handler function
- Result returned - Output sent back to the agent
- Agent continues - Incorporates result into response
Tool Output in Variables
Tool outputs are available as template variables:Agent Delegation Tool
AI Agents and specialized agents can be connected as tools to parent agents, enabling hierarchical task delegation. MachinaOs ships 16 specialized agents (Android, Coding, Web, Task, Social, Travel, Tool, Productivity, Payments, Consumer, Autonomous, Orchestrator, AI Employee) plus the RLM, Claude Code, and Codex agents.How It Works
- Connect any agent to a parent agent’s
input-toolshandle - Parent calls
delegate_to_<agent_type>(task, context) - The child agent runs with its own connected tools, skills, and memory
- Team-lead agents (Orchestrator, AI Employee) delegate through a dedicated
input-teammateshandle
Schema
Example
delegate_to_coding_agent(task="Write a function to parse JSON")
Child agent executes independently with its own connected tools.
Creating Custom Tools
Custom tools are backend plugins. Each tool is a single self-contained folder underserver/nodes/tool/<name>/ rooted at __init__.py - a ToolNode subclass whose Pydantic Params model drives the LLM-visible schema. The plugin auto-registers on import; no frontend edits are needed.
Key steps:
- Create
server/nodes/tool/<name>/__init__.pywith aToolNodesubclass - Define a Pydantic
Paramsmodel (its fields become the tool’s LLM schema) - Implement the operation with an
@Operationmethod - Set
component_kind = "tool"and addgroup = ("tool", "ai")
server/nodes/README.md) and the Node Creation Guide in the repository for the full recipe.
Tips
Related
AI Agents
Connect tools to AI Agent
AI Skills
Skills that use tools
Android Nodes
16 Android service nodes
Webhooks
HTTP Request node