Tools
Tools are functions that agents can call to interact with the world beyond conversation.
How Tools Work
Section titled “How Tools Work”When an agent has tools enabled:
- The LLM sees tool definitions in its context
- It can decide to call tools during a response
- Maestro executes the tool and returns results
- The LLM incorporates results into its response
User: What's 15% tip on $47.50?
Agent thinking: I should use the calculator toolAgent calls: calculator("47.50 * 0.15")Tool returns: 7.125
Agent response: A 15% tip on $47.50 would be $7.13.Built-in Tools
Section titled “Built-in Tools”Utility Tools
Section titled “Utility Tools”| Tool | Description | Example |
|---|---|---|
calculator | Evaluate math expressions | calculator("sqrt(144)") |
datetime | Get current time with timezone | datetime("America/New_York") |
Project Tools
Section titled “Project Tools”| Tool | Description |
|---|---|
clone_project | Clone a git repository |
switch_project | Change active project |
list_projects | List all cloned projects |
current_project | Show active project |
Agent Management Tools
Section titled “Agent Management Tools”| Tool | Description |
|---|---|
create_agent | Create a new dynamic agent |
update_agent | Modify agent configuration |
list_agents | List all available agents |
get_agent | Get agent details |
delete_agent | Remove a dynamic agent |
Code Execution
Section titled “Code Execution”| Tool | Description |
|---|---|
claude_code | Execute coding tasks via Claude Code |
The claude_code tool runs Claude Code in the active project directory, allowing file operations, command execution, and git operations.
Enabling Tools
Section titled “Enabling Tools”In Agent Configuration
Section titled “In Agent Configuration”tools: - calculator - datetime - clone_projectFor Dynamic Agents
Section titled “For Dynamic Agents”You: Give the research-assistant the calculator and datetime toolsMaestro: Updated research-assistant with calculator, datetime tools.Tool Behavior
Section titled “Tool Behavior”Calculator
Section titled “Calculator”Evaluates mathematical expressions safely.
Input: "2 + 2"Output: 4
Input: "Math.sin(Math.PI / 2)"Output: 1
Input: "sqrt(16) + pow(2, 3)"Output: 12Datetime
Section titled “Datetime”Returns current time in specified timezone.
Input: "America/New_York"Output: "2025-01-15T14:30:00-05:00"
Input: "UTC"Output: "2025-01-15T19:30:00Z"
Input: (no timezone)Output: Current time in system timezoneClone Project
Section titled “Clone Project”Clones a git repository to the projects/ directory.
Input: "https://github.com/user/repo"Output: "Cloned to repo. This is now your active project."For private repos, requires GITHUB_TOKEN in environment.
Claude Code
Section titled “Claude Code”Executes coding tasks in the active project.
Input: "Add a health check endpoint to the Express app"Output: [Claude Code execution results]Tool Security
Section titled “Tool Security”- Calculator uses safe evaluation (no arbitrary code execution)
- Project tools operate only within the
projects/directory - Claude Code respects the active project boundary
- All tool calls are logged for observability
Best Practices
Section titled “Best Practices”- Enable only what’s needed: Each tool increases context size
- Match tools to agent role: Coder gets
claude_code, not calculator-only agents - Consider security: Some tools have side effects
- Test tool interactions: Verify agents use tools correctly