# Tools

The Matter SDK provides tools that allow you to generate and manage different
aspects of the Matter development.

## C++ tools

Source files for these tools are located at `src/tools`.

```{toctree}
:glob:
:maxdepth: 1

../src/tools/chip-cert/README
../src/tools/spake2p/README

```

## Python tools

Source files for these tools are located at `scripts/tools`.

### General tools

```{toctree}
:glob:
:maxdepth: 1

../scripts/tools/memory/README
../scripts/tools/spake2p/README
../scripts/tools/ELF_SIZE_TOOLING

```

### NXP tools

```{toctree}
:glob:
:maxdepth: 1

../scripts/tools/nxp/factory_data_generator/README
../scripts/tools/nxp/ota/README

```

### Silabs tools

```{toctree}
:glob:
:maxdepth: 1

../scripts/tools/silabs/README
../scripts/tools/silabs/ota/README
../scripts/tools/silabs/factory_data_generator/README

```

### Telink tools

```{toctree}
:glob:
:maxdepth: 1

../scripts/tools/telink/readme

```
