# Tool

> **Class** in `langchain_core`

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

Tool that takes in function or coroutine directly.

## Signature

```python
Tool(
    self,
    name: str,
    func: Callable | None,
    description: str,
    **kwargs: Any = {},
)
```

## Extends

- `BaseTool`

## Constructors

```python
__init__(
    self,
    name: str,
    func: Callable | None,
    description: str,
    **kwargs: Any = {},
) -> None
```

| Name | Type |
|------|------|
| `name` | `str` |
| `func` | `Callable \| None` |
| `description` | `str` |


## Properties

- `description`
- `func`
- `coroutine`
- `args`

## Methods

- [`ainvoke()`](https://reference.langchain.com/python/langchain-core/tools/simple/Tool/ainvoke)
- [`from_function()`](https://reference.langchain.com/python/langchain-core/tools/simple/Tool/from_function)

---

[View source on GitHub](https://github.com/langchain-ai/langchain/blob/9f232caa7a8fe1ca042a401942d5d90d54ceb1a6/libs/core/langchain_core/tools/simple.py#L31)