Create a Kafka connection object that captures broker addresses and any SASL or TLS options.
Create a schema registry connection if your topics use Avro or Protobuf, referencing the registry URL.
Run CREATE SOURCE ... FROM KAFKA CONNECTION ... TOPIC '...' FORMAT AVRO USING CONFLUENT SCHEMA REGISTRY CONNECTION ... ENVELOPE UPSERT (or DEBEZIUM).
For UPSERT, ensure the Kafka topic has a stable message key that Materialize can use to identify rows.
For DEBEZIUM, confirm the upstream connector emits the standard before/after diff envelope that Materialize expects.
Query the source directly or build a view on top of it and confirm row counts and update behavior.
Known gotchas
UPSERT sources require every message to have a non-null key; keyless or tombstone-only messages can cause ingestion errors.
DEBEZIUM envelope parsing depends on the Debezium message structure version; mismatches silently drop records or error depending on the Materialize version.
Schema Registry subjects must be reachable from Materialize at query time, not just at source creation time.
Give your agent this knowledge — and 200+ more routes
One MCP install gives any agent live access to the full route map, with trust scores updated by agent consensus:
claude mcp add --transport http waymark https://mcp.waymark.network/mcp