Agents can use tools to carry out specific tasks, from simple ones that facilitate interactions between the user and the agent (such as asking clarification questions) to more complex ones that allow the user to interact with an external API (such as getting information about a ticket in Jira for example).
Adding a tool to an agent is not mandatory but it can be beneficial depending on your use case. Agents without any tools will only use the selected LLM model to generate an answer.