# Overview

{% embed url="<https://github.com/lensesio/kafka-connect-smt/releases>" %}
SMT Releases
{% endembed %}

Lenses provides several SMTs designed for use with Stream Reactor connectors, you can also use them with other connectors or your own.

These SMTs are designed to be used with the [Kafka Connect](https://kafka.apache.org/documentation/#connect) framework. The SMTs create record headers. The advantage of using headers is that they reduce the memory and CPU cycles required to change the payload. See for example the Kafka Connect [TimestampConverter](https://github.com/apache/kafka/blob/5c2492bca71200806ccf776ea31639a90290d43e/connect/transforms/src/main/java/org/apache/kafka/connect/transforms/TimestampConverter.java#L50). Furthermore, they support [Stream-Reactor S3](/latest/connectors/kafka-connectors/sinks/aws-s3.md) sink partitioners, for scenarios like:

* Partitioning by the system clock (e.g. using the system clock as a partition key with a yyyy-MM-dd-HH format)
* Partitioning by a rolling window (e.g. every 15 minutes, or one hour)
* Partitioning by a custom timestamp (e.g. a timestamp field in the payload, record Key or Value)
* Partitioning by a custom timestamp with a rolling window (e.g. a timestamp field in the payload, every 15 minutes, or one hour)

## Installation

### SMT installation on Lenses platform

Add the plugin to the worker `classloader` isolation via the **`plugin.path`** option:

```properties
plugin.path=/usr/share/connectors,/opt/smt
```

### SMT installation on MSK connect

For MSK connect you need to bundle your SMT with the connector you need to use and deploy as one plugin.

To do so, download your connector to get the jar (unzip if needed), download [the SMT](https://github.com/lensesio/kafka-connect-smt/releases) (unzip it). Put both jar in the same folder, and zip them altogether.

This zip (containing both jars at the same level) must be uploaded as a plugin in MSK connect.


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.lenses.io/latest/connectors/single-message-transforms/overview.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
