# tools

> **Module** in `langchain_community`

📖 [View in docs](https://reference.langchain.com/python/langchain-community/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.

**Class hierarchy:**

.. code-block::

    ToolMetaclass --> BaseTool --> <name>Tool  # Examples: AIPluginTool, BaseGraphQLTool
                                   <name>      # Examples: BraveSearch, HumanInputRun

**Main helpers:**

.. code-block::

    CallbackManagerForToolRun, AsyncCallbackManagerForToolRun

## Methods

- [`StdInInquireTool()`](https://reference.langchain.com/python/langchain-community/tools/StdInInquireTool)
- [`authenticate()`](https://reference.langchain.com/python/langchain-community/tools/authenticate)

---

[View source on GitHub](https://github.com/langchain-ai/langchain-community/blob/4b280287bd55b99b44db2dd849f02d66c89534d5/libs/community/langchain_community/tools/__init__.py)