# tinker_cookbook.tool_use.types.Tool ## *class* [**tinker_cookbook.tool_use.types.Tool**](https://github.com/thinking-machines-lab/tinker-cookbook/blob/main/tinker_cookbook/tool_use/types.py#L30)(*Protocol*) Protocol for tools that can be used by LLM agents. ### *property* [**name**](https://github.com/thinking-machines-lab/tinker-cookbook/blob/main/tinker_cookbook/tool_use/types.py#L34) Tool name shown to the model. **Returns:** *str* ### *property* [**description**](https://github.com/thinking-machines-lab/tinker-cookbook/blob/main/tinker_cookbook/tool_use/types.py#L39) Tool description shown to the model. **Returns:** *str* ### *property* [**parameters_schema**](https://github.com/thinking-machines-lab/tinker-cookbook/blob/main/tinker_cookbook/tool_use/types.py#L44) JSON Schema for tool parameters shown to the model. **Returns:** *dict[str, Any]* ### [**run**](https://github.com/thinking-machines-lab/tinker-cookbook/blob/main/tinker_cookbook/tool_use/types.py#L48)(*input*) Execute the tool with validated arguments. Returns a ToolResult. **Parameters:** - [**input**](https://github.com/thinking-machines-lab/tinker-cookbook/blob/main/tinker_cookbook/tool_use/types.py#L48) (*[ToolInput](https://tinker-docs.thinkingmachines.ai/cookbook/api-reference/tool_use/toolinput/index.md)*) **Returns:** *[ToolResult](https://tinker-docs.thinkingmachines.ai/cookbook/api-reference/tool_use/toolresult/index.md)* ### [**to_spec**](https://github.com/thinking-machines-lab/tinker-cookbook/blob/main/tinker_cookbook/tool_use/types.py#L52)() Convert to ToolSpec for renderer integration. **Returns:** *ToolSpec* ## Referenced by - [tinker_cookbook.tool_use.AgentToolMessageEnv](https://tinker-docs.thinkingmachines.ai/cookbook/api-reference/tool_use/agenttoolmessageenv/index.md) - [tinker_cookbook.tool_use.build_agent_tool_env](https://tinker-docs.thinkingmachines.ai/cookbook/api-reference/tool_use/build_agent_tool_env/index.md) - [tinker_cookbook.tool_use.handle_tool_call](https://tinker-docs.thinkingmachines.ai/cookbook/api-reference/tool_use/handle_tool_call/index.md)