Tools Module
The stirrup.tools module provides tools, tool providers, and the default tool set.
DEFAULT_TOOLS
The standard set of tool providers included with every agent (unless overridden):
from stirrup.tools import DEFAULT_TOOLS
# DEFAULT_TOOLS contains:
# - LocalCodeExecToolProvider() → provides "code_exec" tool
# - WebToolProvider() → provides "web_fetch" and "web_search" tools
Built-in Tools
Simple tools that don't require lifecycle management:
stirrup.tools.calculator.CALCULATOR_TOOL
module-attribute
CALCULATOR_TOOL: Tool[
CalculatorParams, ToolUseCountMetadata
] = Tool[CalculatorParams, ToolUseCountMetadata](
name="calculator",
description="Evaluate mathematical expressions. Supports basic arithmetic operations (+, -, *, /, **, %, //).",
parameters=CalculatorParams,
executor=calculator_executor,
)
stirrup.tools.finish.SIMPLE_FINISH_TOOL
module-attribute
SIMPLE_FINISH_TOOL: Tool[
FinishParams, ToolUseCountMetadata
] = Tool[FinishParams, ToolUseCountMetadata](
name=FINISH_TOOL_NAME,
description="Signal task completion with a reason. Use when the task is finished or cannot proceed further. Note that you will need a separate turn to finish.",
parameters=FinishParams,
executor=lambda params: ToolResult(
content=reason, metadata=ToolUseCountMetadata()
),
)
stirrup.tools.finish.FinishParams
Bases: BaseModel
Explanation for why the task is complete or cannot proceed.
Tool Providers
Tool providers for lifecycle-managed tools:
- Web Tools -
WebToolProviderfor web fetch and search - Code Execution -
LocalCodeExecToolProvider,DockerCodeExecToolProvider,E2BCodeExecToolProvider - MCP -
MCPToolProviderfor MCP server integration - View Image -
ViewImageToolProviderfor viewing images