// the find
aklivity/zilla
🦎 A lightweight, multi-protocol gateway for event-driven applications and AI agents. Expose and govern Kafka, MQTT, APIs, and MCP through one high-performance engine with shared routing, security, schema, and observability.
Zilla is a Java gateway that exposes Kafka and MQTT to clients that cannot speak those protocols directly, over HTTP, SSE, gRPC, MQTT, or WebSocket. Its newer MCP mode puts AI agents in front of MCP servers, REST APIs, and Kafka through one endpoint. It suits platform teams already running Kafka or MQTT who would rather declare routing, auth, and schema checks in one zilla.yaml than maintain custom bridges.
- The REST-over-Kafka quickstart is the concrete win. One docker compose file and a YAML route turn a topic into a CRUD resource, so browser and script clients never need a Kafka client library.
- Cache-enabled Kafka routes fetch once and serve many downstream consumers. That cuts broker fetch load when many clients read the same topic, which is the fan-out case most proxies handle badly.
- The engine design is deliberate. Connections stay pinned to one worker, bindings pass back-pressured frames through shared memory, and the flyweight-maven-plugin in the tree generates the typed buffer accessors. That is the right shape for a proxy on the hot path.
- MCP tool names are namespaced as toolkit__capability, so two providers that both expose create_pr do not collide. It is a small detail, but it is the one that breaks first once you wire up more than one provider.
- The license is the Aklivity Community License, not an OSI-approved one. It permits running and modifying Zilla in production but bars offering it as a standalone Zilla-as-a-service product. Fine for internal use; read the text before building a product on it.
- Shared state across replicas is a paid feature. The README puts Redis or Hazelcast stores for MCP listings and authorization, advanced OAuth grants, and secure Kafka access in Zilla Plus, and says nothing about consistency across replicas in Community.
- The MCP half is labelled new, and the README describes Zilla 2.0 as still ahead. The Kafka side has the longer track record, so treat the MCP features as early until they show up in a tagged release you have tested.
- The README is mostly links. Config semantics, guard options, and binding details live on docs.aklivity.io, and the examples folder is the only in-repo reference. Expect to read the external docs and examples before writing a non-trivial zilla.yaml.