Why One Kafka Connector Should Replace 200: How AI Is Finally Fixing the Integration Sprawl Problem
Sion Smith20 March 2026
Blogs13 mins read
Updated November 2026: We have restructured this March 2026 launch post and checked it against the current kafka-connect-ai code. We corrected the batch and Snowflake sink configuration keys, updated the metrics list, replaced fixed model prices with relative costs, and clarified how Debezium compares.
In March 2026 we open-sourced kafka-connect-ai: a single, Apache 2.0 licensed Kafka Connect connector that replaces hundreds of single-purpose connectors with 12 protocol adapters and an LLM-powered transformation pipeline.
Four ideas make it practical. Compiled transforms let the LLM generate reusable transformation code (declarative mappings at about 500 ns per record, sandboxed GraalVM JavaScript at about 2 μs per record) instead of calling the model for every record. 4-tier model routing sends simple records to the cheapest capable model, or bypasses the LLM entirely for deterministic transforms. Semantic caching with Redis vector similarity removes duplicate LLM calls. PII masking strips sensitive fields before they reach the model.
What is the Kafka connector sprawl problem?
Ask any Kafka engineer what keeps them up at night, and it is rarely the broker. It is Connect: the ever-expanding sprawl of connector JARs, configuration models, dependency conflicts and version mismatches that builds up in every mature Kafka deployment until it becomes a full-time job.
200 connectors, one fundamental operation
OSO engineers regularly walk into organisations running fifteen to twenty different connector JARs in a single Kafka Connect cluster. Each has its own version, its own transitive dependencies and its own classpath conflicts with the others. Maintaining that ecosystem (updating JARs, resolving dependency collisions, debugging serialisation mismatches) can take two to three engineers who should be building pipelines.
Every connector also brings a new mental model. The JDBC connector structures its configuration differently from the HTTP connector. The S3 connector has its own authentication surface. The Elasticsearch connector has its own idea of index routing. There is no unified configuration language, so knowledge does not transfer: expertise with the Salesforce connector gives an engineer nothing useful when diagnosing the MongoDB connector.
Licensing has turned sprawl into a strategic risk
Apache Kafka itself remains Apache 2.0, but many connectors have followed a different path. The Confluent Community License, introduced in 2018, covers Schema Registry, ksqlDB and a significant part of the connector catalogue, and prohibits offering those components as competing SaaS products. Premium connectors go further: mission-critical integrations such as Oracle CDC sit behind enterprise subscriptions.
The risks are concrete:
Licensing terms on connectors you use today may change.
Costs rise once you are locked into a platform.
Moving away from connector-specific investments is slow and expensive.
Innovation may slow as the contributing organisation’s priorities shift.
kafka-connect-ai is Apache 2.0 licensed: no community licence, no premium tier and no enterprise restrictions on the open source connector.
Why build Kafka connectors around protocols, not products?
After more than thirty enterprise Kafka engagements, OSO engineers reached a conclusion that runs against the way the Connect ecosystem grew: the connector-per-system model is a category error. The right abstraction is the protocol.
What changes between Salesforce and HubSpot is not the protocol; both speak REST over HTTP. What changes between PostgreSQL and MySQL is not the protocol; both speak JDBC. What changes is the configuration surface and the shape of the data. Build a clean implementation of each protocol once, and let AI handle the per-system transformation. kafka-connect-ai ships with 12 protocol adapters:
Adapter
Covers
Key capabilities
HTTP REST
REST and SaaS APIs
5 auth modes, 5 pagination strategies
JDBC
SQL databases
4 query modes, auto-DDL, upsert
Kafka
Cross-cluster replication
Kafka-to-Kafka bridge and migration
MongoDB
Document stores
Change streams
Warehouse
Snowflake, Redshift, BigQuery
Cloud analytics sinks
gRPC
gRPC services
Protobuf service definitions
Streaming
WebSocket, SSE, CometD
Real-time event sources
Redis
Streams, Pub/Sub, key-value
Redis data model
Cassandra
Wide-column stores
CQL native protocol
Kinesis
AWS event streaming
Kinesis and DynamoDB Streams sources, Kinesis sink
LDAP
Directory services
Identity and organisation sync
SAP
Enterprise ERP
RFC calls (profile-gated)
Each adapter covers a whole category of systems. Adding a new integration within a category is a configuration change, not a development project.
How do compiled transforms make AI transformation affordable?
kafka-connect-ai is not an AI wrapper on top of existing connectors. It is a purpose-built transformation pipeline in which the LLM generates code, not just data, and that code is cached and reused for every later record with the same schema shape.
Compiled transforms
Traditional approaches call the LLM for every record. kafka-connect-ai takes a different approach: the LLM generates transformation code, not transformed data. That code is compiled, validated against sample records, cached by schema fingerprint and reused.
There are two execution tiers for compiled code:
Declarative mappings (about 500 ns per record): pure Java with no scripting engine. Handles field renames, JSONPath mappings, defaults and type casts.
Sandboxed JavaScript (about 2 μs per record after JIT warm-up): GraalVM Polyglot with no file system, network or host access, a configurable memory limit (10 MB by default) and execution timeout (100 ms by default). Handles complex transformations with conditional logic.
4-tier model routing
Not every record needs the same model. With routing enabled, kafka-connect-ai sends each batch to the cheapest tier that can handle it:
Tier
Model (configurable)
When
Relative cost
T0
Deterministic, no LLM
Field renames, type casts, timestamp formatting
Free
T1
Fast model (default Claude Haiku 4.5)
Simple flat records
Lowest
T2
Default model (your configured model)
Moderate complexity
Medium
T3
Powerful model (default Claude Opus 4.6)
Complex nested structures
Highest
Model prices change often, so check your provider’s current pricing; the connector tracks spend per call in its cost metric.
Cost optimisation stack
Five layers work together to minimise LLM spend:
Layer
Mechanism
Savings
Compiled transforms
LLM generates code once, cached by schema fingerprint
Near 100% after the first records per schema
Tier 0 deterministic
Renames and type casts with no LLM call
100%
Tier 1 fast model
Simple records routed to the fast model
Large saving versus the default model
Semantic cache
Redis vector similarity deduplicates LLM calls
100% per cache hit
Prompt caching
Anthropic caches repeated system prompts
About 50% of input tokens
How does kafka-connect-ai protect data and stay observable?
PII masking
Sensitive fields are masked before data reaches the LLM and restored after transformation:
Configure masking by field name (case-insensitive) or by regex pattern. Because masked values never leave your infrastructure, it supports GDPR data-minimisation requirements when you use a hosted LLM provider.
Production observability
Every stage of the pipeline is instrumented with Micrometer and exposed over JMX:
How do you adopt kafka-connect-ai without a forklift migration?
kafka-connect-ai is a standard Kafka Connect connector. It runs inside your existing Connect cluster, alongside your existing connectors, and installs like any other connector JAR. There is no forklift migration.
Phase
What to move
Why
1
HTTP-based SaaS integrations
Highest-friction connectors: vendor API, auth and pagination changes become configuration updates
2
JDBC connectors
One adapter removes classpath conflicts and exposes inconsistent configuration
3
Specialised protocols
MongoDB, gRPC, Redis, Cassandra, Kinesis, streaming, LDAP, SAP and warehouses, without changing Kafka infrastructure
4
Licensing audit
Find connectors under the Confluent Community License, enterprise subscriptions or managed pricing, and quantify the cost
Start with phase 1, where the operational pain is greatest. In phase 4, kafka-connect-ai being Apache 2.0 means you can run it on-premises, in the cloud or as a service without licensing constraints. For managed Connect on AWS, see our MSK Connect guide.
How does kafka-connect-ai compare with other Kafka connectors?
Sub-millisecond latency: the first LLM call for each new schema shape adds latency (100 ms to 5 s). Compiled transforms bring later records down to microseconds, but that first call is unavoidable.
Full CDC from the write-ahead log: for database replication with transaction ordering, Debezium is purpose-built. kafka-connect-ai’s JDBC adapter uses polling queries.
Binary data: kafka-connect-ai works with JSON. For Avro, Protobuf or binary payloads, use specialised connectors.
Purely structural transforms: if all you need is renames and type casts, Kafka Connect SMTs are simpler, although Tier 0 handles them too.
What should you do next?
The connector-per-system model was a pragmatic answer to a 2015 problem. Today it is a source of operational overhead, licensing risk and organisational fragility: hundreds of connectors, each encoding the same structural logic for a different product, each needing specialist knowledge. Protocols matter; products do not. What was missing was a transformation engine flexible enough to handle per-system differences without a separate codebase for each system, and smart enough to need the LLM once per schema shape rather than once per record.
Pick one high-friction HTTP or JDBC connector and run kafka-connect-ai alongside it.
Turn on routing, compiled transforms and caching, and watch the cost and router metrics.
Audit which of your connectors carry licensing or subscription exposure.
The project is open source, the adapter interface is designed for community contribution, and we welcome issues and pull requests. If you want help planning a connector consolidation, talk to OSO’s Kafka engineers.
Key takeaway: Kafka connectors mostly repeat the same work over a few protocols. Consolidate them into protocol adapters, let the LLM write transformation code once per schema shape, and route, cache and mask so AI-powered integration stays cheap and safe.
Frequently asked questions
What is kafka-connect-ai?
kafka-connect-ai is OSO’s open source, Apache 2.0 licensed Kafka Connect connector. It uses 12 protocol adapters and an LLM transformation pipeline, so you describe transformations in natural language instead of deploying a separate connector for every system.
How many Kafka connectors can kafka-connect-ai replace?
It replaces connectors by protocol rather than by product. One HTTP adapter covers REST and SaaS APIs, one JDBC adapter covers SQL databases, and so on across 12 adapters, so a cluster running dozens of single-purpose connectors can consolidate onto one.
Does kafka-connect-ai call the LLM for every record?
No. With compiled transforms enabled, the LLM generates transformation code once per schema shape, and that code runs for every later record in microseconds. Deterministic routing and semantic caching cut LLM calls further.
Is my data sent to the LLM provider?
Only what the transformation needs. PII masking replaces configured fields and regex matches with placeholders before the LLM call and restores them afterwards, so masked values never leave your infrastructure.
When should I use Debezium instead of kafka-connect-ai?
Use Debezium when you need log-based change data capture with transaction ordering from a database’s write-ahead log. kafka-connect-ai’s JDBC adapter polls tables, which suits integration and normalisation rather than full database replication.