Skip to content

Tools

Tools are functions that agents can call to interact with the world beyond conversation.

When an agent has tools enabled:

  1. The LLM sees tool definitions in its context
  2. It can decide to call tools during a response
  3. Maestro executes the tool and returns results
  4. The LLM incorporates results into its response
User: What's 15% tip on $47.50?
Agent thinking: I should use the calculator tool
Agent calls: calculator("47.50 * 0.15")
Tool returns: 7.125
Agent response: A 15% tip on $47.50 would be $7.13.
ToolDescriptionExample
calculatorEvaluate math expressionscalculator("sqrt(144)")
datetimeGet current time with timezonedatetime("America/New_York")
ToolDescription
clone_projectClone a git repository
switch_projectChange active project
list_projectsList all cloned projects
current_projectShow active project
ToolDescription
create_agentCreate a new dynamic agent
update_agentModify agent configuration
list_agentsList all available agents
get_agentGet agent details
delete_agentRemove a dynamic agent
ToolDescription
claude_codeExecute 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.

config/my-agent.yaml
tools:
- calculator
- datetime
- clone_project
You: Give the research-assistant the calculator and datetime tools
Maestro: Updated research-assistant with calculator, datetime tools.

Evaluates mathematical expressions safely.

Input: "2 + 2"
Output: 4
Input: "Math.sin(Math.PI / 2)"
Output: 1
Input: "sqrt(16) + pow(2, 3)"
Output: 12

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 timezone

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.

Executes coding tasks in the active project.

Input: "Add a health check endpoint to the Express app"
Output: [Claude Code execution results]
  • 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
  1. Enable only what’s needed: Each tool increases context size
  2. Match tools to agent role: Coder gets claude_code, not calculator-only agents
  3. Consider security: Some tools have side effects
  4. Test tool interactions: Verify agents use tools correctly