# tools

> **Module** in `langchain_core`

📖 [View in docs](https://reference.langchain.com/python/langchain-core/tools)

Tools are classes that an Agent uses to interact with the world.

Each tool has a description. Agent uses the description to choose the right tool for the
job.

## Properties

- `FILTERED_ARGS`
- `ToolsRenderer`

## Methods

- [`import_attr()`](https://reference.langchain.com/python/langchain-core/tools/import_attr)
- [`create_schema_from_function()`](https://reference.langchain.com/python/langchain-core/tools/create_schema_from_function)
- [`convert_runnable_to_tool()`](https://reference.langchain.com/python/langchain-core/tools/convert_runnable_to_tool)
- [`tool()`](https://reference.langchain.com/python/langchain-core/tools/tool)
- [`render_text_description()`](https://reference.langchain.com/python/langchain-core/tools/render_text_description)
- [`render_text_description_and_args()`](https://reference.langchain.com/python/langchain-core/tools/render_text_description_and_args)
- [`create_retriever_tool()`](https://reference.langchain.com/python/langchain-core/tools/create_retriever_tool)

---

[View source on GitHub](https://github.com/langchain-ai/langchain/blob/8215039dea978372bd3fd95b88663a11b0159043/libs/core/langchain_core/tools/__init__.py)