The document describes the KNITTER system, which implements the KQML agent communication language in Erlang to allow for the development of complex multi-agent systems. KNITTER features a modular architecture that separates different components like the conversation manager, transport protocols, and agent name service as plug-in modules. This allows KNITTER to interoperate with other KQML implementations and provides flexibility to change or add different modules as needed. The goal of KNITTER is to bring the benefits of KQML-based agent communication to the Erlang programming language.