# tinker_cookbook.tool_use.FunctionTool ## *class* [**tinker_cookbook.tool_use.FunctionTool**](https://github.com/thinking-machines-lab/tinker-cookbook/blob/main/tinker_cookbook/tool_use/tools.py#L157)() A tool created from a decorated function or method. Implements the Tool protocol. Used internally by the @tool decorator. ### *property* [**parameters_schema**](https://github.com/thinking-machines-lab/tinker-cookbook/blob/main/tinker_cookbook/tool_use/tools.py#L207) JSON Schema for tool parameters. **Returns:** *dict[str, Any]* ### [**to_spec**](https://github.com/thinking-machines-lab/tinker-cookbook/blob/main/tinker_cookbook/tool_use/tools.py#L211)() Convert to ToolSpec for renderer integration. **Returns:** *ToolSpec* ### [**run**](https://github.com/thinking-machines-lab/tinker-cookbook/blob/main/tinker_cookbook/tool_use/tools.py#L219)(*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/tools.py#L219) (*[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)* ## Referenced by - [tinker_cookbook.tool_use.tools.tool](https://tinker-docs.thinkingmachines.ai/cookbook/api-reference/tool_use/tools_tool/index.md)